본문 바로가기
정보처리기사 필기 총정리/4과목: 프로그래밍 언어 활용

프로세스 및 스케줄링 ★★

by 함께 공부해요 2020. 10. 5.
p.657~661, 4-51

1) 프로세스(Process)의 정의

- 일반적으로 프로세서(처리기, Processor), CPU에 의해 처리되는 사용자 프로그램, 시스템 프로그램인 실행중인 프로그램을 의미하며 작업(Job), 태스크(Task)라고도 함

- 프로세서(Processor) → 프로세스(Process) → 프로시저(Procedure, 절차)

 

프로세스의 정의

 -프로시저가 활동중인 것

 -비동기적 행위를 일으키는 주체 ★★

 -운영체제가 관리하는 실행 단위

 -실행중인 프로그램

 -PCB(Process Control Block)을 가진 프로그램

 -실기억장치에 저장된 프로그램

 -프로세서가 할당되는 실체로서, 디스패치가 가능한 단위

 

 

2) PCB(Process Control Block, 프로세스 제어 블록)

저장 정보

설명

프로세스 고유 별자

프로세스를 구분할 수 있는 고유의 번호

프로세스의 현재

준비, 대기, 실행 등의 프로세스 상태

프로그램 운터

실행될 명령어의 주소를 가지고 있는 레지스터

CPU 지스터 정보

누산기, 인덱스 레지스터, 범용 레지스터 등에 대한 정보

케줄링 및

프로세스의 우선순위

스케줄링 정보 및 프로세스가 실행될 우선 순위

정 정보

CPU 사용 시간, 실제 사용 시간, 한정된 시간

, 출력 상태 정보

, 출력장치, 개방된 파일 목록

모리장치 관리 정보

기준 레지스터, 페이지 테이블에 대한 정보

포인터

프로세스가 위치한 메모리 및 할당된 자원에 대한 포인터

#식상카레 스계입메

 

 

3) 프로세스 상태 전이 ★ __ 201, 2회 기출문제

출처: http://seb.kr/w/%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4_%EC%83%81%ED%83%9C%EC%A0%84%EC%9D%B4%EB%8F%84

 

 

4) 프로세스 상태 전이 관련 용어

관련 용어

설명

디스패치

(Dispatch)

준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 할당받아 실행 상태로 전이되는 과정

# 준비(Ready) → 실행(Run)

Wake Up

프로세스가 대기 상태에서 준비 상태로 전이되는 과정

# 대기(Wait) → 준비(Ready)

스풀링(Spooling)

나중에 한꺼번에 입, 출력하기 위해 디스크에 저장하는 과정

 

 

5) 스레드(Thread) __ 201, 2회 기출문제

- 프로세스 내에서의 작업 단위로서 시스템의 여러 자원을 할당받아 실행하는 단위

- 프로세스의 일부 특성을 갖고 있기 떄문에 경량 프로세스라고도 함

- 동일 프로세스 환경에서 서로 독립적인 다중 수행 가능

 하나의 프로세스를 여러 개의 스레드로 생성해 병행성 증진  성능과 처리율 향상

   프로그램 응답 시간 단축 기억장소의 낭비가 줄어들고 통신이 향상 

 

단일 스레드: 하나의 프로세스에 하나의 스레드가 존재하는 경우

다중 스레드: 하나의 프로세스에 하나 이상의 스레드가 존재하는 경우

 

 

6) 스케줄링(Scheduling)의 개요

- 프로세스가 생성되어 실행될 떄 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업

종류

설명

장기 스케줄링

(작업 스케줄링,

상위 스케줄링)

어떤 프로세스가 시스템의 자원을 차지할 수 있도록 할 것인가를 결정하여 준비상태 큐로 보내는 작업

작업 스케줄러에 의해 수행됨

중기 스케줄링

어떤 프로세스들이 CPU를 할당받을 것인지 결정하는 작업

단기 스케줄링

(프로세서 스케줄링,

하위 스케줄링)

프로세스가 실행되기 위해 CPU를 할당받는 시기와 특정 프로세스를 지정하는 작업

