[42OStudy] Chapter 1: 운영체제 개요 (2)
Chapter 1: 운영체제 개요 (2)
운영체제의 기능인 CPU 스케줄링, 메모리 관리, 디스크 스케줄링과 운영체제의 종류에 대해 알아본다.
키워드
- CPU 스케줄링
- 메모리 관리
- 디스크 스케줄링
내용 정리
📘 스케줄링의 목적
- 공평성: 모든 프로세스가 자원을 공평하게 배정받아야 하며, 특정 프로세스가 배제되어서는 안된다.
- 효율성: 시스템 자원을 놀리는 시간 없이 스케줄링해야 한다.
- 안정성: 우선순위를 사용하여 중요한 프로세스가 먼저 처리되도록 해야 한다.
- 반응 시간 보장: 응답이 없는 경우 사용자는 시스템이 엄춘 것으로 가정하기 때문에 시스템은 적절한 시간 안에 프로세스의 요구에 반응해야 한다.
- 무한 연기 방지: 특정 프로세스의 작업이 무한히 연기되어서는 안된다.
1. CPU 스케줄링
모든 프로세스가 공평하게 작업할 수 있도록 프로세스가 생성된 후 종료될 때까지 모든 상태 변화를 조정하는 일.
알고리즘 종류
- FCFS(First Come First Served): 선입선출 방식, 모든 프로세스의 우선순위가 동일한 비선점형 방식. 하지만 CPU 처리 시간이 긴 프로세스가 먼저 올 경우 뒤의 프로세스가 기다리는 시간이 길어짐으로 이를 콘보이 효과(Convoy effect)라고 한다.
- SJF(Shortest Job First): 준비 큐에 있는 프로세스 중 실행 시간이 가장 짧은 작업부터 CPU를 할당하는 비선점형 방식.
📘 비선점형 방식이란?
비선점형 기법은 특정한 프로세스의 작업이 끝날 때까지 CPU를 독점하는 기법.
- RR(Round Robin): 프로세스에게 각각 동일한 CPU 할당 시간을 부여해서 이 시간동안만 CPU를 이용할 수 있게 하는 선점형 방식. 위의 두 방식은 CPU 처리 시간을 계산해야 하지만 RR 방식은 계산하지 않아도 된다.
- 누가 CPU 처리 시간을 계산하는가?
CPU 계산식이 있고 CPU 처리 시간에 대해서 OS가 계속 기록하고 있음으로 OS가 CPU 처리 시간을 계산하는 듯…?
- 누가 CPU 처리 시간을 계산하는가?
2. 메모리 관리
한정된 메모리를 어떻게 쪼개어 쓸지 결정하는 과정
- 가상 메모리
- 디스크(파일시스템)
- 디스크(스왑영역)
- LRU vs LFU
3. 디스크 스케줄링
디스크에 들어온 요청을 어떤 순서로 처리할지 결정하는 과정.
- 디스크 접근 시간(access time)의 구성
- 탐색 시간(seek time): 헤드를 해당 트랙(실린더)으로 움직이는데 걸리는 시간
- 회전 지연(rotational latency): 헤드가 원하는 섹터에 도달하기까지 걸리는 시간
- 전송 시간(transfer time): 실제 데이터의 전송 시간
- 디스크 스케줄링
- seek time을 최소화하는 것이 목표
- seek time = seek distance
알고리즘 종류
- FCFS(First Come First Served)
- SSTF(Shortest Seek Time First)
- SCAN
댓글남기기