첫 번째 컴퓨터로 알려진 ENIAC이 등장하면서 OS의 역사도 시작되었다. 하지만 처음에는 운영체제가 없었고 단일 프로그램만 실행하며 해당 응용 프로그램에서 시스템 자원을 직접 제어했다.
프로그램의 종류도 많아지고 사용자도 증가하기 시작하면서 배치 처리 시스템이 등장했다. 여러 응용 프로그램을 등록시켜 놓으면 순차적으로 실행하는 시스템이며 이 Batch Processing System을 기반으로 운영체제가 출현하였다.
시분할 시스템과 멀티 태스킹이라는 새로운 개념이 제안되었으나 운영체제로 구현되지는 못했다.
시분할 시스템이란 응용 프로그램이 CPU를 사용하는 시간을 잘게 쪼개서 여러 개의 응용 프로그램을 동시에 실행하는 기법이다. 다중 사용자를 지원하고 컴퓨터 응답 시간을 최소화하는 것을 목표로 한다.
멀티 태스킹은 단일 CPU에서 여러 응용 프로그램의 병렬 실행을 가능케 하는 시스템이며 원리는 시분할 시스템과 같이 보통 동일하게 취급한다.
멀티 프로그래밍은 최대한 CPU를 많이 활용하도록 하는 시스템이다. (시간 대비 CPU 활용도 극대화)
이들의 핵심은 시간을 잘게 쪼개서 여러 응용 프로그램을 실행함을 목적으로 한다.
1950s
1960s 초반
1960s 후반