프로세서 스케줄링 및 문맥 교환프로세서 스케줄러에 의해 수행됨

# 문맥 교환(Context Switching): 하나의 프로세스에서 다른 프로세스로 CPU가 할당되는 과정에서 발생되는 것

 

 

7) 스케줄링의 목적

- 공정성: 모든 프로세스에 공정하게 할당

- 처리량 증가: 단위 시간당 프로세스 처리량 증가

- CPU 이용률 증가: CPU 낭비 시간 줄이고, 사용되는 시간 비율 증가

- 우선순위 제도: 우선순위가 높은 프로세스 먼저 실행

- 오버헤드 최소화: 오버헤드 최소화

- 응답시간(Response Time, 반응 시간) 최소화: 작업 지시 및 반응 시작 시간 최소화

- 반환 시간(Turn Around Time) 최소화: 제출한 시간부터 실행 완료 시간 최소화

- 대기 시간 최소화: 준비상태 큐에서 대기하는 시간 최소화

- 균형 있는 자원의 사용: 메모리, , 출력장치 등의 자원을 균형 있게 사용

- 무한 연기 회피: 자원을 사용하기 위해 무한정 연기되는 상태 회피

→ CPU이용률, 처리율, 반환 시간, 대기 시간, 응답 시간

 

 

8) 프로세스 스케줄링의 기법 __ 4-54

선점(Preemptive) 스케줄링: 하나의 프로세스가 CPU를 할당받아 실행하고 있을 때 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 선점할 수 있는 기법

 - 우선순위가 높은 프로세스 빠르게 처리 가능

 - 빠른 응답 시간을 요구하는 대화식 시분할 시스템(Time Sharing System)에 사용됨

 - 많은 오버헤드 발생

 - 선점이 가능하도록 일정 시간 배당에 대한 인터럽트용 타이머 클록 필요

# Round Robin, SRT(Shortest Remaining Time), MLQ(Multi-Level Queue), MFQ

 #RTMF

 

비선점(Non-Preemptive) 스케줄링: 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 선점할 수 없는 기법

 - CPU를 할당 받으면 해당 프로세스가 완료될 때까지 CPU 사용

 - 모든 프로세스에 대한 요구를 공정하게 처리 가능

 - 프로세스 응답 시간의 예측 용이

 - 일괄 처리 방식에 적합

 - 중요한 작업(짧은 작업)이 중요하지 않은 작업(긴 작업)을 기다리는 경우 발생

 가뭄 현상

# 우선순위(Priority), 기한부(Deadline), FCFS(FIFO), SJF(Shortest Job First), HRN

 #PDF JH

 

 * HRN(Highest Response-ratio Next) __ 201, 2, 3회 기출문제

SJF 기법의 가뭄 현상을 보완하기 위한 방식으로, 대기 시간이 긴 프로세스일 경우 우선순위가 높아지고, 우선순위 계산식의 수치가 가장 높은 것부터 낮은 순으로 우선순위를 부여해 긴 작업과 짧은 작업 간의 지나친 불평등을 해소함

  HRN 우선순위 계산식: (대기시간 + 서비스시간) / 서비스시간

 

 

wook-2124.tistory.com/275

 

2020 정보처리기사 필기 총정리 (시나공, 수제비)

본 정리 글은 시나공과 수제비 필기책의 내용을 압축 요약하여 작성했기 때문에 내용이 부족할 수 있습니다. 자세한 내용과 출제 예상문제 및 기출문제를 공부하기 위해서 책을 꼭 참고하시고,

wook-2124.tistory.com

wook-2124.tistory.com/206

 

정보처리기사 필기, 실기 공부방법 및 기출문제 무료 공유

<네이버페이 5천원 적립 이벤트> 10/18까지 네이버페이 5,000원을 무료​로 주는 이벤트가 진행중이니 한번 확인해보세요🙏 네이버페이 포인트 5천원 무료 적립 이벤트! 모르면 손해!! (초간단) 먼�

wook-2124.tistory.com

댓글