DevGang
[OS-03] 프로세스 본문
1. 프로세스의 정의
- PCB를 가진 프로그램
- 실기억 장치에 저장된 프로그램
- 프로세서(CPU)가 할당되는 실체
- 프로시저가 활동 중인 실체
- 비동기적 행위를 일으키는 주체
- 운영체제가 관리하는 실행 단위
2. 프로세스 제어 블록(PCB , Process Control Block)
- PCB는 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳
- 각 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 종료되면 PCB는 제거됨
- PCB에 저장되어 있는 정보
- 프로세스의 현재 상태
- 프로세스 고유 식별자(PID , Process IDentifier)
- 스케줄링 및 프로세스의 우선순위
- 프로그램의 위치
- CPU 레지스터 정보
- 누산기(Accumulator)
- 인덱스 레지스터(Index Register)
- 프로그램 카운터(PC , Program Counter)
- 각종 자원의 포인터
- 부모 프로세스에 대한 포인터
- 자식 프로세스에 대한 포인터
- 프로세스가 위치한 메모리에 대한 포인터
- 할당된 자원에 대한 포인터
- 주기억장치 관리 정보
- 입/출력 상태 정보
- 계정 정보
3. 프로세스의 상태 전이
1) 준비(Ready) 상태
- 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태
- 프로세스는 준비상태 큐에서 실행을 준비
2) 실행(Running) 상태
- 준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태
- 프로세스 수행이 완료되기 전에 프로세서에게 주어진 프로세서 할당 시간이 종료되면 프로세스는 준비 상태로 전이
- 실행 중인 프로세서에 입/출력 처리가 필요하면 실행 중인 프로세스는 대기상태로 전이
- 준비 상태에서 실행 상태로의 전이는 CPU 스케줄러에 의해 수행
3) 대기(Block) 상태
- 프로세스에 입/출력이 필요하면 현재 수행 중인 프로세스가 중단되고 대기 상태로 전이
- 입/출력 처리가 완료되면 대기 상태에서 준비 상태로 전이
※ 프로세스가 자원을 이용하는 작동 순서
- 요청 - 사용 - 해제
※ 디스패치(dispatch)
- 준비상태에서 대기하고 있는 프로세스 중 하나가 스케줄링되어 중앙처리장치를 할당받아 실행상태로 전이되는 과정
'정보처리 > OS' 카테고리의 다른 글
[OS-06] 병행 프로세스&임계구역 (0) | 2021.02.07 |
---|---|
[OS-05] 스레드&문맥 교환 (0) | 2021.02.07 |
[OS-04] 인터럽트(Interrupt) (0) | 2021.02.07 |
[OS-02] 시스템 소프트웨어 (0) | 2021.02.07 |
[OS-01] 운영체제 개념 및 종류 (0) | 2021.02.07 |
Comments