반응형
1. 프로세스의 상태 (Process states)
- 프로세스 - 자원간의 상호작용에 의해 결정
- 프로세스 상태 및 특성
상태 | 자원 할당 상태 | ||
Active (swapped-in) |
Running Ready Blocked, aleep |
프로세서 O 프로세서 X, 기타 자원 O 프로세서 X, 기타 자원 X |
메모리 O |
Suspend (swapped-in) |
Suspended ready Suspended block |
프로세서 X 프로세서 X, 기타 자원 X |
메모리 X |
1.1 Created State
- 작업(Job)을 커널에 등록
- PCB 할당 및 프로세스 생성
- 커널
- 가용 메모리 공간 체크 및 프로세스 상태 전이
Ready or Suspended ready
1.2 Ready State
- 프로세서 외에 다른 모든 자원을 할당 받은 상태
- 프로세서 할당 대기 상태(CPU)
- 즉시 실행 가능 상태 - Dispatch (or Schedule)
- Ready State -> Running State
1.3 Running State
- 프로세서와 필요한 자원을 모두 할당받은 상태
- Preemption
- Running State -> Ready State
- 프로세서 스케쥴링(e.g, time-out) - Block / Sleep
- Running State -> Asleep State
- I/O등 자원 할당 요청
1.4 Block / Asleep State
- 프로세서 외 다른 자원을 기다리는 상태
- 자원 할당은 system call에 의해 이루어짐 - Wake-up
- Asleep State -> Ready State
이 과정에서, 다른 자원이 할당 되었다고 해도 바로 Running State로 가지 못하고 Ready State를 거쳤다가 자기 순서가 되면 Running State로 넘어가게 된다.
1.5 Suspended State
- 메모리를 할당 받지 못한(빼앗긴) 상태
- Memory image를 swap device에 보관
swap device: 프로그램 정보 저장을 위한 특별한 파일 시스템
ex) HDD?? - 커널 또는 사용자에 의해 발생
1.6 Terminated / Zombie State
- 프로세스 수행이 끝난 상태
- 모든 자원 반납 후, 커널 내에 일부 PCB 정보만 남아 있는 상태
- 이후 프로세스 관리를 위해 정보 수집
다음에 비슷한 작업이 들어왔을 때, 관리하기 유용
- Zombie State - 프로세스가 종료되었음에도 불구하고 메모리상에서 프로세스에 대한 정보가 사라지지 않은 상태
- orphans - 부모가 자식 프로세스보다 먼저 종료되면 그 자식 프로세스는 고아 프로세스가 된다.
지금까지의 내용은 HPC Lab의 강의와 자료를 참조했습니다
반응형
'OS' 카테고리의 다른 글
[OS] - Virtual Memory - Non-continuous allocation (32) | 2024.06.26 |
---|---|
[OS] - Scheduling Algorithms (34) | 2024.06.26 |
[OS] - Scheduling (29) | 2024.06.25 |
[OS] - Thread (30) | 2024.06.25 |
[OS] - Process (30) | 2024.06.25 |