* Conception
- program : 하드디스크에 저장된 응용 프로그램
- process : 실행되는 프로그램. 메모리에 올라가 있는 프로그램
(OS에 따라서 Job 또는 task라고 부른다)
- process는 다음을 포함하고 있다.
> program counter : 현재 프로그램 실행 단계, 위치 // in PCB
> contents of registers : register의 내용 // in PCB
> Text section : program source cord
> Data section : Global variable
> Heap : Dynamic memory
> Stack : 함수 파라미터, 지역변수, 반환주소등을 기억하는 공간
※ Stack과 Heap이 만나면 memory overflow 발생!
* Process Control Block(PCB)
- OS가 프로세스 관리를 목적으로 만든 Data structure(블럭)
- PCB가 갖고 있는 정보
> Process state : 현재 프로세스의 상태(ready, running, waiting, terminated)
> Program counter : 현재 프로세스의 실행 위치, 실행 단계
> CPU register : 사용하는 레지스터의 위치 정보
> CPU scheduling information : CPU 스케줄링에 필요한 정보(시간 제한, 프로세스의 중요도)
> Memory-management information : memory관리 정보
> Accounting information : 사용자 정보
> I/O status information
* Common Process State Diagram
- CPU는 각각의 process의 상태(PCB)를 저장하고, 불러오면서 time sharing을 실시한다.
* Process Scheduling
- 실행 가능한 프로세서 중에서 다음에 CPU에서 실행할 프로세서를 정하는 선택하는 것
- Scheduling을 위해서는 queue를 주로 사용하는데 다음과 같은 주요한 큐가 존재한다.
ⓐ Job queue - 시스템 안에서 실행중인 모든 process의 집합
ⓑ Ready queue - ready 상태에 있는 process의 집합
ⓒ Device queue - I/O장비로 부터의 반응을 기다리는 process의 집합
- program : 하드디스크에 저장된 응용 프로그램
- process : 실행되는 프로그램. 메모리에 올라가 있는 프로그램
(OS에 따라서 Job 또는 task라고 부른다)
- process는 다음을 포함하고 있다.
> program counter : 현재 프로그램 실행 단계, 위치 // in PCB
> contents of registers : register의 내용 // in PCB
> Text section : program source cord
> Data section : Global variable
> Heap : Dynamic memory
> Stack : 함수 파라미터, 지역변수, 반환주소등을 기억하는 공간
※ Stack과 Heap이 만나면 memory overflow 발생!
* Process Control Block(PCB)
- OS가 프로세스 관리를 목적으로 만든 Data structure(블럭)
- PCB가 갖고 있는 정보
> Process state : 현재 프로세스의 상태(ready, running, waiting, terminated)
> Program counter : 현재 프로세스의 실행 위치, 실행 단계
> CPU register : 사용하는 레지스터의 위치 정보
> CPU scheduling information : CPU 스케줄링에 필요한 정보(시간 제한, 프로세스의 중요도)
> Memory-management information : memory관리 정보
> Accounting information : 사용자 정보
> I/O status information
* Common Process State Diagram
- CPU는 각각의 process의 상태(PCB)를 저장하고, 불러오면서 time sharing을 실시한다.
* Process Scheduling
- 실행 가능한 프로세서 중에서 다음에 CPU에서 실행할 프로세서를 정하는 선택하는 것
- Scheduling을 위해서는 queue를 주로 사용하는데 다음과 같은 주요한 큐가 존재한다.
ⓐ Job queue - 시스템 안에서 실행중인 모든 process의 집합
ⓑ Ready queue - ready 상태에 있는 process의 집합
ⓒ Device queue - I/O장비로 부터의 반응을 기다리는 process의 집합