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) 프로세스 상태 전이 ★ __ 20년 1, 2회 기출문제
4) 프로세스 상태 전이 관련 용어
관련 용어 |
설명 |
디스패치 (Dispatch) |
준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 할당받아 실행 상태로 전이되는 과정 ★ # 준비(Ready) → 실행(Run) |
Wake Up |
프로세스가 대기 상태에서 준비 상태로 전이되는 과정 # 대기(Wait) → 준비(Ready) |
스풀링(Spooling) |
나중에 한꺼번에 입, 출력하기 위해 디스크에 저장하는 과정 |
5) 스레드(Thread) ★ __ 20년 1, 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) __ 20년 1, 2, 3회 기출문제
SJF 기법의 가뭄 현상을 보완하기 위한 방식으로, 대기 시간이 긴 프로세스일 경우 우선순위가 높아지고, 우선순위 계산식의 수치가 가장 높은 것부터 낮은 순으로 우선순위를 부여해 긴 작업과 짧은 작업 간의 지나친 불평등을 해소함
→ HRN 우선순위 계산식: (대기시간 + 서비스시간) / 서비스시간 ★
'정보처리기사 필기 총정리 > 4과목: 프로그래밍 언어 활용' 카테고리의 다른 글
네트워크 관련 장비 및 프로토콜 ★★ (0) | 2020.10.05 |
---|---|
인터넷 및 OSI 참조 모델 ★★★ (0) | 2020.10.05 |
기억장치 관리 ★★★ (0) | 2020.10.05 |
운영체제의 개념 ★★★ (0) | 2020.10.05 |
데이터 입, 출력 ★★ (0) | 2020.10.05 |
댓글