본문 바로가기
728x90

Deadlock2

[OS] 교착 상태 교착 상태 (dead lock) 2개 이상의 프로세스가 다른 프로세스의 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태 아사 현상과 달리, 정책상 잘못이나 오류가 없어도 자연적으로 발생 - 교착 상태의 발생 시스템 자원, 공유 변수 (또는 파일), 응용 프로그램 사용 시 발생 시스템 자원 : 어떤 프로세스가 임계구역으로 보호되는 프린터, 스캐너, CD 레코더 등 동시에 같이 사용할 수 없는 시스템 자원을 할당받은 후 양보하지 않는 경우 공유 변수 : 한 변수를 할당받은 상태에서 다른 변수를 기다릴 경우, 모든 프로세스가 임계구역에 들어가지 못하는 교착 상태 발생 (무한 대기) 응용 프로그램 : 데이터베이스가 데이터 일관성을 유지하기 위해 사용하는 잠금에서 교착 상태 발생 가능 자원 할당 그.. 2021. 12. 9.
[OS] 임계구역, 임계구역 해결 공유 자원 shared resource 여러 프로세스가 공동으로 이용하는 변수, 메모리, 파일 등 공동으로 이용되기 때문에 프로세스들의 접근 순서를 정하여 예상치 못한 문제가 발생하지 않도록 해야함 경쟁 조건 (race condition) : 2개 이상의 프로세스가 공유 자원을 병행적으로 읽거나 쓰는 상황 임계구역 critical section 공유 자원 접근 순서에 따라 실행 결과가 달라지는 프로그램의 영역 임계구역에서는 프로세스들이 동시에 작업하면 안 됨 - 생산자-소비자 문제 (producer-consumer problem) 생산자는 계속 물건을 생산해 버퍼에 넣고 : input(buf) 소비자는 계속 버퍼에서 물건을 가져온다 : output(buf) 버퍼는 작업을 계속하기 위해 원형 버퍼(circ.. 2021. 12. 6.
728x90