Process
정의
실행 가능한 Program이 Memory에 올라와서 실행시킬 수 있는 것
실행 시퀀스이자 Active Entity
현재 상태(Program + stack)와 자원을 얼마나 사용하고 있는지, 명령을 실행하고 관리하는 Activity의 단위
기본 구성 요소
- Program Code
- 코드와 연관된 Data 집합
특성
- 실행 단위 ( Thread, Light Weight Process )
- 자원 소유권 단위 ( Process, Task )
Program
Disk에 Text와 Data가 저장되어 있는 이진 시퀀스이자 Passive Entity
Program이 실행될 때 비로소 Process
하나의 Program은 여러 개의 Process가 될 수 있음
(여러 User들이 같은 Program을 실행할 때)
Stack
프로그램을 실행시키면 Return Address를 Stack에 Push하고 종료되면 Pop 함
프로그램의 Excution Sequence를 관리하기 위함
Stack의 Top을 관리하기 위한 StakPointer가 존재
보호하기 위해 base와 limit 레지스터 존재
Stack은 높은 주소에서 낮은 주소로 자람
=> base의 주소가 limit 보다 높음
Process를 실행시키기 위해선 반드시 Stack 필요
Stack Frame
아래의 정보들을 모아서 Stack Frame이라고 함
- Return Address
- Parameter
- Return Parameter
Call Stack
Stack Frame들의 집합
그때 당시의 Stack Frame을 보여줌
Program Description
User Level Context (memory context)
프로그램을 수행하기 위한 기본적인 구성요소
구성요소
- User text
- User data
- User Stack
System Level Context
구성요소
Process Control Block
Process Control Block
OS가 Process를 관리하기 위한 정보들의 집합
구성요소
Process Identification
식별자 정보
PID, UID 등
Process Control Information
Process 간 Relation 정보(부모, 자식, 형제), 등
ProcessorState Information
Process가 현재 어떤 상태인지, Priority 등
Hardware Context (register)
PC, PSW 등 레지스터의 Content
Process Control Block
OS에서 가장 중요한 Data Sturcture
OS가 Process 관리하기 위해 필요한 모든 정보를 저장 관리하는 Structure
Multiprocessing을 가능하게 하며 각각의 Process가 각각의 PCB를 가짐
구성요소
Process Identification
식별자 정보
PID, UID 등
Process Control Information
Process 간 Relation 정보
- Process간 관계 (부모 자식)
- Process 상태 (Run, Ready, Block)
- 메모리 정보 (Segment, Page)
Processor State Information
Processor의 레지스터 정보
Register와 Priority 등 정보
- User level Register
- Control and State Register
Process Image
Process Image란 OS가 어떤 Process를 관리하고 제어하기 위해 알아야 할 정보들의 집합
OS가 관리하는 각 Process별 Description
Process가 어디에 위치해 있는지, Process를 관리하기 위한 속성들에 대한 정보
User Level Context + PCB
Process의 식별 정보, 상태 정보 뿐만 아니라 해당 Process의
구성 요소
- User Text
- User Data
- Stack
- PCB
- Kernel Stack
Process List Structures
PCB에서는 각 Process의 정보를 가지고 있고, 이 Process들의 상태 별로 PCB들을 리스트처럼 관리하는 구조