History of Computing
1940년대
Special Purpose Computer
이 당시 컴퓨터 기계는 기계마다 특정 목적을 가지고 설계되었다. 그래서 다른 프로그램을 돌릴려면 기계 자체를 다시 설계해야 했다.
- Z1, Colossus, Eniac
1950년대 초반
General Purpose Computer
폰 노이만 모델을 구현한 임의의 프로그램을 실행할 수 있도록 설계된 컴퓨터이다. 매 CPU cycle마다 instruction fetch-execute를 반복한다.
- EDVAC, bombe
1950년대 중반
Batch Programming
한 번에 하나의 프로그램을 컴퓨터에 입력하는 것이 아닌, 여러 개의 프로그램을 한 번에 묶어서 배치(batch) 작업을 수행하도록 했다.
1960년대 초반
Multiprogramming
메모리의 크기가 커짐에 따라 이제 컴퓨터가 한 번에 여러 프로그램을 메모리에 올릴 수 있게 되었다. 유저 인터페이스를 통해 컴퓨터가 수행하는 작업을 선택할 수 있었다.
1960년대 중반
Time Sharing
Program 마다 time slice를 주고 CPU 점유 시간을 나눠가짐으로써 프로그램 각각의 수행속도는 줄었지만, 여러 개의 프로그램을 동시에 수행할 수 있게 되었다.
Time sharing은 OS의 도움을 통해 가능하며, 여러 OS가 등장하였다.
- CTSS, MULTICS, UNIX
1970년대 후반
Personal Computer
1970년대 후반, 드디어 개인용 컴퓨터가 등장했다.