본문 바로가기

DeadLock2

교착상태(Deadlock) 발생 조건 및 해결 방법 지난 포스팅에서 프로세스 동기화와 더불어 교착상태에 대해 다뤘었다. 교착상태가 무엇인지 아직 헷갈리시는 분들은 이전 포스팅을 보고 오시길 바란다. 이번에는 교착상태의 발생 조건과 해결 방법에 대해서 알아보자. 교착상태(Deadlock) 발생 조건 교착상태는 아래의 네 가지 조건을 모두 동시에 충족할 때 발생한다. 1. 상호배제 (Mutual Exclusion)한 자원에 대한 여러 프로세스의 동시 접근 불가 2. 점유와 대기 (Hold and Wait)자원을 가지고 있는 상태에서 다른 프로세스가 사용하고 있는 자원의 반납을 기다리는 것 3. 비선점 (Non Preemptive)다른 프로세스의 자원을 강제로 가져올 수 없음 4. 환형대기(Circle wait)각 프로세스가 순환적으로 다음 프로세스가 요구하는.. 2017. 6. 9.
프로세스 동기화(Process Synchronization) - 2 임계영역(Critical Section)이란? 다중 프로그래밍 시스템에서 여러 프로세스들이 공유하고 있는 자원을 한 시점에 하나의 프로세스만 접근할 수 있도록 지정된 영역을 말한다.임계영역에는 한 번에 한 프로세스만 접근할 수 있으며, 자원을 다 사용한 프로세스는 자원을 반납하여야 하며, 반납이 완료된 후에 다른 프로세스가 자원을 사용할 수 있다.한 프로세스가 임계영역의 자원을 독점할 수는 없으며 프로세스가 임계영역으로의 진입을 시스템에 요청하면 일정 시간 내에 진입을 할 수 있어야 한다. 상호배제(Mutual Exclusion)란? 다중 프로그래밍 시스템에서 여러 프로세스들이 동시에 독립적으로 진행됨으로 인하여 발생하는 문제점들을 해결하는 기법 중 하나. 프로세스들은 상호 독립적으로 움직인다. 대부분 .. 2017. 6. 7.