교착 상태 해결 : 교착 상태 탐지 교착 상태 탐지(Deadlock Detection)

Slides:



Advertisements
Similar presentations
A 장형태.  병행프로세스 개요  상호배제 (Mutual Exclusion)  상호배제 ( 세마포어 )  모니터 (monitor)  프로세스간 2 가지 통신방법.
Advertisements

북한기도제목 1 월 1 주 (1/1-1/7). 1. 북한정치 - 북한의 대남정책 전반을 관장하는 김양건 북한 노동당 비서 겸 통일전선부장이 교통사 고로 지난 29 일 사망했다고 조선중앙통신이 30 일 보도했습니다. 한편 김양건 노동당 비 서의 죽음이 의도적인 암살 가능성이.
UNIX 운영 체제의 설계 - Chapter 4. 파일의 내부 표현
운영체제 Chapter 3 병형 프로세스 박요안.
운영체제 3주차 정리 박 남 규.
Maximum Flow.
URLink 팀명: S.B.S. 팀원: 김보성, 박지수.
Concurrency: Deadlock and Starvation
Report #5 - due: 4/13 다음 10*5의 희소 행렬 A, B를 고려하라.
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
데이터 관리의 모든 것 데이터 최적화하기 데이터 정렬하기 자동 필터와 고급 필터
제 9 장 구조체와 공용체.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
컴퓨터 프로그래밍 기초 [Final] 기말고사
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
제 7 장 교착 상태 (Deadlocks) 7.1 시스템 모델 (System Model)
제 7 장 교착 상태 7.1 개요 개념 교착 상태란 프로세스들의 집합이 더 이상 진행을 못하고 영구적으로 블록되어 있는 상태 집합 내의 한 프로세스가 특정 사건의 발생을 기다리며 대기하고 있고, 이 사건이 집합 내의 다른 블록 된 프로세스에 의해 발생될 수 있을.
Concurrency: Deadlock and Starvation
운영체제 4장 요약정리(CPU 스케줄링) 2A 박훈.
Chapter 02 순환 (Recursion).
Chapter 06 프로세스와 예약작업 관리 Solaris 1. 프로세스 관리
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
For/While Syntax & Practice!!
교착상태(Deadlocks) 시스템 모델(System Model) 프로세스는 자원을 요구 -> 사용 -> 해제
비선형 방정식 김영광.
메시지 큐[5] – test1.c 메시지 제어: msgctl(2) #include <sys/msg.h>
보고서 #5(제출기한: 10/14) 다음 문제를 해결하시오.
Sungkyunkwan University OS Project Dongkun Shin
03. 병행 프로세스 (Parallel Process)
13. 연산자 오버로딩.
국가대표 생애주기교육 프로그램 참여방법 안내
프로그래밍 개요
Bakery Algorithm Lamport’s 람포트의 제과점 알고리즘 Designed by 이기헌
Quiz #7 다음 수들을 합병 정렬과 퀵 정렬 알고리즘을 이용하여 오름 차순으로 정렬하였을 때, 데이터 이동 회수를 각각 구하라. 여러분은 정렬 과정을 단계별로 보이면서 이동 회수를 추적해야 한다. 단, 퀵 정렬시에 피봇으로 배열의 왼쪽 첫 번째 원소를 선택한다. 5.
Operating System Concepts
시뮬레이션 기반 가상 보조기구 알고리즘 최적화
수업 첫 날 교육B 황유미 첫 수업 계획에 대해 알아보도록 하겠습니다..
보고서 (due 5/8) 다음과 같은 방식으로 문제를 해결하시오. 문제 분석 알고리즘 작성 프로그램 작성 테스트 및 검증
연결링크 이미지를 마일리지샵 내에 기획전으로 제작하여 오픈/노출 사이즈 가로 1000/세로 상관x 배너사이즈 가로 400
2. 교착상태 해결 기법 실행 과정 - t0 시간에 시스템은 안정상태이며, 순서는 안정 조건을 만족함. - 프로세스 P1은 사용 가능한 자원을 2개 할당 받아 실행한 후 반납 가능하므로 시스템의 여분 자원은 5 개임. - P0은 사용 가능한 자원.
CACM 구현 public class CACM { public CACM(File file)
Choi Seong Yun 컴퓨터 프로그래밍 기초 #06 : 반복문 Choi Seong Yun
9강. 클래스 실전 학사 관리 프로그램 만들기 프로그래밍이란 결국 데이터를 효율적으로 관리하기 위한 공구
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
5 교착상태와 기아상태.
운영체제 (Operating Systems)
수학10-나 1학년 2학기 Ⅳ.삼각함수 4. 삼각방정식과 삼각부등식(9/12) 삼각함수 수업계획 수업활동.
( Windows Service Application Debugging )
수학10-나 1학년 2학기 Ⅱ.부등식의 영역 1. 부등식의 영역(2/5) 부등식 영역 수업계획 수업활동.
알고리즘 알고리즘이란 무엇인가?.
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
약식 진리표를 이용한 타당성 증명 진리표 그리기 방법의 한계
클러스터 시스템에서 효과적인 미디어 트랜스코딩 부하분산 정책
Handle Graphics System & GUI
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
CPU 스케줄링  이성연.
병행 프로세스 병행처리는 프로세스들이 서로 관계없이 독립적으 로 수행 가능하고 다른 프로세스들과 협력을 필요로 하면서 기능 수행 3.1 개요 parbegin/parend 제어문 : 순차적인 수행으로부터 여러 개의 동시 수행으로 갈라짐을 지시하는 명령어와 여러 개의 동시.
쉽게 배우는 알고리즘 2장. 점화식과 점근적 복잡도 분석
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
ITQ 정보기술자격 국가공인 Excel 2007 Ⅱ 함수- 12회차 강사 : 박영민.
5장 교착 상태 교착상태의 원리를 이해한다. 교착상태의 해결을 위한 예방, 회피, 탐지 그리고 회복에 대하여 알아본다.
이산수학(Discrete Mathematics)  술어와 한정기호 (Predicates and Quantifiers)
수치해석 ch3 환경공학과 김지숙.
수학10-나 1학년 2학기 Ⅱ.부등식의 영역 3. 부등식의 영역에서 최대, 최소(5/5) 부등식 영역 수업계획 수업활동.
제 8장 가상 기억장치의 구성과 관리 장태양.
운영체제보안 SELinux 실습 박민재
C++ Espresso 제15장 STL 알고리즘.
6 객체.
병행 프로세스(Parallel Process)
2. 프로세스 B 안우진 - 운영체제 -.
Presentation transcript:

교착 상태 해결 : 교착 상태 탐지 교착 상태 탐지(Deadlock Detection) 운영 체제는 실시간으로 탐지 알고리즘 수행하여 교착 상태를 탐지하여야 함 교착 상태가 존재하면 정상 처리될 수 있게 이를 회복(recovery)해야 함 - 이 과정에서 프로세스와 자원의 낭비가 초래됨 자원 할당 그래프를 이용하여 탐지할 수 있음 그래프 내의 모든 프로세스에 대하여 화살표를 제거할 수 있으면 교착 상태는 없고 제거 불가능 하다면 교착 상태일 가능성이 있음 OS07

교착 상태 해결 : 교착 상태 탐지 탐지 알고리즘 교착 상태 확인 후 회복을 위해 시스템이 해야 할 작업 교착 상태 회피 알고리즘의 변형 교착 상태 확인 후 회복을 위해 시스템이 해야 할 작업 ① 프로세스에 할당된 자원에 관한 정보뿐만 아니라 자원 할당 요청에 대한 정보도 유지해야 함 ② 교착 상태 유무를 알기 위해 이 정보를 이용할 알고리즘이 제공 되어야 함 OS07

교착 상태 해결 : 교착 상태 탐지 탐지 알고리즘(Shoshani and Coffman algorithm) n개의 프로세스, m개의 자원 종류 Available : 각 종류(자원)에서 사용 가능한 자원 수를 나타내는 값이 m인 벡터 Allocation : 현재 각 프로세스에 할당된 각 종 자원의 수를 정의한 (n x m) 행렬 Request : 각 프로세스가 현재 요청한 자원을 나타내는 (n x m) 행렬 (1) Work와 Finish는 각각의 값이 m과 n인 벡터. 초기치로 Work = Available; if Allocation[i, j] ≠ 0 then Finish[i] = false otherwise Finish[i] = true 단, i=1, 2, …, n (2) 다음과 같이 되는 i 값을 찾는다. a. Finish[i] = false b. Request[i, j] ≤ Work[j] 만일, 이러한 i 값이 존재하지 않는다면 4단계로 간다. (3) Work[j] = Work[j] + Allocation[i, j] Finish[i] = true go to step (2) (4) 모든 i에 대하여 Finish(i) = true이면, 이 시스템은 안전 상태, 또한 Finish(i) = false이면 P(i)는 교착 상태 OS07

(예) 교착 상태 탐지 알고리즘 : 1. 미교착 상태의 경우 (자원 수 : A=9, B=5, C=7) 할당량 (Allocation) 요구량 (Request) 잔여량 (Available) A B C 1 2 3 ⑤ p1 6 4 9 5 7 ② p2 ④ p3 8 ① p4 ③ p5 미교착 상태 순서 : <P4, P2, P5, P3, P1> OS07

(예) 교착 상태 탐지 알고리즘 : 2. 교착 상태의 경우 (예) 교착 상태 탐지 알고리즘 : 2. 교착 상태의 경우 (자원 수 : A=9, B=5, C=7) 할당량 (Allocation) 요구량 (Request) 잔여량 (Available) A B C 1 2 3 p1 6 4 p2 p3 ① p4 p5 5 8 p4가 수행되고 (2)를 만족하는 프로세스가 없으므로 (4)에서 p1, p2, p3, p5가 false이므로 교착상태가 탐지 됨 OS07