1. 프로세스의 정의
- 프로세서(처리기, CPU)에 의해 처리되는 사용자 프로그램, 시스템 프로그램, 즉 실행중인 프로그램을 의미
- 작업(Job), 태스크(Task)라고 함
- PCB를 가진 프로그램
- 실기억장치에 저장된 프로그램
- 프로세서가 할당되는 실체로서, 디스패치가 가능한 단위
- 프로시저가 활동중인 것
- 비동기적 행위를 일으키는 주체
- 지정된 결과를 얻기 위한 일련의 계통적 동작
- 목적 또는 결과에 따라 발생되는 사건들의 과정
- 운영체제가 관리하는 실행단위
2. ⭐ PCB (Process Control Block, 프로세스 제어 블록)
- 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳
- Task Control Block, Job Control Block
- 각 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB는 제거됨
💡 PCB 저장된 정보
- 프로세스 현재 상태 : 준비, 대기, 실행 등 프로세스 상태
- 포인터 : 프로세스가 위치한 메모리에 대한 포인터, 할당된 자원에 대한 포인터
- 프로세스 고유 식별자
- 스케줄링 및 프로세스의 우선순위
- CPU 레지스터 정보 : Accumulator(누산기), 인덱스 레지스터, 범용 레지스터, 프로그램 카운터
- 주기억장치 관리 정보 : 기준 레지스터, 페이지 테이블
- 입 · 출력 상태 정보
- 계정정보 : CPU 사용시간, 실제 사용시간, 한정된 시간
3. ⭐ 프로세스 상태 전이

제출(Submit)
- 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태
접수(Hold)
- 제출된 작업이 스풀 공간인 디스크의 할당 위치에 저장된 상태
준비(Ready)
- 프로세스가 프로세서를 항당받기 위해 기다리고 있는 상태
- 프로세스는 준비상태 큐에서 실행을 준비
- 접수 상태에서 준비 상태로의 전이는 Job 스케줄러에 의해 수행
실행(Run)
- 준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태
- 프로세스 수행이 완료되지 전에 프로세스에게 주어진 프로세서 할당 시간이 종료(Timer Run Out)되면 프로세스는 준비 상태로 전이
- 실행 중인 프로세스에 입 · 출력(I/O) 처리가 필요하면 실행 중인 프로세스는 대기 상태로 전이
- 준비 상태에서 실행 상태로의 전이는 CPU(프로세서) 스케줄러에 의해 수행
대기(Wait), 보류, 블록(Block)
- 프로세스에 입 · 출력 처리가 필요하면 현재 실행 중인 프로세스가 중단되고, 입 · 출력 처리가 완료될 때까지 대기하고 있는 상태
종료(Terminated, Exit)
- 프로세스의 실행이 끝나고 프로세스 할당이 해제된 상태
Dispatch
- 준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 할당받아 실행 상태로 전이되는 과정
Wake Up
- 입 · 출력 작업이 완료되어 프로세스가 대기 상태에서 준비 상태로 전이되는 과정
Spooling
- 입 · 출력장치의 공유 및 상대적으로 느린 입 · 출력장치의 처리 속도를 보완
- 다중 프로그래밍 시스템의 성능을 향상시키기 위해 입 · 출력할 데이터를 집적 입 · 출력장치에 보내지 않고 나중에 한꺼번에 입 · 출력하기 위해 디스크에 저장하는 과정
- 교통량 제어기(Traffic Controller)
- 프로세스의 상태에 대한 조사와 통보를 담당
4. ⭐ 스레드 (Thread) = 경량 프로세스 (Light Weight)
- 프로세스 내에서의 작업 단위
- 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위
- 단일 스레드 : 하나의 프로세스에 하나의 스레드
- 다중 스래드 : 하나 이상의 스레드
- 스레드는 독립적인 스케줄링의 최소단위로서 프로세스의 역할을 담당
- 동일 프로세스 환경에서 서로 독립적인 다중 수행 가능
- 사용자 수준의 스레드
- 사용자가 만든 라이브러리를 사용하여 스레드를 운용
- 커널 모드로의 전환이 없어 오버헤드가 줄어듦
- 속도는 빠르지만 구현이 어려움
- 커널 수준의 스레드
- 운영체제의 커널에 의해 스레드를 운용
- 한 프로세스가 운영체제를 호출할 때 전체 프로세스가 대기하지 않으므로 시스템의 성능 높일 수 있음
- 여러 스레드가 커널에 동시에 접근
- 스레드의 독립적인 스케줄링 가능
- 구현이 쉽지만 속도가 느림
- 장점
- 하나의 프로세스를 여러 개의 스레드로 생성하여 병행성 증진
- 하드웨어, 운영체제의 성능과 응용 프로그램의 처리율 향상
- 응용 프로그램의 응답 시간(Response Time)을 단축
- 실행 환경을 공유해 기억장소의 낭비가 줄어듦
- 프로세스들 간의 통신 향상
- 공통적으로 접근 가능한 기억장치를 통해 효율적으로 통신
📖 Reference
2023 시나공 정보처리기사 필기 : 네이버 도서
네이버 도서 상세정보를 제공합니다.
search.shopping.naver.com
728x90
반응형
'Certificate > 정보처리기사' 카테고리의 다른 글
| [4과목 프로그래밍 언어 활용] 응용 SW 기초 기술 활용 - 161. ⭐ 인터넷 (0) | 2025.11.21 |
|---|---|
| [4과목 프로그래밍 언어 활용] 응용 SW 기초 기술 활용 - 157. 스케줄링 ~ 158. ⭐ 주요 스케줄링 알고리즘 (0) | 2025.11.21 |
| [4과목 프로그래밍 언어 활용] 응용 SW 기초 기술 활용 - 155. ⭐ 가상기억장치 기타 관리 사항 (0) | 2025.11.21 |
| [4과목 프로그래밍 언어 활용] 응용 SW 기초 기술 활용 - 154. ⭐ 가상기억장치 구현 기법 / 페이지 교체 알고리즘 (1) | 2025.11.21 |
| [4과목 프로그래밍 언어 활용] 응용 SW 기초 기술 활용 - 153. 주기억장치 할당 기법 (0) | 2025.11.21 |