본문 바로가기
computer

스케쥴링 - 멀티 프로그래밍

by 유순이 2021. 6. 15.

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

- 시간대비 CPU 활용도를 높힌다.

- 응용 프로그램을 짧은 시간 안에 실행 완료하는 것을 가능케 한다.

 

응용 프로그램은 온전히  CPU를 사용하기보다, 다른 작업들을 중간에 필요로 하는 경우가 많다.
- 응용 프로그램이 실행되다가 파일을 읽거나, 프린틀를 하거나 등등

응용 프로그램이 다른 작업들을 수행할 때에  CPU가 놀게되면 CPU 활용도가 현저히 낮아진다.

그래서

멀티 프로그래밍일 사용하여, CPU를 활용할 수 있다.

다른 응용 프로그램을 그 시간에 돌린다.

 

 


메모리 계층

 

 

 

DMA : CPU가 다녀오기 너무 멀어서 심부름 시키고 자기는 다른 일 한다.

 

CPU 안에 register, cache 등등 있다.


실제로는 시분할 시스템, 멀티 프로그래밍, 테스킹 3가지 모두 혼용한다. >> 유사한 의미로 통용된다.

 

즉,

 

이 세 가지 모두, 여러 응용 프로그램의 실행을 가능토록 한다.

CPU를 쉬지 않고 활용도를 높힌다.

짧은 시간 안에 응용 프로그램이 실행 완료가 되도록 한다.

컴퓨터 응답 시간도 빠르게 한다.

다중 이용자도 가능하게 한다.

 

시분할 시스템: 다중 사용자 지원, 컴퓨터 응답 시간 최소화

멀티 테스킹: 단일  CPU에서 여러 응용 프로그램을 동시에 사용하는 것 '처럼' 보이게 만드는 것

멀티 프로세싱: 다중 CPU에서 하나의 응용 프로그램을 병렬로 실행하여 실행 속도를 높히는 것

멀티 프로그래밍:  CPU를 단위 시간당 활용도를 최대한 높히는 것

 

'computer' 카테고리의 다른 글

스케쥴링 알고리즘 2  (0) 2021.06.16
스케쥴링 알고리즘  (0) 2021.06.16
스케쥴링  (0) 2021.06.15
운영 체제의 구조  (0) 2021.06.15
운영 체제 2  (0) 2021.06.14

댓글