Lock의 구현
-
Lock의 구현운영체제 2024. 4. 11. 23:44
락: 상호배제를 위한 API 이걸 어떻게 구현할 것이냐?.. 실제로는 하드웨어와 OS의 협업 1. 인터럽트로 2. 소프트웨어만 only approach 3. 소프트웨어가 하드웨어와 협업 락의 평가 방법 1. 정확성 : 상호 배제가 보장되는가 2. 공정성 : 기아 상태에 빠지는 스레드가 없는가 3. 성능 : 락, 언락에 의한 오버헤드나 낭비가 없는가 락 사이즈 이슈. 여러 공유 자원이 있을 때 Coarse-grained lock : 하나의 락으로 보호 - 장점: 심플 - 단점: 병행성이 별로 Fine-grained lock : 각각을 보호하는 락 - 장점: 병행성 굿 - 단점: 복잡 실제 락의 구현 1) Disable Interrupt void lock() { DisableInterrupts(); } vo..