[공학]HRRN
- 최초 등록일
- 2007.04.27
- 최종 저작일
- 2007.01
- 33페이지/
한컴오피스
- 가격 5,900원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
운영체제 시간에 숙제를 했던 HRRN 스케쥴링 입니다.
PCB도 집적 표를 그리며 다 작성하였고,
프로젝트가 진행되는 일정표까지 자세하게 되어 있습니다.
또한 소스도 첨부되어 있으며, 설명도 되어 있습니다.
참고 많이 하시기 바랍니다.
목차
1. HRRN(High-Response-Ratio-Next) scheduling
2. 프로젝트 진행 계획
1) 작업 분담표
2) 일정 계획표
3. 전체적인 운영방안
1) 자료구조 설계
2) 상태전이에 따른 작업 내용 설명서
3) 처리의 흐름도
4. 단계별 디스플레이용 화면 설계
5. 실험 결과
1) source code
2) 구현환경(시스템, 언어 등)
3) 문제점 고찰
6. 결론 및 느낀점
7. 참고문헌
본문내용
1. HRRN(High-Response-Ratio-Next) scheduling
1) Burst time이 긴 / 짧은 process들 간의 불평등 심화 방지 기법
- HRRN 알고리즘은 SJF알고리즘의 단점을 보완하여 개발된 기법이다. 즉, SJF 알고리즘은 CPU버스트가 짧은 작업에 우선권을 주기 때문에 대기 시작이 긴 작업에 대해서는 불평등을 초래하게 되는 문제를 갖고 있다. 처리의 우선순위 값 계산을 통해서 이 단점을 보완 하였다.
2) 대기 시간이 긴 작업의 기아상태에 빠지는 현상을 해결
- SJF 알고리즘은 CPU 버스트가 짧은 프로세스에 우선권을 주기 때문에 대기 시간이 긴 작업은 계속 대기하게 되고 최악의 경우 기아 상태(starvation)에 빠질 가능성이 높아진다.
그것을 우선권 계산 방식으로 해결하였다.
3) 응답률이 가장 높은 process에게 우선권을 주는 방식
- 큐 안에 있는 프로세스들 중 응답률 계산 [(WT + BT)/BT = 1 + WT/BT] 을 통해서 구해진 값들 중 큰 값을 가진 프로세스부터 작업을 실행한다.
★ 프로그램 내에서 PCB 설계
type
prcs = record // PCB구조
prcs_no: integer; // 프로세스 번호
bound: integer; // 바운드 횟수
io: Array[0..9, 0..1] of integer; // CPU/IO 저장 배열
bound_cnt: integer; // 바운드 카운터
create_t: integer; // 프로세스 생성 시간(레디큐 삽입 시간)
wait_t: integer; // ready_q에서 대기 시간
tot_wait_t: integer; // 전체 대기 시간
ret_time: integer; // 프로세스 종료 반환시간
stat_pcb: integer; // 프로세스 현재상태(0:Rready, 1:Run, 2:Block)
now_t: integer;
end;
위에서 보는 바와 같이 PCB자료구조는 레코드로 설계 하였다.
레코드란, 상이한 종류의 자료형을 여러 개 포함할 수도 있는 자료형의 묶음으로, 연관 있는 여러 종류의 데이터를 하나의 단위로 묶어서 사용할 경우 유용하게 쓰인다.
참고 자료
- 수업교제(운영제체, 정익사, 이계영 저)
- 델파이7, 대림, 한상홍 저