mutual exclusion
-
교착 상태(Deadlocks)Computer Engineering/운영체제 2019. 8. 17. 03:52
안녕하세요 dely입니다:) 오늘은 교착 상태(Deadlocks)에 대해 정리해보겠습니다. A는 실을 가지고 있고, B는 바늘을 가지고 있다고 할 때 A는 B에게 바늘을 달라고 요청하고, B는 A에게 실을 달라고 요청하는 상황을 가정해봅니다. 서로 요청만 하다가 아무도 바느질도 못하고 마음이 상해버리겠죠.....(응?) 이처럼 한정된 자원을 여러 프로세스들이 사용하려고 서로 경쟁하다보면 필요한 자원을 서로 점유하고 있어 프로세스가 상태를 변경할 수 없는 상황이 발생하는데 이를 교착상태(deadlocks)라고 합니다. 그래서 이를 해결하기 위해 어떤 상황에서 교착상태가 일어나는지, 어떤 방법으로 해결할 수 있는지, 미리 예방할 수 있는지 알아보도록 하겠습니다. 1. 교착 상태의 특징 교착 상태는 한 시스템..
-
프로세스 동기화(Process Synchronization)Computer Engineering/운영체제 2019. 8. 16. 05:07
안녕하세요 dely입니다:) 오늘은 프로세스 동기화(Process Synchronization)에 대해 정리해보겠습니다. 구글 스프레드시트를 공유문서로 두고 동시에 여러명이서 편집하다보면 내가 쓴 글자가 어느샌가 사라져버린 것을 발견하기도 합니다 주황색의 두루미(누구냐 넌...)가 편집해버렸기 때문입니다..... 이처럼 운영체제 내에서도 동시에 여러개의 스레드가 동일한 자료를 접근하여 조작하고, 그 실행 결과가 접근이 발생한 특정 순서에 의존하는 상황이 발생하게 됩니다. 이를 경쟁 상황(race condition)이라고 합니다. 경쟁 상황으로부터 보호하기 위해서는 한 순간에 하나의 스레드만이 변수 count를 조작하도록 보장해야합니다. > 공유 자원에 대한 접근을 제어하는 방법 1. 임계 구역(Criti..