운영체제: 프로세스 동기화 - 세마포어
프로세스 간의 정보를 주고 받거나, 하나의 공유된 영역을 사용할 경우에는 주의가 필요하다. 예를 들어 프로세스 A는 1번지 메모리 공간에 10이라는 값을 읽어 오고자하였으나, 프로세스 B가 프로세스 A가 읽는 직전에 20이라는 값으로 변경해 버리면 원하지 않는 값이 반환되는 결과가 발생한다. 이렇게 상호적으로 영향을 미치는 프로세스들을 Cooperating Process라고 한다. 이와 반대인 경우 Independent Process라고 한다. 각 프로세스로 인해 공유 데이터의 일관성을 보장하지 못하는 것을 막기 위해 동기화(Synchronization)가 필요하다. 앞서 말한 간단한 예시에서 원치 않는 값을 반환받지 않으려면, 프로세스 A → 프로세스 B의 순서를 보장할 경우 이와 같은 문제를 해결할 ..
🏋️♀️ 기반 다지기/운영체제
2020. 6. 19. 23:02
글 보관함
최근에 올라온 글
최근에 달린 댓글