컴퓨터의 역사
2차세계 대전 중 1940년대 말 만들어졌다.
1.초기에는 운영체제가 존재하지 않았다.
2.이후엔 Batch processing system(일괄처리)이 나왔다
이는 최초의 O/S로 볼 수 있다.
3.Multiprogramming system
가령 수를 더해서 출력하고 다시 이를 특정 수를 반복해서 더하는 프로그램이 있다고 해보자.
수를 더하는것은 CPU가 할 것이고 출력은 입출력 장치가 하게될것이다.
이 때 CPU가 작업을 마치고 출력을 위해 입출력 장치가 출력을 실행하게 되면 느린 i/o의 성능으로 인해 CPU가 idle(노는시간) 즉 기다리는 시간이 생기게 된다. 이를 개선하기 위해 메모리에 여러 프로그램을 올리고 실행중인 프로그램이 i/o를 만나면 다른 프로그램을 실행토록 한다.
이를 통해 CPU가 노는 시간이 없도록한다.
이와 관련하여 CPU scheduling가 나오게된다. 어떤 순으로 실행하여 성능을 좋게할까에 대한 알고리즘이다.
메모리 관리또한 나오게된다. 이는 적절하게 프로그램을 메모리에 배치하기 위한 기법이다.
보호개념또한 등장하게 되는데 메모리에서 다른 프로그램의 영역에 침범하면 안되므로!
4.Time-sharing system
여러사람이 한 컴퓨터로 들어와 자신의 프로그램을 사용한다고 가정하자. 이 때 여러사람들은 Multiprogramming system에서는 동시에 사용하기란 불가능하다.(이는 I/O를 만나야 다른 프로그램을 동작시키는 로직이므로..)
그래서 아주 짧은시간으로 나눠 여러 유저의 작업을 번갈아가며 CPU가 처리해주도록 한다.
이러한 시스템이 등장하며 특정유저가 다른 유저에게 데이터를 주고받는것이 즉 프로세스간 통신이 가능해졌다.
또한 누가 먼저 앞서고 뒤서는지에 대한 동기라는 개념이 등장한다.
또한 하드디스크의 일부를 메인메모리인냥 사용하는 기술인 가상 메모리 또한 등장하게된다.
OS 기술 천이
컴퓨터의 규모별 분류는 다음과 같다.과거의 분류 :
Supercomputer > Mainframe > Mini > Micro현재의 분류 :
Supercomputer > Server > Workstation > PC > Handheld > Embedded
워크스테이션 : PC에서 처리못하는 조금 큰 작업 처리