본문 바로가기
WORK/Sotfware

[자료모음] Critical Section

by KANG Stroy 2019. 12. 14.
728x90
728x90

백번 말해 봐야 한장의 사진을 이길 수 없다는것을 알았습니다.  



Critical Section And Mutex


https://www.rudyhuyn.com/(그림 출처)


상호배제를 재미있게 설명한 삽화 입니다. 


화장실이라는 자원은 하나 입니다. 이곳에 둘이 들어갈수 없는거죠? 아 여성분들은 들어가기도 합니다만 남성들은 절대 둘이 들어가질 않습니다. 


저 공간에 남자가 들어간다는건, 심대하게 중요한 큰 일을 보러 들어가는것이지요? 

나의 전유물인 냄새와 함께, 심묘한 표정을 지을수 있습니다. 여성분들도 큰 일을 볼 때는 같이 안들어가지 않을까? 싶습니다만, 그건 물어보지 않는거로.. 


화장실은 혼자 사용해야 합니다. 

누군가 급하게 들어오고 싶지만.. 밖에 뮤텍스가 지키고 있죠. 

그냥은 못들어 갑니다. 들어가려고 하면 총을 맞을 수 있기 때문이지요. 


공유를 하면 안되는 자원(Resource)의 동시 사용을 피하는 겁니다. 


동시 접근을 막기 위해 프로그래머에게 의해 구현된 코드 영역을 Critical Section ( 한글로 변환 한다면? 임계구역 ) 이라고 합니다. 


임계는 경계라고 이야기 합니다. (경계(境界).)

차라리 난 총을 맞아도 들어가겠다? 

그럼 시스템은 폭파 당하는 겁니다. 


그럼 실상에서는? 민망함 등등 .. 일어 날 수 없도록 해야 겠죠.. 


이런 크리티컬 섹션을 넘어서기 위해서 상호배제(??) 알고리즘을 사용한다고 합니다. 


1. 데커 ( Dekker ) 알고리즘 

2. 피터슨 ( Peterson ) 알고리즘

3. 제과점(빵집?) ( Bakery ) 알고리즘 

728x90

댓글