본문 바로가기
컴퓨터 일반

2. 운영체제 - 프로세스 관리

by 쬑께께 2026. 1. 22.

(55)

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

- 프로세스(=작업 제어 블록): 운영체제 내에서 프로세스 제어 블록이라 표현

- 프로세스를 관리하기 위해 유지되는 데이터 블록 또는 레코드의 데이터 구조

- 프로세스 식별자, 프로세스 상태, 프로그램 카운터 등으로 구성

- 프로세스 생성 시 생성되며 메인 메모리에 유지, 운영체제에서 한 프로세스의 존재를 정의함

- 프로세스 제어 블록의 정보: 운영체제의 모든 모듈이 읽고 수정 가능

- 프로세스 제어 블록 정보

프로세스 식별자 - 각 프로세스에 대한 고유 식별자 지정
프로세스 현재 상태 - 생성, 준비, 실행, 대기, 중단 등의 상태 유지
프로그램 카운터 - 프로그램 실행을 위한 다음 명령의 주소 표시
레지스터 저장 영역 - 누산기, 인덱스 레지스터, 범용 레지스터 조건 코드 등에 관한 저보
- 컴퓨터 구조에 따라 수, 형태가 달라짐
프로세서 스케줄링 정보 - 프로세스의 우선순위, 스케줄링 큐에 대한 포인터, 그 외 다른 스케줄 매게변수를 가짐
계정 정보 - 프로세서 사용시간, 실제 사용시간, 사용 상한 시간, 계정 번호, 작업 또는 프로세스 번호
입출력 상태 정보 - 특별한 입출력 요구 프로세스에 할당된 입출력장치
- 개방된(Opened) 파일의 목록
메모리 관련 정보 - 메모리 영역을 정의하는 하한 및 상한 레지스터 또는 페이지 테이블 정보

 

(56)

스레드(Thread)

- 프로세스의 구성: 제어흐름 부분(실행부분)과 실행환경 부분으로 분리 가능

*스레드: 프로세스의 실행 부분을 담당, 실행의 기본 단위

- 입출력 자원의 할당에는 관여 X, 중앙처리장치 스케줄링의 단위로만 사용되는 정량 프로세스

- 프로세서를 사용하는 기본단위, 명령어를 독립적으로 실행할 수 있는 하나의 제어 흐름

- 프로세스와 마찬가지로 스레드들도 중앙처리장치 공유, 한순간에 오직 하나의 스레드만이 수행됨

- 프로세스 스케줄링에 따른 프로세스 문맥교환(Context Swiching)의 부담 줄여서 성능 향상시키기 위한 프로세스의 다른 표현방식

 

(57)

스케줄링 종류

장기 스케줄링
(Long - term Scheduler)
= 작업 스케줄링 = 상위 스케줄링
- 작업 스케줄러에 의해서 수행됨
- 어느 작업을 개시하여 시스템 자원을 이용하게 할 것인가를  장기 스케줄링에 의해 결정됨
- 몇 분 또는 그 이상의 시간 단위로 발생 -> 수행시간이 가장 오래 걸림
중기 스케줄링
(Mid - tern Scheduler)
- 중기 스케줄러에 의해서 수행됨
- 형성된 프로세스들 또는 프로세스 그룹에서 어느 것을 활성화시키고, 보류할 것인가를 중기 스케줄링에 의해 결정됨
- 시스템에서 단기적인 부하를 조절하는 버퍼 역할 수행
단기 스케줄링
(Short - term Scheduler)
= 프로세스 스케줄링
- 프로세스 스케줄러에 의해서 수행됨
- 활성된 프로세스: 단기 스케줄링에 의해 디스패치되어 실행상태로 전이 -> 선점이나 시간초과로 활성화된 프로세스로 전이
- 프로세스 대기리스트에 있는 프로세스들 중에서 어느 프로세스에게 프로세서를 할당할 것인가를 결정