Pintos 1주차 Synchronization
Synchronization 쓰레드간 자원 분배 : 조심히 다뤄야 한다. A cooperating process는 시스템에서 다른 프로세스가 실행됨으로써 영향을 주거나 받을 수 있는 것을 의미한다. cooperating process는 직접적으로 논리적 주소(code, data 둘다)를 공유할수도, 파일이나 메세지를 통해서만 데이터를 공유하도록 허용될수도 있다. 공유 데이터로의 동시적(concurrent) 접근은 data 모순(inconsistency)를 야기할 수 있다. 논리적인 주소 공간을 공유하는 협동 프로세스들의 순차적 실행을 확보하여 데이터 동일성을 유지하는 메커니즘에 대해 논해보자. (Producer Consumer Problem에 이어짐.) Disabling Interrupts 가장 기초적인 방법 : CPU가 interrupts에게 반응하는 것을 일시적으로 막는 것 ...