[운영체제] 운영체제 내용 정리(6장부터)

 1  [운영체제] 운영체제 내용 정리(6장부터)-1
 2  [운영체제] 운영체제 내용 정리(6장부터)-2
 3  [운영체제] 운영체제 내용 정리(6장부터)-3
 4  [운영체제] 운영체제 내용 정리(6장부터)-4
 5  [운영체제] 운영체제 내용 정리(6장부터)-5
 6  [운영체제] 운영체제 내용 정리(6장부터)-6
 7  [운영체제] 운영체제 내용 정리(6장부터)-7
 8  [운영체제] 운영체제 내용 정리(6장부터)-8
 9  [운영체제] 운영체제 내용 정리(6장부터)-9
 10  [운영체제] 운영체제 내용 정리(6장부터)-10
 11  [운영체제] 운영체제 내용 정리(6장부터)-11
 12  [운영체제] 운영체제 내용 정리(6장부터)-12
 13  [운영체제] 운영체제 내용 정리(6장부터)-13
 14  [운영체제] 운영체제 내용 정리(6장부터)-14
 15  [운영체제] 운영체제 내용 정리(6장부터)-15
 16  [운영체제] 운영체제 내용 정리(6장부터)-16
 17  [운영체제] 운영체제 내용 정리(6장부터)-17
 18  [운영체제] 운영체제 내용 정리(6장부터)-18
 19  [운영체제] 운영체제 내용 정리(6장부터)-19
 20  [운영체제] 운영체제 내용 정리(6장부터)-20
※ 미리보기 이미지는 최대 20페이지까지만 지원합니다.
  • 분야
  • 등록일
  • 페이지/형식
  • 구매가격
  • 적립금
자료 다운로드  네이버 로그인
소개글
[운영체제] 운영체제 내용 정리(6장부터)에 대한 자료입니다.
본문내용
7.3 교착상태 처리를 위한 방법
1) 시스템이 교착상태로 들어가지 않도록 하는 프로토콜을 사용한다. (교착상태 회피의 기법)
2) 시스템이 교착상태로 들어가도록 허용한 후 회복시킨다.
3) 시스템에서 교착상태가 결코 발생하지 않도록 예방한다. (Deadlock Prevention)

7.4 Deadlock Prevention
- 교착상태 발생의 필요조건 중 하나라도 성립되지 않으면 교착상태가 발생하지 않는다는 것을 이용한다.
1) 상호배제 : 자원의 비공유를 전제로 하므로 공유되는 자원에 대해서는 교착상태 발생 않음
2) 점유와 대기 : 프로세스가 자원을 요청할 때마다 다른 자원들을 점유하지 않도록 보장
① 프로세스가 실행되기 전에 프로세스가 요청하는 모든 자원을 함께 할당한다.
② 프로세스가 자원을 전혀 갖고 있지 않은 상태에서만 자원을 요청할 수 있게 한다.
③ 단점 : 자원이용율이 낮아지며(효율이 떨어짐), Starvation이 발생할 가능성이 있다.
3) 비선점 : 어떤 자원을 요청하면 이들이 가용한지를 검사
4) 순환대기 : 모든 자원들에 대하여 순서를 부여

7.5 교착상태 회피
- 위에서 언급한 예방법은 시스템의 처리율과 장치의 이용율을 감소시킨다. 그래서 또 다른 방법으로 교착상태를 회피하는 알고리즘을 생각하게 된 것이다. 이는 자원들을 요청하는데 필요한 부수정보를 요청하는 것이다. 예를 들면, 요청순서, 대기여부, 가용한 자원의 수, 할당된 자원의 수, 프로세스 최대 요구 수 등과 같은 것이다.

7.6 교착상태 감지
- 교착상태가 발생할 우려가 있는 시스템은 다음 사항을 지원하여야 한다.
1. 교착상태가 발생하였는지를 파악하지 위하여 시스템의 상태를 검사하는 알고리즘
2. 교착상태를 회복시키는 알고리즘

7.7 교착상태로부터의 회복
1. 프로세스 중지 : 순환 대기를 탈피하기 위한 것이다.
① 교착상태 프로세스들을 모두 중지 - 문제점 발생
② 교착상태가 해결될 대까지 하나씩 중지
2. 자원선점 : 교착상태의 프로세스로부터 몇몇 자원을 선점
- 선점권을 이용하기 위해 해결해야 할 사항
① 희생자의 선택 : 선점될 자원과 프로세스 선택
② 복귀(rollback) : 자원을 선점당한 프로세스의 복귀문제
③ 기아(starvation) : 동일한 프로세스에 의한 자원선점

7.8Combined Approach to Deadlock Handling
- 기본적인 방식들(회피, 예방, 탐지)만으로 운영체제에서 발생하는 전체 자원 할당문제를 취급하는 것은 적절하지 못하므로 이들을 복합적으로 결합하여 시스템의 자원 종류마다 최적의 접근 방식을 채택하는 것이 좋다.

제 8장 기억장치 관리(Memory Management)

8.1 Background
1. Address Binding
- 한 주소공간에서 다른 주소공간으로의 사상을 의미하며, 세 단계로 구분한다.
1) Compile time : 컴파일 시간에 적재될 위치가 결정되면 컴파일러는 절대코드를 생성한다.
2) Load time : 프로세스가 적재될 위치를 컴파일 시간에 알지 못하면 재배치 코드를 생성하며, 적재될 위치의 결정은 적재 시간까지 지연된다.
3) Execution time : 프로세스가 수행 중에 한 기억장치 세그먼트로부터 다른 세그먼트로 이동할 수 있다면 바인딩은 수행 시간까지 지연되어야 한다.