<운영체제의 간단한 역사>

 

 

 

2. 운영체제의 역사

-1950년대 *ENIAC, 첫 번째 컴퓨터이자, 운영체제가 없음. 1개의 응용 프로그램을 실행시키기도 힘든 수준이었고,  운영체제가 없어서 응용 프로그램이 시스템 자원을 제어하는 형태였다. -1960년대

analysis-flood.tistory.com

 

결국 1970년대 등장한 시분할시스템 os 의 조상격인

MIT의 ​CTSS(​Compatible Time-Sharing System), ​IBM의 ​TSS(​Time Sharing System) 등은 하드웨어가 다르다면 다른os를 적용해야하는 문제가 있었다.

 

1970년대의 os

그리고 혜성같이 등장한 UNIX os와 그의 아버지 데니스리치.

UNIX

 

모든 하드웨어를 통합해버렸다!

 

 

 

 

 

 

 

시분할시스템과 배치처리시스템

 

시분할시스템과 일괄처리시스템

 

과거 컴퓨터는 일괄처리 시스템으로써 프로그램 하나가 끝나면 다음프로그램을 실행하는, 그렇게되면 30분만 실행되면 끝나는 2번프로그램은 실행하기위해 12시간을 기다려야하는 비효율성이 발생한다.

이에비해 시분할시스템은 프로세스를 여러등분하여 정해진 시간동안 수행되고 다음프로세스로 넘어가는, 즉 다중 사용자를 지원하게 된다. 이를 ( Multitasking) 이라고 하는데 이는 단일CPU로 여러개의 프로세스들을 병렬실행하는것을 의미한다. -->결국 사용자입장에서는 여러프로그램이 동시실행되는것처럼 느끼게 된다.

 

 

 

os의 진화

 

현대의 컴퓨터 시스템 환경(Modern OS)

 

- MicroKernal Acchitecture : 기존 모놀리식 커널에 비해 핵심적인 기능만 남겨둔 최소한의 커널이다. 커널의 크기가 작으므로 임베디드 시스템 등에 주로 사용된다.

 

- Multithreading :대화형 프로그램을 멀티스레드화하면, 프로그램의 일부분(스레드)이 중단되거나 긴 작업을 수행하더라도 프로그램의 수행이 계속되어, 사용자에 대한 응답성이 증가된다. 예를 들어, 멀티스레드가 적용된 웹 브라우저 프로그램에서 하나의 스레드가 이미지 파일을 로드하고 있는 동안, 다른 스레드에 사용자와의 상호작용이 가능하다. 또한 스레드는 자동적으로 그들이 속한 프로세스의 자원들과 메모리를 공유한다. 코드 공유의 이점은, 한 응용 프로그램이 같은 주소 공간 내에 여러 개의 다른 활동성 스레드를 가질 수 있다는 점이다.

 

- Symmertic Multiprocessing : 상위 프로세서가 하위 프로세서에게 일을 배분해 작업하는것이 아닌,두 개이상의 프로세서가 하나의 메모리를 공유하며 사용한다.

 

-Object-oriented design : 시스템의 통합성을 파괴하지않고 os를 설정할수 있게 한다.