Scheduled maintenance: Thursday, December 22 from 3PM to 4PM PST Show
Home Subjects Expert solutions Create Log in Sign up Upgrade to remove ads Only A$47.99/year
Terms in this set (41)세마포 임계영역이 상호 배제로 수행되게 하는 방법 여러 프로세스 사이에서 공유된다 세마포 s 정수 변수이거 수행할 수 있는 프로세스의 개수를 의미 초기화한 다음에는 wait와 signal의 표준 원자 연간으로는 접근 가능 Wait와 signal의 고전적 정의 코드 설명 Wait와 signal 연산에 있는 s의 값의 변경은 분리할 수 없도록 실행되어 한다 Wait의 경우 s의 값을 검사하고, 수정하는 과정은 연속적(인터럽트 없이)으로 수행된다 사용법 세마포는 n개의 프로세스의 임계 영역 문제를 취급하는 데 사용 N개의 프로세스들은 공동 세마포 mutex(mutual exclusion)을 공유하며 1로 초기화 세마포에 의한 상호 배제 구현 코드 Critical section의 문제를 해결했다 Repeat Signal(mutex) 예) 두개의 병행 프로세스의 "동기화(synchronization)" 해결 방법 1.가정:p2의 문장 s2는 p1의 문장 s1이 실행된 다음에만 실행 P1코드 P2코드 세마포의 단점 바쁜 대기 (busy waiting)요구 - cpu시간 낭비 (spinlock) 바쁜 대기 해결 방법 1.Wait 상태에 있고 세마포가 양이 아닐때, busy waiting에 머물지 말고 자신을 block시킨다 2.Blocked된 프로세스는 세마포와 관련된 대기 큐에 들어가고, 프로세스의 상태는 대기 상태가 된다 3.cpu스케쥴러는 다른 프로세스를 실행시킬 수 있다 4. Block된 프로세스는 후에 다른 프로세스가 signal 명령을 실행하면 wakeup명령에 의해 다시 시작한다 수정된 세마포 정의 세마포를 record로 정의한다 Type semaphore = record 세마포의 값이 음수이면, 그것의 크기(절대값)은 세마포를 기다리는 프로세스들이 수이다. 세마포 동작의 정의 코드 확인 Wait(s) Signal(s) 교착상태 2개 이상의 프로세스가 절대 발생하지 않는 이벤트를 기다리고 있는 상태 해결방법 프로세스나 리소스에 우선 순위를 정하거나 식사하는 철학자 경위 교착상태 생기는 이유 젓가락은 공유 안됨 컴퓨터에서도 프린터나 메모리든지 리소스도 공유안한다 프로세스가 자원을 이용하는 순서 1.요청 - 요청이 즉시 허용되지 않으면, 대기 상태로 들어간다 2.사용 3.해제 교착 상태가 발생하기 위한 4가지 조건 1. 상호배제(mutual exclusion) - 자원들이 서로 다른 프로세스에 의해서 동시에 사용될 수 없다 2. 점유대기(hold and wait) - 프로세스가 이미 어떤 자원을 할당 받은 상태에서 다른 자원을 기다린다 3. 비선점(no preemption) - 프로세스가 어떤 자원의 사용을 끝낼 때까지 다른 프로세스가 그 자원을 뺏을 수 없다. 4. 순환대기(circular wait) - 각
프로세스는 순환적으로 다음 프로세스가 요구하는 자원을 가지고있다. 자원 할당 그래프 원은 프로세스를 의미 사각형에서 원으로 향하는 화살표 : 자원이 이미 할당 교착 상태 발생 여부 1. 자원 할당 그래프에 주기가 존재하지 않으면 교착 상태 발생 않는다 2. 주기 존재하면 예) 7-1, 7-2, 7-3 7-2만 교착 상태에 빠졌다 교착상태 처리 방법 1. 방지(prevention)- 4가지 원인 중 하나 이상을 제거하여 원천적으로 발생하지 않도록 하는 것 2. 회피(avoidance) - 교착 상태가 발생하지 않는 상태일 때만 자원을 할당하는 방법 3. 탐지와 회복(detection and recovery)-교착 상태가 발생하면 이를 감지하고 교착 상태를 해제하는 것 4. 무시 (ignore) - 교착 상태의 발생 여부를 무시 교착상태 처리방법중 방지의 4가지 방법중 점유와 대기 조건 배제 프로세스가 자원을 요청할 때마다 다른 자원들을 점유하지 안하도록 조장해야 한다. 프로토콜 1 : 실행되기 전에 모든 자원 함께 할당 예) 테이프 드라이브에서 디스크 파일로 자료를 복사하고, 정렬한 다음에 프린터에 결과를 인쇄하는 프로세스 경우 프로토콜1: 프로토콜2: 점유와 대기 배제에서의 두 프로토콜의 단점 1. 많은 자원이 할당되어서 오랫동안 사용될지 않기 때문에 자원의 이용도가 낮다 2. 기아 상태가 존재 할 수 있다 교착상태 처리방법중 방지의 4가지 방법중 상호 배제 조건 배제 자원의 공유를 허용한다. 교착상태 처리방법중 방지의 4가지 방법중 비선점 조건 배제 프로토콜1: 선점 당함 프로토콜: 선점 함 비선점 조건 배제에서의 두 프로토콜의 단점 1. Cpu레지스터가 메모리 공간처럼 상태가 쉽게 기억되고 재사용돌 수 있는 자원들에만 적용된다 2. 일반적으로 프린터나 테이프 드라이브같이 자원들에는 적용할 수 없다. 교착상태 처리방법중 방지의 4가지 방법중 순환 대기 조건 배제 모든 자원 형태들을 전체 순서를 부여하며, 각 프로세스가 열거된 상태에서 오름차순으로 자원을 요청한다. 프로토콜1- 오름차순으로만 요청 프로토콜2 - 자원을 요청할 때 그보다 우선순위 낮은 자원은 해제한다 모든 교착 상태 방지 방법의 단점 장치의 이용률이 저하되고, 시스템 처리율이 감소 교착상태 처리방법중 방지의 4가지 방법중 교착 상태 회피 교착 상태 회피 모형 .자원들을 요청하는 데 필요한 추가 정보를 미리 요구 Safe상태에서 unsafe상태로 들어가지 않도록 하는 것이 Avoidance 회피이다 안정상태(safe state) 시스템이 각각의 프로세스에게 특정한 순서대로 자원들을 할당하고 나서도 교착 상태에 빠지지 않았을 때 안정 상태라고 한다 Safe sequence 모든 Pi에 대해서 Pi가 요청한 자원들이 현재 사용 가능한 자원들과 j<i인 모든 Pj가 점유한 자원들로부터 만족될 수 있다면 Safe sequence가 존재할 때 시스템이 안정 상태에 있다고 할 수 있다 안정상태는 교착 상태? 아니다 불안정 상태 교착 상태는 불안정 상태이다 마그네틱 테이프 드라이브 12 개 예를 이해하라 재밌어 교착 상태 회피를 이루기 위해서 무슨 알고리즘이 있나? 은행가 알고리즘 교착상태 처리방법중 교착 상태 탐지 .각 자원 형태라도 자원이 한 개씩 있는 경우- 대기 그래프를 사용 .자원 형태마다 여러 개의 자원이 있는 경우: 은행가 알고리즘 사용 1.각 자원 형태 마다 자원이 한 개씩 있는 경우 자원 할당 그래프의 변형인 대기 그래프를 사용 대기 그래프 - 자원 할당 그래프에서 자원 형태 노드와 관련 간선을 제거함으로써 구성된다 교착 상태는 대기 그래프에서 순환(circle)이 존재할 때 발생한다 2.자원 형태마다 여러 개의 자원이 있는 경우 Banker's 알고리즘과 유사한 기법이 있다 교착상태 처리방법중 교착 상태초부터 회복 1. 프로세스 중지 .교착 상태가 해결될 때까지 한 프로세스마다 중지 2. 자원 선점(os가 뺏어 옮): 프로세스로부터 자원을 선점해 이들을 교착 상태가 해결될 때까지 다른 프로세스에게 주어야 하며, 1. 프로세스 중지 . 교착 상태 프로세스 모두 중지 : 확실하게 교착 상태 해결이지만 비용이 많이 든다(프로세스들이 오랫동안 연산했을 가능성있다) .교착 상태가 해결될 때까지 한 프로세스마다 중지: .프로세스
중지 원칙 2. 자원 선점 프로세스로부터 자원을 선점해 이들을 교착 상태가 해결될 때까지 다른 프로세스에게 주어야 한다 .해결해야만 사항 { . 희생자 선택 - 어느 자원과 어느 프로세스들이 선점될 것인가 선택. 대부분의 일상적인 해결 방법은 비용 요소로 복귀의 수를 포함시킨다 Other sets by this creatorgoogle sign in for firebase database5 terms sgraphy how to2 terms sgraphy SingleView D:\xamarin_ios\all new\Hello\Hello8 terms sgraphy ealbum에서 기본적으로 알아야 하는것들3 terms sgraphy Other Quizlet setsSection 1: Intro real estate28 terms hailey_hall174 AP Gov Midterm Exam Practice Questions Chapters 1-8177 terms bobannon11 CDFM Module 3, Area 2 Finance197 terms Kls2381 AllCards1020165 terms squire215 |