수업/운영체제 2

7. 교착상태

교착상태 원인 1.상호배제 조건프로세스가 자원에 대한 배타적인 통제권을 요구적어도 하나이상의 자원은 여러 프로세스에 의해 동시에 사용될 수 없음다른 프로세스가 점유한 자원이 필요하면 반드시 대기 2.점유대기 조건프로세스가 이미 한 자원을 할당받아 점유하고 있는 상황에서 다른 프로세스가 점유하고 있는 또다른 자원을 요구하여 해제되기를 기다리는 상황 3.비선점 조건프로세스에 할당된 자원은 그 프로세스가 사용을 마치고 스스로 반환하기 전에는 해제되지 않음이미 할당된 자원은 타의에 의해서는 해제되지 않음 4. 환형대기 조건프로세스의 자원 점유 및 점유된 자원의 요구 관계가 환형을 이루며 대기하는 상황

수업/운영체제 2025.04.22

5,6 병행프로세스-세마포어

P연산 : 검사, 감소시키려는 시도 s 값이 양의 값이면 감소 시킴0이 되면 프로세스를 대기시킴 V연산 : 증가 대기중인 프로세스가 없다면 s값을 1증가시킴대기중인 프로세스가 있으면 대기중인 프로세스 1개 진행 @진입영역mutex가 1보다 크므로 0 으로 줄이고 임계영역 수행다른프로세스가 봤을때 mutex가 0 이므로 해당 프로세스가 임계영역에 들어가지않고 대기함 @해제영역대기하는게 있냐? -> 대기하는거 깨워가지고 임계영역에 들어와도 된다고 알림대기하는게 없다 - > mutex 1증가하고 끝 (누군가가 들어갈수 있는 상황을 만들어줌) @생산자 소비자 문제 버퍼가 가득찬 경우 (생산자가 추가적으로 데이터를 못넣음)데이터를 넣기전에 P(empty)를 넣음데이터를 꺼낸 다음에 V(empty)를 넣음..

수업/운영체제 2025.04.22