운영체제

[운영체제 6] 스케줄링 알고리즘

광규니 2021. 4. 1. 17:36
반응형

* 배치 처리 시스템

: 자동으로 다음 응용 프로그램이 실행되게 하는 것 ( 큐 구조)

 

 큐(Queue) : First In First Out 

 

단점 : A 프로그램이 실행이 시간이 너무 오래걸려서, B 프로그램이 실행하는데 시간을 많이 기다려야한다.

 

-> 단점을 극복하고자 멀티 프로그래밍 / 시분할 시스템이 나왔다.

 

* 시분할 시스템 (다중 사용자 지원, 응답시간 최소화)

 - > 다중 사용자 지원을 위해 컴퓨터 응답시간을 최소화 하는 시스템

Application 1 Application 2 3

1 2 3 1 2 1 2 2 2

 

* 멀티 태스킹

-> 단일 CPU,여러 응용 프로그램이 동시에 실행되는 것처럼 보이도록 하는 시스템

 

ex ) MP3음악을 들으며, 문서작성을 하게 되면

       MP3  |   문서  | MP3 | 문서

       10~20ms 단위로 실행 응용 프로그램을 바꾸게 되면, 사용자에게 동시에 실행 되는 것처럼 보임

 

* 멀티 프로세싱 : 여러 CPU에 하나의 프로그램을 병렬로 실행해서 실행속도를 극대화시키는 시스템

 

* 멀티 프로그래밍

: 최대한 CPU를 많이 활용하도록 하는 시스템

 - 시간 대비 cpu활용도를 높이자.

 - 응용 프로그램을 짧은 시간 안에 실행 완료를 한다.

 

온전히 CPU를 쓰기보다, 다른 작업을 중간에 필요로 하는 경우가 많다.

 ex) 응용 프로그램이 실행되다가 파일을 읽는다.

       응용 프로그램이 실행되다가 프린팅을 한다.

CPU App3 App 1 App 1 App 1 App 3

위와 같이 App 3이 쭉 실행되는게 아니라 저장매체에서 파일을 읽을 때, 이 시간동안 App1을 작업한다.

 

시분할 시스템, 멀티 태스킹, 멀티 프로그래밍 -> 유사한 의미로 통용

반응형