운영체제

1. 세그먼테이션 기법1) 세그먼테이션• 가변 분할 방식을 이용한 가상 메모리 관리 기법으로, 물리 메모리를 프로세스 크기에 따라 가변적으로 나누어 사용함.• 페이징 기법과 마찬가지로 세그먼테이션 기법도 테이블을 사용하는데, 이를 세그먼테이션 테이블 또는 세그먼테이션 매핑 테이블이라고 함. 2) 세그먼테이션 테이블 (Segmentation Table)• Limit: 세그먼트의 크기를 나타냄.• Address: 물리 메모리상의 시작 주소를 나타냄.• 페이징 기법에서는 메모리를 같은 크기의 페이지 단위로 분할하기 때문에 크기 정보를 유지할 필요가 없지만, 세그먼테이션 기법에서는 프로세스 크기에 따라 • 메모리를 분할하기 때문에 크기 정보를 포함함.• 각 세그먼트가 주어진 메모리 영역을 넘어가면 안 되므로, ..
1. 메모리 오버레이 (Memory Overlay)• 정의: 프로그램의 크기가 실제 메모리보다 클 때, 프로그램 전체를 메모리에 적재하는 대신 필요한 부분만 적재하는 기법• 작동 방식: 실행 시 필요한 모듈만 메모리에 적재됨• 특징: 운영체제와 일부 영역에는 필수 명령어와 데이터만 저장하며, 나머지는 필요 시 적재• 사용 목적: 한정된 메모리에서 큰 프로그램을 실행할 수 있도록 함  2. 단일 프로그래밍 환경의 메모리 할당스왑(Swap)• 스왑 영역: 메모리가 부족할 때 프로세스를 임시 저장하는 공간• 스왑 인(Swap In): 스왑 영역에서 메모리로 데이터를 가져오는 작업• 스왑 아웃(Swap Out): 메모리에서 스왑 영역으로 데이터를 내보내는 작업• 작동 원리: 실행 완료된 프로세스를 디스크로 이동..
1. 메모리 관리 개요1) 메모리 관리 개념• 프로세스를 위해 메모리를 할당, 제거, 보호하는 활동• 프로그램을 실행하려면 메모리에 적재 후, 운영체제의 메모리 관리자가 예약된 메모리를 할당• 다중 프로그래밍 환경에서 여러 프로세스가 동시에 메모리에 상주할 수 있도록 동적 메모리 세분화 2) 메모리 계층 구조• 메모리는 컴퓨터 시스템 내에서 계층적으로 존재• CPU 레지스터 → CPU 캐시 → 메인 메모리 → 보조 기억 장치• 계층이 낮아질수록 용량 증가, 가격 저렴, 속도 저하- 메모리 계층 구조의 중심은 메인 메모리 메모리 계층별 특성구분용도용량타입속도가격휘발성CPU 레지스터몇 개의 명령과 데이터 저장바이트 단위, 1KB 미만SRAM고가OL1/L2 캐시코어별 명령과 데이터 저장KB 단위SRAM고가OL..
1. 교착 상태 해결1) 교착 상태 해결 방법• 예방(Prevention): 교착 상태를 유발하는 네 가지 조건(상호 배제, 비선점, 점유와 대기, 원형 대기) 중 하나라도 제거하는 방식.• 회피(Avoidance): 자원 할당을 조절하여 교착 상태를 피하는 방식.• 검출(Detection)과 회복(Recovery): 자원 할당 그래프를 모니터링하여 교착 상태를 감지하고 이후 회복하는 방식.   2. 교착 상태 예방과 회피1) 교착 상태 예방• 하벤더(Havender)의 예방 방법• 필요한 자원을 한 번에 모두 요청해야 함.• 점유한 자원을 반납해야만 추가 요청 가능.• 자원을 순서대로 할당. 교착 상태 예방 방법• 상호 배제 예방: 공유 가능한 자원을 만들지만, 현실적으로 어려움.• 비선점 예방: 자원..
1. 교착 상태 (Deadlock)1) 교착 상태의 정의• 교착 상태란, 두 개 이상의 프로세스가 서로의 작업이 끝나기를 기다리며 진행이 멈춘 상태를 의미함.• 운영체제가 해결하지 못하면 외부 개입(작업 교체, 종료)이 필요함.• 하나 이상의 작업이 영향을 받아 무한 대기 상태가 발생할 수 있음.• 비공유 자원을 사용하는 두 프로세스가 서로 기다릴 때 발생함.• 자원을 해제할 때까지 프로세스는 작업을 진행할 수 없음. 2) 기아 상태와 차이점• 기아 현상 (Starvation): 운영체제의 정책 문제로 특정 프로세스의 작업이 지속적으로 지연되는 현상.• 교착 상태: 여러 프로세스가 특정 자원을 서로 점유하고 대기하면서 자연적으로 발생하는 문제. 3) 시스템 자원과 교착 상태• 공유할 수 없는 자원을 사용..
1. 임계구역 문제 해결 방법1) 임계구역 문제와 해결 조건임계구역 문제를 해결하는 기본적인 방법은 잠금(lock)을 이용하는 것이다. 프로세스가 임계구역에 진입할 때 잠금을 설정하고, 작업이 끝난 후 해제하는 방식이다.임계구역 문제를 해결하려면 다음 세 가지 조건을 만족해야 한다. • 상호 배제: 한 번에 하나의 프로세스만 임계구역에 진입할 수 있어야 한다.• 한정 대기: 특정 프로세스가 영원히 임계구역에 진입하지 못하는 상황이 없어야 한다.• 진행의 융통성: 임계구역에 진입할 프로세스를 적절한 시점에 결정해야 한다.  2) 소프트웨어적 해결 방법• 전역 변수 lock: boolean 변수를 사용하여 잠금 상태를 관리한다.• 변수 balance: 임계구역에서 사용되는 공유 변수이다. 전역 변수를 이용한..
1. 프로세스 간 통신(IPC) 개념 및 종류1) 프로세스 간 통신(IPC)의 개념• 프로세스나 스레드는 독립적으로 실행되며, 협업 및 병렬 처리를 위해 데이터를 주고받아야 함.• 하나의 프로세스 내 스레드는 쉽게 데이터 공유가 가능하지만, 서로 다른 프로세스 간에는 메모리 영역이 다르므로 직접적인 데이터 공유가 어려움.• 운영체제는 프로세스 간 데이터를 주고받을 수 있도록 다양한 통신 방법을 제공하며, 이를 프로세스 간 통신(IPC; Inter Process Communication) 이라고 함.• IPC의 활용 예: 멀티 프로그래밍 환경, 네트워크에서 원격 서버와의 데이터 조회 2) 프로세스 간 통신(IPC)의 종류공유 메모리 및 공유 파일 통신• 일정한 메모리 영역 또는 파일을 공유하여 데이터 송수..
1. 스케줄링 알고리즘의 선택 기준1) 스케줄링 알고리즘 종류비선점형 알고리즘• FCFS (First Come First Served) 스케줄링• SJF (Shortest Job First) 스케줄링• HRN (Highest Response Ratio Next) 스케줄링 선점형 알고리즘• 라운드 로빈 (Round Robin) 스케줄링• SRT (Shortest Remaining Time) 스케줄링• 다단계 큐 (Multi-Level Queue) 스케줄링• 다단계 피드백 큐 (Multi-Level Feedback Queue) 스케줄링 비선점형 및 선점형 가능• 우선순위 (Priority) 스케줄링 2) 스케줄링 알고리즘의 평가 기준CPU 사용률• 전체 시스템의 동작 시간 중 CPU가 사용된 시간을 측정하는..
JIN-JJS
'운영체제' 태그의 글 목록