나의 브을로오그으

#2. 운영체제 역사 본문

Computer Science/운영체제

#2. 운영체제 역사

__jhp_+ 2022. 6. 26. 11:38

컴퓨터 역사 : 1940년대 말~

- 하드웨어 발전 vs 운영체제 기술 발전

 

No OS

- OS가 없던 시절 computer operator라는 직종의 사람들이 직접 컴퓨터를 관리하고, 프로그램을 실행시켰음.

 

Batch Processing System (일괄처리) - resident monitor (최초의 os)

- 이후에 H/W가 발전하면서 메모리의 크기가 커지고, 운영체제도 발전하기 시작했다.

- 어떤 User 프로그램이 CPU -> I/O -> CPU -> I/O 작업을 교대로 할 때,

I/O가 동작 하는 동안에 CPU는 아무일도 안하기 때문에 비효율 적이다.

- 그래서 이렇게 하자. 프로그램을 여러개 올리자.

프로그램 1, 프로그램 2, 프로그램 3... 즉, 프로그램 1이 CPU 동작 후 I/O작업을 하는 동안에

CPU는 프로그램 2를 실행하도록 한다. 이런식으로 I/O 작업 중에도 CPU는 일을 하게 된다. (CPU가 IDLE 상태가 되지 않도록...) 그래서 나온것이 Multiprogramming System이다.

 

Multiprogramming system (다중 프로그래밍 1960년대 ~) 

- 이 시스템은 단순히 Memory에 프로그램을 여러개 올리는게 다가 아니고 CPU의 스케줄링, 메모리관리, 보호 등도 고려하게 되었다. 

- 이후 모니터, 키보드 등 입출력 장치들도 나오기 시작했다. (interactive가 가능해졌다.)

- 과거에는 컴퓨터의 비용이 굉장히 비쌌기 때문에 하나의 컴퓨터를 두고 여러 단말기(Terminal)를 연결해서

사용했다. (모니터와 컴퓨터를 연결해서..)

- 그런데 이게 문제가 있다. 여러명의 유저가 프로그램을 메모리에 올리면 가장 마지막에 올린 유저의 프로그램은 가장 늦게 동작하고, 가장 먼저 실행한 유저 프로그램은 마지막 프로그램이 끝날때까지 다음 프로그램 실행을 기다려야 한다. -> 시분할 시스템 도입

 

Time-Sharing System(시분할(공유) 시스템)

- 일정 시간을 쪼개서 여러 프로그램을 스위칭하여 실행함. 이러면  유저가 느끼기에 동시에 이루어지는 것처럼 느껴짐.

- 이렇게 여러개의 프로그램을 일정 시간동안 빠르게 쪼개서 실행하다 보면 누가 먼저 실행될 것일지 순서를 정하거나, 동시에 실행되는 프로그램의 처리 방식 등을 할 필요도 있어짐. 따라서 이를 동기(Synchronize)라고 한다.

- 강제 전환, interactive system(대화형)

- 가상 메모리, 프로세스간 통신, 동기화 

- 프로그램이 커지기 시작하다보니 메모리의 크기를 키워야 할 필요가 생겨짐. 이 때 하드디스크가 보편화 됬고, 하드디스크를 메인 메모리처럼 사용 할 수 있는 기술이 나옴. (실제로는 메인 메모리가 아니지만..) CPU가 보기에는 이 하드디스크까지도 메인 메모리처럼 보임. 이 기술이 바로 "가상 메모리" 기술이다.

ex) UNIX OS가 바로 가장 대표적인 Time-Sharing System이다.

 

- 과거 MS-DOS는 멀티 프로그래밍 시스템도 타임 쉐어링 시스템도 아니었다. MS-DOS의 시대가 끝나고

Windows가 나왔고 지금까지도 PC OS의 대표적인 OS로 자리매김 함.(타임 쉐어링 시스템이 있음.)

- 요즘 OS들은 전부 타임 쉐어링 시스템이 포함되어 있으며, 이 후 특별히 OS가 발전하여 추가된 시스템은 없음. 이후의 컴퓨터는 아예 시스템 자체가 다름. 

 

 

OS 기술 천이

- 컴퓨터 규모별 분류 (1970~80년대 분류)

  * SuperComputer > MainFrame > Mini > Micro

- 지금의 분류

  * SuperComputer > Server > Workstation > PC > Handheld > Embedded(내장된)

(MainFrame도 있기는 있는데(증권, 은행..) 지금은 네트워크를 이룸. 여러 단말기(PC, Workstation(PC보다 좀 더 성능이 좋은 컴퓨터), Server)들이 연결되어 있음.

 

- 지금은 embedded, handheld까지 고성능의 컴퓨터가  

 

고성능 컴퓨터의 OS기술이 Handheld/Embedded 까지

  * Batch processing

  * Multiprogramming

  * Timesharing

 

고등 컴퓨터 구조 (Adavanced Computer Architectures)

  * 고등 운영체제의 등장

'Computer Science > 운영체제' 카테고리의 다른 글

#6. 프로세스 관리  (0) 2022.06.29
#5. 운영체제 서비스  (0) 2022.06.28
#4. 이중모드, 하드웨어 보호  (0) 2022.06.27
#3. 고등운영체제, 인터럽트 기반 시스템  (0) 2022.06.26
#1. 운영체제 개요  (0) 2022.06.25