이 글은 "쉽게 배우는 운영체제 (조성호 지음)"을 읽고 주관적으로 작성된 글입니다.
※ 요약
- CPU 스케줄링
- CPU 스케줄러가 프로세스가 생성된 후 종료될 때까지 모든 상태 변호를 조정하는 일
- CPU 스케줄러가 프로세스가 생성된 후 종료될 때까지 모든 상태 변호를 조정하는 일
- 스케줄링의 단계
- CPU 스케줄링의 규모에 따른 분류
- 고수준 스케줄링
- 시스템 내의 전체 프로세스 수를 조절 - 중간 수준 스케줄링
- 과부하를 막기 위해 활성화된 프로세스 수를 조절 - 저수준 스케줄링
- CPU에 할당하고 대기 상태로 보낼 프로세스를 결정
- 스케줄링 목적
- 공평성
- 모든 프로세스가 자원을 공평하게 나누고, 자원을 받지 못하는 프로세스가 없어야 함 - 효율성
- 자원의 유휴 시간을 없애고, 자원 사용을 원하는 프로세스에게 우선권을 줌 - 안정성
- 중요한 프로세스에 우선순위를 주고 자원을 점유/손상하려는 프로세스로부터 자원 보호 - 확장성
- 한정된 자원에서 프로세스가 증식해도 안정적인 시스템 유지
- 자원이 늘어나는 경우 혜택 반영 - 반응 시간 보장
- 사용자를 위한 반응 시간 보장
- 사용자는 반응 시간이 느리면 시스템이 멈춘 것으로 판단함 - 무한 연기 방지 (Starvation)
- 특정 프로세스의 작업이 무한히 연기되는 것을 방지
- 공평성
- 스케줄링 시 고려사항
- 우선순위가 높은 프로세스에 CPU를 먼저 할당해야함
- 우선순위가 높은 프로세스
- 커널 프로세스
- 전면 프로세스 : 사용자와 현재 상호작용(입출력)하는 프로세스(창)
- 대화형 프로세스
- 입출력 집중 프로세스 : I/O로 suspend되는 프로세스 - 우선순위가 낮은 프로세스
- 일반 프로세스
- 후면 프로세스 : Background 프로세스 (압축 등)
- 일괄 작업 프로세스
- CPU 집중 프로세스 : CPU를 할당받아야 처리
- 다중 큐
- 효율적인 프로세스 관리를 위해 다수의 큐를 운영하는 것
- 준비상태 프로세스
- 각 우선순위를 담당하는 큐를 운영 - 대기상태 프로세스
- 각 요구하는 입출력을 담당하는 큐 운영
- 스케줄링 알고리즘
- FCFS (First Come First Start)
- 준비 큐에 도착한 순서대로 CPU에 할당
- 비선점형 - SJF (Shortest Job First)
- 실행 시간이 가장 짧은 순서대로 CPU에 할당
- 비선점형 - HRN (Highest Response ratio Next)
- 대기 시간과 사용 시간을 고려하여 스케줄링
- 우선순위 = 대기시간 + 사용시간 / 사용시간
- 비선점형 - RR (Round Robin)
- 할당된 시간이 끝나면 작업중인 프로세스를 준비 큐로 push하는 방식
- 선점형 - SRT (Shortest Remaining Time)
- RR기반에서 남은 작업시간이 가장 적은 프로세스를 선택하는 방식
- 선점형 - 우선순위 스케줄링
- 프로세스의 우선순위를 반영하여 CPU에 할당
- 선점형/비선점형 - 다단계 큐 스케줄링
- 우선순위에 따라 준비 큐를 여러개 사용
- 비선점형 - 다단계 피드백 큐 스케줄링
- 다단계 큐 기반에서 CPU를 사용한 프로세스의 우선순위를 낮추는 방식
- FCFS (First Come First Start)
1. 스케줄링의 개요
1) 식당 관리자의 스케줄링
- 쩜
- 쩜
2) 스케줄링의 단계
- 쩜
- 쩜
3) 스케줄링의 목적
- 쩜
- 쩜
2. 스케줄링 시 고려 사항
1) 선점형 스케줄링과 비선점형 스케줄링
- 쩜
- 쩜
2) 프로세스 우선순위
- 쩜
- 쩜
3) CPU 집중 프로세스와 입출력 집중 프로세스
- 쩜
- 쩜
4) 전면 프로세스와 후면 프로세스
- 쩜
- 쩜
5) 정리
- 쩜
- 쩜
3. 다중 큐
1) 준비 상태의 다중 큐
- 쩜
- 쩜
2) 대기 상태의 다중 큐
- 쩜
- 쩜
4. 스케줄링 알고리즘
1) 스케줄링 알고리즘의 선택 기준
- 쩜
- 쩜
2) FCFS 스케줄링
- 쩜
- 쩜
3) SJF 스케줄링
- 쩜
- 쩜
4) HRN 스케줄링
- 쩜
- 쩜
5) 라운드 로빈 스케줄링
- 쩜
- 쩜
6) SRT 우선 스케줄링
- 쩜
- 쩜
7) 우선순위 스케줄링
- 쩜
- 쩜
8) 다단계 큐 스케줄링
- 쩜
- 쩜
9) 다단계 피드백 큐 스케줄링
- 쩜
- 쩜
5. [심화학습] 인터럽트 처리
1) 인터럽트의 개념
- 쩜
- 쩜
2) 동기적 인터럽트와 비동기적 인터럽트
- 쩜
- 쩜
3) 인터럽트 처리 과정
- 쩜
- 쩜
4) 인터럽트와 이중 모드
- 쩜
- 쩜
'책읽기' 카테고리의 다른 글
[파이썬 알고리즘 인터뷰] 8장 - 연결 리스트 (0) | 2021.07.22 |
---|---|
[쉽게 배우는 운영체제](요약)[Part-2][Ch-5] 프로세스 동기화 (0) | 2021.07.22 |
[데이터 분석을 위한 SQL 레시피](작성중)[3장] 데이터 가공을 위한 SQL (0) | 2021.07.21 |
[쉽게 배우는 운영체제](요약)[Part-2][Ch-3] 프로세스와 스레드 (0) | 2021.07.20 |
[스프링 인 액션][Part-1 스프링 기초][Ch-2] 웹 애플리케이션 개발하기 (0) | 2021.07.20 |