Divide and Conquer

CPU 스케줄링 관점에서의 운영체제 발전 본문

2025/임베디드&네트워크

CPU 스케줄링 관점에서의 운영체제 발전

10살 2024. 6. 4. 13:12
728x90

chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/https://os.korea.ac.kr/wp-content/uploads/2021/03/2021-OS_02-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-%EA%B0%9C%EC%9A%94.pdf

일괄처리(batch) Automatic job sequencing Spooling –초기해결책 Multiprogramming
- 사람이 job을 스케줄링함
- job이 시작되면 끝나야 다음 일이 수행
- 스케줄링을 담당하는 소프트웨어가 프로그램 실행
- I/O에의해CPU가유휴상태로전환되는문제는해결X
- I/O와computation을동시에진행할수있음
일괄처리(batch) > Automatic job sequencing > Spooling > Multiprogramming

Time sharing으로 CPU의 실행 시간을 나누어 실행
Time quantum == time slice

여러 작업이 CPU 스위칭을 통해 동시에 실행
스위칭이 매우 빈번하게 일어남

Multitasking
하나의 작업은(job) 동시에 실행할 수 있는 태스크로 나뉘어질 수 있음

사용자가 여러개의 프로그램을 실행 가능하게 하고
CPU가 유휴 상태일 때에는 백그라운드 작업을 실행 가능하도록 함


chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/http://expo.hknu.ac.kr/2021/_File/bbs/8/1638426538_8621.pdf


CPU 스케줄링: 프로세스에게 어떻게 CPU를 할당할 것인가
→ 메모리 내에 실행 준비가 된 프로세스들=레디 큐(ready queue)에 들어 있는 프로세스들 중 하나를 CPU에 할당

라운드 로빈(round robin) 스케줄링을 사용하는 경우, 타임 퀀텀(time quantum)을 8ms 이상이 좋을 것이라 예상 가능
→ 만약 타임퀀텀이 8ms보다 작을 경우, 컨텍스트 스위칭(context switching)이 더 많이 발생

라운드 로빈: 
Time Sharing System에서는 주기적으로 Context Switching을 진행한다
Running 상태의 프로세스가 I/O 작업을 수행하지 않더라도, 일정시간이 되면 Ready 상태로 만든다
= 일정 시간마다 프로세스가 강제로 교체된다
이 때 사용하는 스케줄링 방법이 라운드로빈 스케줄링
여기서 말하는 일정 시간이 타임 퀀텀 = time slice 
라운드로빈은 선점 스케줄링

 

 

https://m.blog.naver.com/bycho211/220982791510

https://blockdmask.tistory.com/28

반응형
Comments