본문 바로가기
IT관련/JAVA_정리 노트

[ 정보처리기사 ] 운영체제 기초 활용 _ 프로세스 스케줄링

by XoX 2021. 6. 18.
728x90

 

해당내용은 <수제비 정보처리기사> 책을 참고하여 작성된 개인적인 용도의 요약본입니다.

 

Ⅰ소프트웨어 설계

Ⅱ 소프트웨어 개발

Ⅲ 데이터베이스 구축

Ⅳ 프로그래밍 언어 활용

    Chapter 01 서버프로그램 구현

    Chapter 02 프로그래밍 언어 활용

    Chapter 03 응용 SW 기초 기술 활용

        1. 운영체제 기초 활용

        2. 네트워크 기초 활용

        3. 기본 개발환경 구축

Ⅴ 정보시스템 구축관리

 


1. 운영체제 기초 활용

3) 프로세스 스케줄링

(1) 프로세스

  • 프로세스 개념: 작업(Job) 또는 태스크. CPU에 의해 처리되는 사용자/시스템 프로그램 즉, 실행중인 프로그램.
  • 프로세스 상태
    • 성(Create) 상태
    • 비(Ready) 상태
    • 행(Running) 상태
    • 기(Waiting) 상태
    • 료(Complete) 상태
  • 프로세스 구성: 사용자 작성 코드 / 사용자 사용 데이터 / 스텍 / 프로세스 제어 블록(PCB) 
  • 스레드(Thread): 프로세스보다 가벼우며 독립적으로 수행되는 제어흐름을 나타내는 실행 단위

 

(2) 프로세스 상태 전이

  • 디스패치(Dispatch)
  • 할당 시간 초과(TimeOut)
  • 입출력 발생(Block)
  • 깨움(Wake-up)

 

(3) 프로세스 스케줄링

  • 프로세스 스케줄링: CPU를 사용하려고 하는 프로세스들 사이의 우선순위를 관리하는 작업
  • 프로세스 스케줄링 주요 용어
    • 서비스 시간: 프로세스가 결과를 산출하기까지 소용되는 시간
    • 응답시간: 프로세스들이 입력부터 결과산출까지 소용되는 시간. 대기시간+수행시간
    • 평균 응답시간: 대기 큐의 프로세스가 결과산출까지 소용되는 시간 평균
    • 대기시간: 프로세스가 프로세서에 할당 대기까지 큐에 대기하는 시간
    • 평균 대기시간: 프로세스가 대기 큐에서 대기하는 평균 시간
    • 종료시간: 요구되는 프로세싱 타임을 모두 수행하고 종료된 시간
    • 시간 할당량: 한 프로세스가 프로세서(cpu)를 독점하는 것을 방지하기 위해 서비스되는 시간 할당량
    • 응답률: (대기시간+서비스시간)÷서비스시간
  • 프로세스 스케줄링 유형
    • 선점형 스케줄링: 하나의 프로세스가 CPU를 차지하고 있을 때, 우선순위가 높은 프로세스가 현재의 프로세스를 중단시키고 CPU를 점유하는 스케줄링 방식
    • 비선점형 스케줄링: CPU를 할당받은 프로세스가 존재할 경우, 반환까지 딴 프로세스가 점유할 수 없는 방식
  • 프로세스 스케줄링 알고리즘
    • 선점형 스케줄링 알고리즘: SMMR 
      • SRT(Shortest Remaining Time First): 가장 짧은 시간이 소요되는 프로세스를 먼저 수행
      • 다단계 큐(Multi Level Queue): 작업들을 여러종류그룹으로 분할하여 여러 큐를 이용해 스케줄링 
      • 다단계 피드백 큐(Multi Level Feedback Queue): FCFS와 라운드로빈을 혼합한 방식
      • 라운드 로빈(Round Robin): 프로세스는 같은 크기의 시간이 할당되며 못 끝내면 준비큐에 넘기고 다음 것 실행
    • 비선점형 스케줄링 알고리즘: 우기HFS
      • 선순위(Priority): 각 프로세스 별로 우선순위가 주어지고, 우선순위에 따라 CPU할당 
      • 한부(Deadline): 작업들이 명시된 시간이나 기한 내에 완료되도록 계획
      • HRN(Highest Response Ratio Next): 기아현상 발생시키는 SJF를 보완하여, 대기시간이 긴 프로세스일 경우 우선순위가 높아지게 결정. HRN계산식=(대기시간+서비스시간)÷서비스 시간
      • FCFS(First Come First Service): 먼저 들어온 프로세스가 먼저 실행
      • SJF(Shortest Job First): SRT와 같은 방식이나 선점형이아닌 비선점형 알고리즘
  • 프로세스 스케줄링 알고리즘 계산방법: 반종도 대반서
    • 환시간(응답시간)=료시간-착시간
    • 기시간(프로세스가 CPU에 할당되기까지 준비큐에 대기하는 시간)=환시간-비스시간

 

(4) 프로세스 관리-교착상태(Deadlock)

  • 교착상태 개념: 다중 프로세싱 환경에서 두 개 이상의 프로세스가 특정 자원할당을 무한정 대기하는 상태
  • 교착상태 발생 조건
    • 호배재
    • 유와 대기
    • 선점
    • 형 대기
  • 교착상태 해결방법
    • 방(Prevention): 교착상태 발생 조건을 애초에 하지 않는 것.
    • 피(Avoidance): 안전한 상태를 여부 확인후, 안전한 상태에서만 할당. e.g.은행가알고리즘, Wound-Wait Wait-Die
    • 견(Detection): 시스템 상태를 감시하는 알고리즘으로 교착상태검사. e.g. 자원할당그래프
    • 구(Recovery): 교착상태가 없어질 때까지 프로세스를 순차적으로 kill하여 제거

 

4) 환경변수

(1) 환경 변수 개념

  • 환경 변수 보기
  • 환경 변수 설정

(2) 윈도우즈 운영체제의 환경변수

 

(3) 리눅스/유닉스 운영체제의 환경 변수

 

 

 

 

 

728x90
반응형

댓글