검색결과 리스트
글
<교착상태(DeadLock)>
자원이 한정적인 상황에서 두 개 이상의 프로세스가 각자 먼저 확보한 자원을 가진 채 상대방의 자원을 필요로 할 경우, 외부로부터의 조치가 없는 한 이들은 아무 일도 못하고 계속 기다려야 할 것이다. 이러한 상황을 컴퓨터 시스템에서는 교착 상태(Deadlock)라고 한다.
다시말해, 둘 이상의 프로세스가 각자가 가지고 있던 자원을 보유한 채로 외부적 조치가 없는 한 영원히 그 상태에서 기다리고 있는 상황
[교착 상태의 근본 원인]
- 시스템이 가지고 있는 한정적인 자원보다 사용하고자 하는 프로세스들의 요청이 더 많기 때문
[교착 상태의 문제점]
- 해당 프로세스들이 더 이상 실행되지 못하여 사용자들에게 응답해 주지 못한다는 점
- 보유된 자원들이 교착 상태에서 벗어나기 전까지는 전혀 활용되지 못한다는 점=>결국 시스템의 성능 저하로 나타날 수밖에 없음
<자원이란?>
교착 상태를 일으키는 원인이 자원(Resource).
운영체제의 중요한 임무 중의 하나가 자원의 관리.
- 하드웨어 자원 : 하드디스크, 테이프 드라이브, 메모리 등
- 소프트웨어 자원 : 데이터나 메시지 등
[선점 가능성에 따른 분류]
- 선점 가능(Preemptible) 자원 : CPU나 메모리와 같은 자원처럼 한 프로세스에 의해 사용 도중 선점(Preemption)되어 다른 프로세스에게 할당(Allocation)해 주었다가 이 후 다시 원래의 프로세스에게 돌려주어도 되는 자원
- 선점 불가능한(Nonpreemptible) 자원 : 선점이 될 경우 자원을 뺏긴 프로세스는 정상적인 진행을 포기해야 하는 불이익을 받게 되는 경우의 자원
[자원이 사용되어지는 방식에 따른 분류]
한 프로세스에게 할당된 자원을 동시에 다른 프로세스가 할당받아 같이 사용할 수 있는지의 여부에 따라 공유 가능(Sharable) 자원과 배타적 사용(Exclusive Use) 자원으로 분류
- 배타적 사용 자원 : CPU, 메모리, 테이프, 버퍼(Buffer), 키보드와 모니터 등
- 공유 가능 자원 : 공유 가능한 프로그램(시스템 프로그램이나 유틸리티 프로그램 등)과 공유 데이터 등
[자원의 속성에 따른 분류]
먼저 할당된 자원이 사용 후 반납(Release)되었을 때 자원 자체는 계속 존재하여 또 다른 프로세스에게 할당이 가능하다면 그 자원은 순차적 재사용 가능(Serially Reusable) 자원 - 시스템에서 프로세스들이 아무리 사용해도 없어지지 않고 영구히 존재하는 자원으로 CPU, 메모리, 테이프, 하드디스크, 버퍼,프로그램 등
사용 후 사라지는 자원은 소모성(Consumable) 자원 - 일시적으로 생성되었다가 사용된 후 없어지는 시그널(Signal)이나 메시지 등
Copyrightⓒ2014 By 휴먼사이언스
'OS > Theory' 카테고리의 다른 글
교착상태와 프로세스 (0) | 2016.04.14 |
---|---|
병행 프로세스 - 생산자/소비자 문제(Producer/consumer Problem) (0) | 2016.04.13 |
병행 프로세스 (Concurrent Process), 임계구역, 상호배제 (0) | 2016.04.12 |
CPU Scheduling(스케줄링) - 다단계 큐 스케줄링, 다단계 피드백 큐 스케줄링, Fair-share 스케줄링, 실시간 스케줄링 (0) | 2016.04.11 |
상호배제의 문제점 코드들, 그리고 해결책 (Peterson 알고리즘) (0) | 2016.04.11 |
RECENT COMMENT