without haste but without rest

[OS] 03. 프로세스 스케쥴링 본문

Computer Science/OS

[OS] 03. 프로세스 스케쥴링

JinungKim 2021. 7. 1. 11:45

1. 배치처리 시스템 - 프로세스 순차 실행

2. 시분할 시스템 - 어플리케이션이 CPU를 점유하는 시간을 잘개 쪼개어 실행될 수 있도록 하는 시스템 

3. 멀티 태스킹 - 단일 CPU에서 여러 응용프로그램이 동시에 실행되는 것처럼 보이도록 하는 시스템

 

멀티 태스킹과 멀티 프로세싱

 

1. 멀티 태스킹 - 단일CPU

2. 멀티 프로세싱 - 다중 CPU에 하나의 프로그램을 병렬로 실행해서 실행 속도를 극대화함

 

 

프로세스 스케쥴링

멀티 프로그래밍 - 최대한 CPU를 많이 활용하도록 하는 시스템 

 

목적

(1). 시간 대비 CPU 활용도를 높이자

(2). 응용 프로그램을 짧으느 시간 안에 실행 완료시킬 수 있다.

 

멀티 프로그래밍이 굳이 필요한 이유?

- 응용 프로그램은 온전히 CPU를 전부 사용하기 보다는 다른 작업을 중간에 필요로 하는 경우가 있다.

(1). 응용 프로그램이 실행되다가 저장 매체에서 파일 읽는 과정에서 CPU가 놀게 된다. (저장 매체에서 파일 읽는 속도가 CPU 속도 대비 많이 느림)

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

 

 

정리 

실제로는 시분할 시스템, 멀티 프로그래밍, 멀티 태스킹이 유사한 의미로 통용된다.

 

핵심

- 여러 프로그램이 실행 가능하도록 한다.

- 응용 프로그램이 동시에 실행되는 것처럼 보이도록함

- CPU를 쉬지 않고 응용 프로그램을 실행하도록 해서 짧은 시간 안에 응용 프로그램이 실행 완료될 수 있도록 한다.

- 컴퓨터 응답 시간도 짧게 해서 다중 사용자도 지원한다.

-

 

정리

- 시분할 시스템: 다중 사용자를 지원하여 컴퓨터 응답시간을 최소화하는 시스템

- 멀티 태스킹: 단일 CPU에서 여러 응용 프로그램을 동시에 실행하는 것처럼 보이게 하는 시스템

- 멀티 프로세싱: 여러 CPU에서 하나의 응용 프로그램을 병렬로 실행해서 실행속도를 높이는 기법

- 멀티 프로그래밍: 최대한 CPU를 일정 시간당 많이 활용하는 시스템

 

'Computer Science > OS' 카테고리의 다른 글

운영체제 요약  (0) 2021.12.05
[OS] 02. 시스템콜  (0) 2021.07.01
[OS] 01. 운영체제 개요  (0) 2021.06.30
[VM] VDI, VHD, VMDK 차이점  (0) 2020.03.01
Comments