일반적으로 프로세스는 실행 중인 프로그램으로 정의한다. 프로그램 자체는 디스크 상에 존재하는 명령어와 정적 데이터의 묶음 덩어리일 뿐, 운영체제가 실행하여 프로그램에 생명을 불어넣는 것이다. 우리는 이러한 프로세스를 동시에, 사용 가능한 cpu가 있는지 없는지 신경 쓰지 않고 여러가지를 실행시키고 싶다. 이러기 위해서 실제로 적은 개수의 cpu 밖에 없더라도 cpu가 여러 개 존재한다는 환상을 심어줘야 한다. 이를 가상화한다고 한다. 하나의 프로세스를 실행하고, 얼마 후 중단시키고 다른 프로세스를 실행하는 작업을 반복하면서 실제 하나 또는 소수의 cpu로 여러 개의 가상 cpu가 존재하는 듯한 환상을 만들어 낸다. 시분할 (time sharing)이라 불리는 이 기법은 원하는 수 만큼의 프로세스를 동시에..