반응형 상호배제2 [운영체제] 교착상태(deadlock) 교착상태란 무엇인가? 그림을 보면 어느 누구도 움직이지 못하는 상황이다. 이처럼 자원이 모두 사용 중이어서 프로세스들이 계속 기다리는 상태를 교착상태라고 한다. Deadlock: 일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태 - 자원(resource): 하드웨어, 소프트웨어 등을 포함하는 개념 - ex) 시스템에 2개의 tape drive가 있다. 프로세스 A와 B가 각각 하나의 tape drive를 보유한 채 다른 하나를 기다리고 있다. deadlock 발생의 4가지 조건 1. 상호배제: 매 순간 하나의 프로세스만이 자원을 사용할 수 있음 2. 비선점: 프로세스는 자원을 스스로 내어놓을뿐 강제로 빼앗기지 않음 3. 보유대기: 자원을 가진 프로세스가 다른 자원을 기다릴 때 보유 자원을.. 2023. 2. 18. [운영체제] 프로세스 동기화 문제 & 해결방법 프로세스들은 수행의 동기화를 위해 변수를 공유할 수 있다 do{ entry section critical section exit section remainder section } while(1); entry로 lock을 걸어서 critical section 접근을 막고 exit를통해 다른 프로세스가 critical section에 진입할 수 있게한다 프로그램적 해결법의 충족 조건 1. Mutual Exclusion(상호 배제) - 프로세스가 critical section 부분을 수행중이면 다른 모든 프로세스들은 그들의 critical section에 들어가면 안 된다 2. Progress - 아무도 critical section에 있지 않은 상태에서 critical section에 들어가고자 하는 프로세.. 2023. 2. 7. 이전 1 다음 728x90