본문 바로가기

운영체제2

c# 뮤텍스... trax, 이미지 등이 깨지면 위 링크를 클릭해서 보세요. 소스도 위 링크에 가면 모두 있습니다. 하드 디스크에도 소스는 없고, 예전에 썼던 글이지만 스레드에 대해 기준을 잡는데는 여전히 유용할 거라 생각합니다. 1편부터 보실 생각이면 가서 C#으로 검색해서 보세요. 지난 시간에는 임계영역(Critical Section)에 대해서 살펴보고, 동기화를 위해 사용할 수 있는 Monitor 클래스와 lock()에 대해서 살펴보았다. 이번에는 동기화에 유용하게 사용할 수 있는 뮤텍스에 대해서 살펴보도록 하자. 신호 메커니즘(Signaling Mechanism) 멀티 쓰레드 시스템에서 쓰레드를 동기화하기 위해 신호 메커니즘(Signaling Mechanism)을 사용한다. 여러 개의 쓰레드가 사용하는 공유 자원이.. 2009. 7. 28.
상호배제 상호배제 조건은 자원을 공유할 수 없는 경우에 반드시 성립해야 한다. 예를 들면, 프린터는 동시에 여러 프로세스에 의해 공유될 수 없다. 반면에 공유할 수 있는 자원은 동시에 여러 프로세스가 접근할 수 있고 교착 상태도 없다. 판독 전용파일이 공유 자원의 좋은 예이다. 만일 여러 프로세스가 동시에 판독 전용파일을 읽으려 한다면, 그 프로세스 들은 모두 그 파일을 접근할 수 있다. 그러나일반적으로 상호배제조건을 부정함으로써 교착 상태를 막을 수는 없다. 또한 일부 자원은 본질적으로 공유할 수 없다. 세마 포어 semaphore는 철도 주변에 전봇대 같이 생긴 기둥에 달린 신호기나 군인들이 양손에 깃발을 들고 이들의 위치를 변경하여 이에 따라서 약속된 문자를 표시하는 신호 시스템이다. semaphore가 임.. 2009. 7. 28.