음... 프로세스라는 거 좀 더 쉽게 생각할 수도 있겠는데...
프로세스는 일종의 자료 구조라 볼 수 있죠. 어떤 자료 구조냐
하면, 사용자가 실행시키고 싶은 프로그램을 표현하는 거예요.
OS의 가장 중요한 기능 중의 하나는 CPU라는 자원을 관리하는
겁니다. 사용자들의 프로그램은 그 CPU라는 자원을 이용하고픈
고객들이라고 볼 수 있겠죠? 그런데 CPU는 적고 이걸 이용하려는
고객은 많기 때문에 예약을 미리 받거나 정해진 수의 고객만
이용할 수 있는 멤버제로 운영해야 할 겁니다. 이 때 OS라는
지배인은 고객들에 대한 장부를 가지고 있어야 할 것인데,
이 장부가 바로 프로세스 테이블입니다. 어떤 책(Bach 같은데)에
프로세스를 프로세스 테이블의 한 엔트리라고 정의한 것도 바로
이러한 이유 때문이죠. 지배인의 눈에는 고객이란 자기가
가지고 있는 장부상의 몇 항목의 데이타에 지나지 않는 거죠.
그럼 지배인은 이 장부에 어떤 것들을 적어 놓을까요.
먼저 고객의 이름이 필요하겠죠. 바로 PID, 즉 프로세서 아이디입니다.
그리고 고객의 연락처가 필요합니다. 만약 고객이 가게에 와서(즉,
프로세스가 메모리에 load되어 있으면) 가게 어디서 죽치고 있는지,
만약 아직 가게에 오지 않았으면, 어디 살고 있는지(즉 디스크 주소)를
적어 놓아야 그 고객 차례가 되면 연락해주겠죠?
뭐 그외에도 여러 가지가 있지만, 생략하고...
프로세스가 자료 구조이면 그에 따른 연산들을 정의할 수 있읍니다.
이에 관해서는 원하시는 분이 계시면 알려 드리죠. 저는 숙제하러
가야겠네요.
누가 tarkus를 아시나요?