더북(TheBook)

1.5 환경과의 관계

시스템은 외부 환경과 단절된 상태로 동작하지 않습니다. 어떤 소프트웨어는 특정 하드웨어에서 단독으로 실행되기도 하는데, 이 경우에는 해당 하드웨어가 주요 환경이 됩니다. 그러나 대부분의 경우 시스템은 다른 시스템 위에서 실행되거나 그 시스템의 구성 요소로 동작합니다.

프로그램(시스템)과 운영 체제(시스템)의 관계로 예를 들어 보겠습니다. 운영 체제는 호스팅하는 프로그램에 특정한 구조를 강제합니다. 운영 체제로 프로그램을 실행하고 모니터링하고 제어하므로 이 구조를 피할 수 없습니다. 두 시스템 간에 이러한 합의가 없다면 프로그램은 결코 운영 체제 위에서 동작할 수 없을 것입니다.

프로그램 기본 구조를 강제하는 방식과 정도는 운영 체제마다 다릅니다. 예를 들어 유닉스에서는 강제하는 정도가 심하지 않습니다. 유닉스에서 실행되는 프로그램은 그저 일련의 인자를 가진 main 함수가 있으면 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.