프로세스(Process)의 정의
- PCB를 가진 프로그램
- 실행중인 프로그램
- 실기억장치(RAM)에 저장된 프로그램(HDD에 저장된게 아니다)
- CPU가 할당되는 실체
- 비동기적 행위를 일으키는 주체(언제 어느때 실행할지 모르니 비동기적이다)
PCB(Process Control Block)란
: CPU에게 주는 해당 Process에 대한 정보를 담은 블록
PCB의 저장 정보
- Pointer : 프로세스 식별자 ID
- Process State : 프로세스의 현재 상태
- Process Number : 프로세스의 우선순위, 스케줄링
- Program Counter : 프로그램의 위치
- Registers : CPU레지스터 정보
- Memory Limits : 기억장치 관리정보
- List of Open Files : 입출력정보
- 부모자식 프로세스 포인터 : 해당 처리 후 따라 처리 되야 하는 프로세스 정보
프로세스의 상태 전이
- PCB를 가진 프로그램
- 실행중인 프로그램
- 실기억장치(RAM)에 저장된 프로그램(HDD에 저장된게 아니다)
- CPU가 할당되는 실체
- 비동기적 행위를 일으키는 주체(언제 어느때 실행할지 모르니 비동기적이다)
PCB(Process Control Block)란
: CPU에게 주는 해당 Process에 대한 정보를 담은 블록
PCB의 저장 정보
- Pointer : 프로세스 식별자 ID
- Process State : 프로세스의 현재 상태
- Process Number : 프로세스의 우선순위, 스케줄링
- Program Counter : 프로그램의 위치
- Registers : CPU레지스터 정보
- Memory Limits : 기억장치 관리정보
- List of Open Files : 입출력정보
- 부모자식 프로세스 포인터 : 해당 처리 후 따라 처리 되야 하는 프로세스 정보
프로세스의 상태 전이
- 준비(Ready) : 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태
- 실행(Run) : 준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태
- 대기(Block) : 입출력 처리가 필요하면 현재 실행중인 프로세스가 중단되고 입출력이 완료될 때까지 대기하는 상태
* 대기단계가 끝나면 다시 실행단계로 가지 않고 준비단계로 가게된다.
* 할당받은 시간이 모두 소진되면 작업 중이어도 Time Out후 다시 Dispatch된다.