OS/OS - Overview

멀티 프로그래밍을 위한 시간 공유 (Time Sharing for the Multi-Programming)

검정비니 2018. 9. 20. 07:34
728x90
반응형

멀티 프로그래밍을 위한 시간 공유 (Time Sharing for the Multi-Programming)




1. CPU의 낮은 이용률


-  하나의 응용 프로그램만 실행 시키게 되면 CPU가 계속 작업 상태에 있지는 않는다 (입출력 작업 때문에).

- 사용자의 입력을 기다려야 하는 경우 등이 생겨서 대기 시간이 생기게 되기 때문이다.




2. 멀티 프로그래밍 (Multi Programming)


- 여러 개의 응용 프로그램을 동시에 실행 시키는 것이다.

- CPU 이용률을 높일 수 있다.

- CPU가 게을러지는 것을 방지할 수 있다.

- 이 멀티 프로그래밍 방식을 이용하기 위해서 고안된 것이 시간 공유 기법이다.




3. 시간 공유 (Time Sharing)


- 컴퓨터가 멀티 태스킹(multi-tasking)을 하게 만들기 위한 기법이다.


- 여러 개의 작업을 빠르게 바꿔가면서 CPU가 동시에 여러 개의 작업을 수행하게 만든다.

- 사용자의 입장에서는 동시에 여러 개의 작업을 하는 것처럼 보이게 하기 위해서는 시간을 잘 나누어서 각 작업을 수행하게 만들어야 한다.

- 하나의 작업에 너무 오랜 시간을 사용하면 다른 작업들은 멈춘 것처럼 보이기 때문에, 시간 분배를 잘 해야 한다.

- 이 시간 분배를 잘 해주는 것이 바로 운영체제의 일부인 스케쥴러(scheduler)이다.


- 시간 공유 기법을 통해서 다수의 사용자들이 동시에 하나의 컴퓨터를 사용할 수 있게 된다.

반응형

'OS > OS - Overview' 카테고리의 다른 글

하드웨어 타이머 (Hardware Timer)  (0) 2018.09.24
운영체제 이중 동작 모드 (OS dual-mode operation)  (2) 2018.09.24
입출력 구조  (0) 2018.09.20
부팅 시 운영체제가 실행되는 과정  (2) 2018.09.20
운영체제란?  (0) 2018.09.20