IPC 함수들의 식별자와 key의 차이가 뭐에요?
글쓴이: dbsthqkf / 작성시간: 화, 2014/02/04 - 1:30오후
semaphore함수 중에서 semget이라는 함수가 있습니다.
int semget(key_t key, int nsems, int semflg);
여기서 key와
semget함수로 반환되는 semaphore id의 차이는 무엇인가요? ㅠㅠ
(아래는 semget에 대한 설명을 가져온 것입니다.)
semget 함수는 세마포어를 만들거나 key 에 해당하는 세마포어 식별자를 돌려줍니다.
key 는 프로세스와는 독립적으로 동일한 세마포어에 접근하는 것을 가능하게 합니다.
semget 은 이 key 값을 참고하여 해당 세마포어 식별자를 돌려줍니다. 세마포어에서
key 는 semget 에서만 사용하며, 다른 함수들에서는 semget 에서 반환된 세마포어
식별자를 사용합니다. key 값중 특별한 값이 있는 데, IPC_PRIVATE 가 그것입니다.
IPC_PRIVATE 를 key 값으로 사용하여 세마포어를 만들게 되면 프로세스 자기만 세마
포어에 접근할 수 있게 되는 것입니다. 일종의 혼자만 알고 있는 'back door' 라고
할까요? :)
Forums:
댓글 달기