본문 바로가기
Operating System

Operating System

by mangstory 2021. 4. 10.

OS의 주목적

- Convenience : user에게 편리성 제공

- Efficiency : hardware를 관리, 실행하는 효율성

- Ability to evolve : 발전가능성

 

OS is a

- Mediator : software와 hardware를 중재하며, 프로그래머에게 편리한 interface를 제공한다.

- Resource manager : os는 컴퓨터자원을 관리할 필요가 있다.

 

<OS의 발전과정>

Serial Processing -> Simple batch -> Multiprogrammed batch system -> Time sharing

과거에는 시스템 이용률을 최대화 하기 위한 목적으로 OS 개발

현대에는 인간의 생산성을 높이는 것이 주목적. 평균 response time 중요

 

1. Serial Processing

- 진공관, 펀치카드/테이프 , light/printer 등을 사용한 과거의 컴퓨터 시스템

- Os가 없다 : 인간이 os의 역할을 함 -> 수동으로 모든 작업이 이루어짐

- Job to job transition : job수행이 끝나야 다른 job수행

- 모든 activity가 연속적

- 프로그래머가 하드웨어 자원과 직접적으로 상호작용

 

Problems

- 비싸고 비효율적

- Job-to-job transition 매우 느림

   -> scheduling time :

   -> high setup-time : 수동으로 이루어지기에 set-up time이 높다.

 

2. Simple Batch Systems

- 유사한 job끼리 batch함으로써 setup time을 줄임

- Automatic job sequencing : 프로그램의 시작과 끝을 기계화

 

 

Monitor 등장

- 그 당시 잡들을 batching processing하기 위해 나온 최초의 OS

- 항상 메인memory에 상주

- User program monitor에 침범하거나 job끼리 침범하는 경우가 생김

 

 

Desirable features(아래의 특징들이 완벽히 구현되어 있진 않은 것 같음)

- Memory protection for monitor

- System timer : 독점문제 막기위함

- Privileged instructions : 모니터에 의해서만 수행됨. 대부분의 I/O instructions 해당

- I/O device controller : 당시 I/O 디바이스 너어무 느려서 등장. CPU 대신하여 I/O device 제어. I/O device,CPU 동시에 수행될 수 있음.

- Synchronous I/O는 종속적(read). 입력될 때까지 계속 기다려야함 -> overlapping 불가능!

- Asynchronous I/Ojob에 대해 overlapping 하는 데 초점 -> interrupt

 

Problems

- Card reader very slow

- CPU 종종 idle (synchronous I/O 와 CPU는 overlap 안됨 -> CPU이용률 낮음)

보이는 바와 같이 read(synchronous I/O)가 굉장히 느리면 overlapping이 안되기에 CPU Utilization을 떨어트릴 수 있다.

 

 

3. Multiprogrammed Batch Systems

- CPU Utilization 높이기 위함

- 비동기, 동기 I/O 모두 overlap하기 위해 나옴

- 완료되지 않은 다수 프로그램을 메모리에 올려놓는다. 스케줄러가 선택.

 

Problems

- Relocation : 시작 번지가 바뀌는 문제. Job이 해당 위치에 올라간다는 보장 x

- Memory protection : 모니터에 침범하거나 job이 다른 job의 영역에 침범

 

-> 그래서 도입한 MMU(memory management unit)

hardware적으로 처리

base register, bound register 을 두어 relocation문제 해결

 

4. Time sharing systems

등장배경

- Integrated circuit : 직접회로 적용. 빨라지고 싸짐.

- 유저가 실행되는 jobinteract할 수 없음

- 하드웨어는 좀 싸졌는데 사람의 노동력이 비싸짐

 

Goal

- 인간의 생산성을 높이기

- Interactive jobs를 다중으로 다루기 위함

- Response time 최소화

 

Interactive timesharing

- 모두에게 터미널(ex. 키보드,모니터)을 주어 모든 유저가 한 번에 같은 machine을 사용할 수 있게 한다.

- Time slice(어떤 작업에 정의된 시간 할당량)가 모든 job에 할당된다.

- 시간초과시 OS가 뺏어버림 : preemption

 

 

Time Sharing Example

serial processing과 time sharing 비교

 

'Operating System' 카테고리의 다른 글

Process Description andControl 2  (2) 2021.04.13
Process Description and control 1  (0) 2021.04.11
User program and System Call  (2) 2021.04.11
Computer System Overview (2)  (0) 2021.04.03
Computer System Overview (1)  (2) 2021.04.02