일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Spring Boot
- java
- 취업
- 티스토리챌린지
- window11
- 방송대
- github
- git pull --rebase
- snake case
- camel case
- vmware workstation player
- 오블완
- window10
- 방통대
- 운영체제
- json string
- 런던뮤지컬
- 취성패
- 윈도우10 Education
- 자바
- 소비통장
- IAMPORT
- window10 Education
- window11 Education
- git 설정
- git
- 정처기
- ObjectMapper
- git pull
- 아임포트
- Today
- Total
홍차의 미로찾기
[방통대/운영체제] 스케줄링 단계와 정책 본문
목차
<1. 스케줄링>
1-1. 스케줄링 단계
1-2. 상위단계 스케줄링
1-3. 상위단계 스케줄링의 선택 기준
1-4. 하위단계 스케줄링
1-5. 중간단계 스케줄링
<2. 스케줄링 정책>
2-1. 스케줄링 기본 목표
2-2. 운영체제 종류에 따른 스케줄링 설정
2-3. 선점(Preemptive) 스케줄링 정책
2-4. 비선점(Nonpreemptive) 스케줄링 정책
<1. 스케줄링>
1-1. 스케줄링 단계
① 상위단계 스케줄링
② 하위단계 스케줄링
③ 중간단계 스케줄링
1-2. 상위단계 스케줄링
- 시스템에 들어오는 작업들을 선택하여 프로세스를 생성
- 생성한 프로세스를 프로세스 준비 큐에 전달
1-3. 상위단계 스케줄링의 작업 선택 기준
- 시스템의 자원을 효율적으로 이용할 수 있도록 하는 것
(자원을 효율적으로 이용할 수 있는 방향으로 작업들을 선택하여 프로세스를 생성)
- 입출력(I/O) 중심 작업과 연산 중심 작업을 균형있게 선택함
1-4. 하위단계 스케줄링
- 사용 가능한 CPU를 준비 상태의 어느 프로세스에게 배당할지를 결정
- CPU를 배당받은 프로세스는 결국 실행 상태가 되어 프로세스가 처리됨.
- 수행 주체 : 디스패처(dispatcher - 디스패칭하는 주체. 즉 cpu 할당하는 주체)
1-5. 중간단계 스케줄링
- 프로세스를 일시적으로 메모리에서 제거하여 중지시키거나 다시 활성화시킴
- 시스템에 대한 단기적인 부하를 조절
<2. 스케줄링 정책>
2-1. 스케줄링 기본 목표
① 공정성
- 모든 프로세스가 적정 수준에서 CPU 작업을 할 수 있게 함.
(하나의 프로세스만 자원을 많이 사용하거나 하지 않도록 함)
② 균형
- 시스템의 자원들이 충분히 활용될 수 있게 함
(CPU만 많이 사용하거나, I/O만 많이 사용하거나 하지 않도록 함)
2-2. 운영체제 종류에 따른 스케줄링 목표
① 일괄처리 운영체제
- 처리량의 극대화
- 반환시간의 최소화
- CPU 활용의 극대화
② 대화형 운영체제
- 빠른 응답시간
- 과다 대기시간 방지
③ 실시간 운영체제
- 처리 기한을 맞춤
2-3. 선점(Preemptive) 스케줄링 정책
- 진행 중인 프로세스에 인터럽트를 걸고 다른 프로세스에 CPU를 할당하는 스케줄링 전략
특징
- 높은 우선순위의 프로세스를 긴급하게 처리하는 경우에 유용
- 대화식 시분할 시스템에서 빠른 응답시간을 유지하는 데 유용
- 문맥 교환에 따른 오버헤드 발생
(문맥 교환이라는 추가 작업 때문에 시간 손해가 존재할 수 밖에 없음)
※ 문맥
- CPU의 모든 레지스터와 기타 운영체제에 따라 요구되는 프로세스의 상태
(CPU 정보인 레지스터 정보 등을 말한다. PC와 같은 레지스터가 어딘가에 저장되어 있어야 다시 실행 할 때 다음에 어떤 작업을 실행해야 할 지 알 수 있음)
※ 문맥 교환
- CPU의 현재 실행하고 있는 프로세스 문맥을 PCB에 저장하고
- 다음 프로세스의 PCB로부터 문맥을 복원하는 작업
2-4. 비선점(Nonpreemptive) 스케줄링 정책
- 프로세스가 CPU를 할당받아 실행이 시작되면 작업 자체가 I/O 인터럽트를 걸거나 작업을 종료할 때까지 실행 상태에 있게 됨
- 모든 프로세스가 공정하게 순서에 따라 실행됨 -> 응답시간 예측 가능
- 짧은 프로세스가 긴 프로세스를 기다리게 될 수 있음.
=> 운영체제 만드는 사람이 목표에 따라 스케줄링 방법을 선택해서 설정함!
'공부 > 운영체제' 카테고리의 다른 글
[방통대/운영체제] 3. 운영체제의 유형 (일괄처리/대화형/실시간/하이브리드) (0) | 2022.03.13 |
---|---|
[방통대/운영체제] 1. 하드웨어 제어 및 CPU 동작 모드 (0) | 2022.03.13 |
[방통대/운영체제] 2. 커널(Kernel) 이란? (0) | 2022.03.13 |
[방통대/운영체제] 스레드(thread)란? (0) | 2022.03.13 |
[방통대/운영체제] 프로세스란? (0) | 2022.03.13 |