1.5 환경과의 관계
시스템은 외부 환경과 단절된 상태로 동작하지 않습니다. 어떤 소프트웨어는 특정 하드웨어에서 단독으로 실행되기도 하는데, 이 경우에는 해당 하드웨어가 주요 환경이 됩니다. 그러나 대부분의 경우 시스템은 다른 시스템 위에서 실행되거나 그 시스템의 구성 요소로 동작합니다.
프로그램(시스템)과 운영 체제(시스템)의 관계로 예를 들어 보겠습니다. 운영 체제는 호스팅하는 프로그램에 특정한 구조를 강제합니다. 운영 체제로 프로그램을 실행하고 모니터링하고 제어하므로 이 구조를 피할 수 없습니다. 두 시스템 간에 이러한 합의가 없다면 프로그램은 결코 운영 체제 위에서 동작할 수 없을 것입니다.
프로그램 기본 구조를 강제하는 방식과 정도는 운영 체제마다 다릅니다. 예를 들어 유닉스에서는 강제하는 정도가 심하지 않습니다. 유닉스에서 실행되는 프로그램은 그저 일련의 인자를 가진 main 함수가 있으면 됩니다.