본문 바로가기

컴퓨터공부/정보처리기사

[정보처리기사] 스케줄링 , 비선점스케줄링 , FCFS , SJF ,HRN

by Life & study 2023. 7. 3.
반응형

[정보처리기사] 스케줄링

[정보처리기사] 스케줄링

 

스케줄링 
시스템의 여러자원을 해당 프로세서에게 할당하는 작업을
의미한다.

프로세스가 생성되어 실행될 때 필요한 시스템의 여러자원을
해당 프로세스에게할당하는 작업으로
공정성, 처리율증가, CPU 이용률 증가, 응답시간 및 반환시간최소화
를 목저으로 하는것

 



장기 스케줄링
시스템의 자원을 차지할 수있도록 할것인가?

중기 스케줄링
어떤 프로세서들이 CPU를 할당 받을것인지를 결정

단기 스케줄링
프로세서를 실행하기위해 CPU를 할당 받는 시기

 

[정보처리기사]  비선점스케줄링

비선점 스케줄링

이미 할당된 CPU를
다른 프로세스가 강제로 빼앗아 사용할수 없는것

비선점 스케줄링의 종류
기한부, FCFS, HRN,우선순위 SJF

 

[정보처리기사]  비선점스케줄링


선점 스케줄링

프로세스가 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는
스케줄링 기법

선점 스케줄링의 종류
Round Robin, 다단계 큐, SRT 선점 우선순위

 

[정보처리기사] FCFS

FCFS

(First Come First Service , 선입 선출)

준비상태 큐에 도착한 순서에 따라 차례로 CPU를 할당하는기법


평균 실행, 평균 대기, 평균 반환 구하는 공식

 

평균 실행 시간(Average Execution Time, AET)은 프로세스가 실행되는 데 걸리는 평균 시간을 의미합니다. 평균 대기 시간(Average Wait Time, AWT)은 프로세스가 실행을 기다리는 데 걸리는 평균 시간을 의미합니다. 평균 반환 시간(Average Turnaround Time, ATT)은 프로세스가 실행을 시작하고 종료하는 데 걸리는 평균 시간을 의미합니다. 평균 실행 시간은 다음 공식으로 계산할 수 있습니다

 

#include <stdio.h>
#include <stdlib.h>

int main() {
  // 프로세스의 수
  int n = 5;

  // 각 프로세스의 실행 시간
  int execution_times[] = {10, 20, 30, 40, 50};

  // 각 프로세스의 대기 시간
  int wait_times[] = {5, 10, 15, 20, 25};

  // 각 프로세스의 반환 시간
  int turnaround_times[] = {15, 30, 45, 60, 75};

  // 평균 실행 시간
  double aet = 0;
  for (int i = 0; i < n; i++) {
    aet += execution_times[i];
  }
  aet /= n;

  // 평균 대기 시간
  doubleawt = 0;
  for (int i = 0; i < n; i++) {
    awt += wait_times[i];
  }
  awt /= n;

  // 평균 반환 시간
  doubleatt = 0;
  for (int i = 0; i < n; i++) {
    att += turnaround_times[i];
  }
  att /= n;

  // 출력
  printf("평균 실행 시간: %.2f\n", aet);
  printf("평균 대기 시간: %.2f\n", awt);
  printf("평균 반환 시간: %.2f\n", att);

  return 0;
}

 

평균반환 출력값

평균 실행 시간: 25.00
평균 대기 시간: 15.00
평균 반환 시간: 40.00

 

 

[정보처리기사] FCFS  평균대기시간 

 

-평균대기시간 1번째 값 
도착시간 =평균대기시간 첫번째 값

-평균대기시간 2번째 값
1번째CPU사용시간 - 2번째 도착시간 = 평균대기시간 2번째값 

-평균대기시간 3번째 값
도착시간+ CPU사용시간+2번째대기시간= 
평균대기시간  3번째값

 

 

 

[정보처리기사] SJF

 

 

 

SJF
단기 작업 우선
(Shortest Job First)
준비상태 큐애서 기다리고 있는 프로세스 중에서
실행기간이 가장 짧은 프로세스에게
먼저 CPU를 할당하는 기법

가장 적은 평균 대기 시간을 제공하는 최적 알고리즘

[정보처리기사] HRN

HRN

(Hightest Response-ratio Nest)

대기시간과 서비스(실행)시간을 이용하는 기법

 

 

HRN 비선점형 스케줄링 우선순위 구하는 계산식을 쓰시오.
(대기시간 서비스시간)/서비스 시간

 

 

 


 

반응형

댓글