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