SECTION 3.2 런타임 시스템
CPU를 다루는 일은 간단하지 않다. 개발자는 하드웨어의 자원 제어와 접근 관리는 물론이며, 그때그때 필요한 기능을 제어하거나 충돌에 대비해 프로그램을 서로 격리하고, 공유 자원에 대한 접근 등의 모든 일을 직접 처리해야 한다.
현대적인 시스템은 다목적성을 갖기 때문에 그만큼 복잡하다. 그 결과, 파일 관리 시스템, 그래픽 관리 시스템, 작업 관리 시스템 등 특정한 관리 업무를 맡는 여러 소프트웨어 시스템으로 분화했다. 이들은 결국 애플리케이션과 시스템 사이에 새로이 삽입된 추상화 계층의 형태로 진화했는데, 이것이 런타임 시스템(runtime system)이다. 그리고 런타임 시스템 중 우리가 가장 흔하게 볼 수 있는 것이 바로 운영체제(Operating System, OS)다.
목공소의 예제로 돌아가자. 목수가 고객에게 특이한 요청을 받았다.