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 |