1 |
1
공유 메모리 (c)와, 동작하는 자신의 프로세스인 제1프로세스(a)와, 다른 프로세스인 제2프로세스(b)와, 메세지 큐(f)와, 제1, 제2메세지 화일(g,h)를 구비하는 유닉스 프로세스간 통신 방법에 있어서, 제1프로세스 (a)가 동작을 시작할때 자기 자신의 프로세스 번호(d)를 상기 공유 메모리(shared memory) (e)에 기록하여 제2프로세스(b)가 제1프로세스(a)의 동작을 알 수 있게 하며, 공유 메모리(c)가 정의되어 있지 않으면 공유메모리를 먼저 정의하고 모든 프로세스 번호(a,b)를 비동작 상태로 초기화 한 후 자신의 프로세스 번호(d)를 공유 메모리에 기록하는 제1단계 ; 상기 제1단계 수행 후, 상기 제1프로세스(a)가 동작을 시작하여 공유 메모리에 프로세스 번호(d)를 기록한 후 프로세스가 동작하지 않은 동안 자신에게 보내진 메세지를 제2메세지 화일(h)에서 읽어 처리하는 제2단계 : 상기 제2단계 수행 후, 처리가 끝나면 화일의 내용을 모두 지우고 이후의 모든 메세지는 메세지 큐(f)를 통하여 접수하는 제3단계 : 상기 제3단계 수행 후, 제2프로세스(b)로 메세지를 보낼 경우에는 공유 메모리의 프로세스 번호(e)를 확인하여 상대 프로세스는 동작중임을 알아서, 상대 프로세스가 동작중이면 메세지 큐(f)를 통해 메세지를 전달하고 동작하고 있지 않으면 메세지 화일(9)을 통하여 메세지를 전달하는 제4단계 : 상기 제4단계 수행 후, 모든 프로세스는 동작을 종료하기 직전에 공유 메모리에 자신의 프로세스 번호를 초기화 하여 자신의 프로세스가 동작하지 않음을 다른 프로세스가 알 수 있게 하는 제5단계 : 상기 제5단계 수행 후, 메세지 큐를 통해 메세지를 전달하는 과정에서 큐의 공간이 모두 차게되면 상대 프로세서가 동작하지 않는 것으로 간주하여 공유 메모리의 상대 프로세스 번호를 초기화하고 현재 메세지 큐에 있는 모든 메세지를 메세지 화일에 옳겨적는 제6단계를 포함하여 이루어지는 것을 특징으로 하는 메세지 큐와 화일을 이용한 유닉스 프로세스간 통신방법
|