안녕하세요 삽잡이입니다. 이번 시간에는 커널 모드 동기화 객체중 세마포어에 대해서 알아보려고 합니다. 매개변수로는 다른 커널 오브젝트들과 같이 처음에는 속성을 받습니다.그 다음으로는 자원의 개수들을 할당 받습니다.그러니까... 두번째 인자로는 사용가능한 자원의 개수, 그 다음으로는 최대 자원의 개수마지막 인자로는 세마포어의 이름을 인자로 받습니다. 키를 쥐고 있다가, 필요가 없어지면 반환을 해야하듯이,세마포어에서는 ReleaseSemaphore 함수를 사용합니다. 키를 반환하면 카운트를 증가시킵니다.즉, CreateSemaphore 에서 생성한 키의 개수를 사용한 다음에 다시 반납하니 숫자를 증가 시키겠죠... 뭔말이냐하면... 세마포어는 소유 개념이 없습니다.즉, 뮤텍스와 조금 개념이 다르다는 것입니다..