[운영체제]운영체제 연습문제 6,7장 풀이
- 최초 등록일
- 2005.11.15
- 최종 저작일
- 2005.05
- 7페이지/ MS 워드
- 가격 1,000원
소개글
운영체제 과제로 제출했었습니다.
목차
6.7
a. β > α > 0 이면 무슨 알고리즘인가?
b. α < β < 0 이면 무슨 알고리즘인가?
7.1 “busy-waiting”의 의미는 무엇인가? 이 방식과 다르게 기다리는 방식이 있다면 기술하시오.
7.5 일반적으로 n개의 프로세스를 위한 critical section 문제를 소프트웨어로 최초로 푼 사람은(이 때 최대 기다리는 시간이 n-1 회의 turn 보다 넘지 않는 것으로) Eisenberg와 McGuire였다. 이 방식에서는 두 개의 프로세스 P0와 P1이 다음 variable들을 공유한다.
8.4
a. 이 예에서 교착 상태를 위한 네 가지 필요 조건이 정말로 성립함을 보이시오
b. 이 시스템에서 교착 상태를 회피하는 간단한 법칙을 설명하시오.
8.15
a. Need 행렬의 내용은 무엇이 되는가?
b. 시스템은 현재 safe 상태에 있는가?
c. P1이 (0,4,2,0)을 요청하게 되면 그 요청을 즉시 들어줄 것인가?
본문내용
6.7 동적으로 변화하는 우선순위에 기반한 다음의 선점형 우선순위 스케줄링 알고리즘에 대해 생각해 보자. 우선순위 값이 클수록 높은 우선순위를 의미한다. 프로세스가 CPU를 대기할 때(준비 완료 큐에 있으나 실행되지는 않는) 그 프로세스들의 우선순위는 α의 비율로 변화한다. 프로세스가 실행되면 우선순위는 β 비율로 바꾼다. 준비 완료 큐에 들어올 때 모든 프로세스들의 우선순위는 0으로 주어진다. 매개변수 α 와 β의 값에 따라 여러 가지 다른 스케줄링 알고리즘이 만들어진다.
a. β > α > 0 이면 무슨 알고리즘인가?
- 동적 우선 순위 방법 : 상황 변화에 잘 적응하며, 구현하기가 복잡하고 오버헤드가 많으나, 시스템의 응답도를 증가시켜 주므로 효율성이 있다.
b. α < β < 0 이면 무슨 알고리즘인가?
- 정적 우선 순위 방법 : 구현이 쉽고, 상대적으로 오버헤드는 적으나, 반면 주위 여건의 변화에 적응하지 못하고, 우선 순위를 바꾸지 않는 기법이다.
7.1 “busy-waiting”의 의미는 무엇인가? 이 방식과 다르게 기다리는 방식이 있다면 기술하시오.
- 한 프로세스가 임계 구역에 있으면, 이 임계 구역에 진입하려는 프로세스는 진입 코드를 계속 반복 수행해야 한다. 이러한 계속적인 반복은 하나의 CPU가 여러 프로세스들에 의해 공유되는 다중 프로그래밍 시스템에서 큰 문제가 된다. 즉 “busy-waiting”는 다른 프로세스들이 생산적으로 사용할 수 있는 CPU 시간을 낭비하게 된다.
- “busy-waiting”의 필요성을 극복하기 위해 wait 와 signal 세마포 연산의 정의를 변경 할 수 있다. 프로세스가 wait 연산을 실행하고 세마포 값이 양수가 아닌 것을 발견하면 프로세스는 반드시 대기해야 한다.
예) “busy-waiting” 데신에 pthread_cond_wait, pthread_cond_signal을 사용할 수 있다.
참고 자료
없음