경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
편집을 취소할 수 있습니다.
이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 |
당신의 편집 |
1번째 줄: |
1번째 줄: |
| [[분류:운영체제]][[분류:일반 IT용어]]
| |
| ;Mutual Exclusion | | ;Mutual Exclusion |
| 공유자원을 한 시점에 단지 하나의 프로세스만이 사용할 수 있도록 제어하는 매커니즘 | | 공유자원을 어느 시점에서 단지 한 개의 프로세스만이 사용할 수 있도록 하며, 다른 프로세스가 공유자원에 대하여 접근하지 못하게 제어하는 기법 |
| | |
| == 원칙 ==
| |
| * 두 개 이상의 프로세스가 동시에 임계 영역에 있어선 안됨
| |
| * 임계영역 밖에 있는 프로세스가 다른 프로세스의 진입을 막아선 안됨
| |
| * 프로세스의 상대적인 속도에 대해선 어떠한 가정도 하지 않음
| |
| | |
| == 하드웨어적 방법 ==
| |
| * 인터럽트 사용금지: 공유 자원이 변경되는 동안 인터럽트 비허용
| |
| * Test and Set: 워드에 대해 검사하고 검사할수 있는 명령 제공
| |
| * Swap: 두 워드간 내용을 교환할수 있는 명령 제공
| |
| | |
| == 소프트웨어적 방법 ==
| |
| * 데커 알고리즘
| |
| * 피터슨 알고리즘
| |
| * 베이커리 알고리즘
| |
| * 세마포어
| |
|
| |
|
| == 같이 보기 == | | == 같이 보기 == |
| * [[교착 상태|교착 상태(Deadlock)]]: 상호배제의 잘못된 사용으로 필요한 프로세스에게 자원이 공유되지 못해 자원을 무한정 기다리는 상태 | | * [[교착 상태]]: 상호배제의 잘못된 사용으로 필요한 프로세스에게 자원이 공유되지 못해 자원을 무한정 기다리는 상태 |