1. 프로세스 실행 다이어그램
① 대기(Ready) → 실행(Run)
- CPU를 차지하기 위해 대기 중인 Process가 CPU를 가짐
- Process는 Ready Queue에서 선입선출(FIFO)로 CPU를 가지게 됨
- Dispatcher에 의해 Dispatch가 이루어진다고도 표현할 수 있음
② 실행(Run) → 대기(Ready)
- CPU를 가지고 있는 Process에 타임 슬라이스(Time Slice)만큼 CPU 시간 할당
- 주어진 CPU 시간이 끝나고, 작업을 완료하지 못하면 Ready Queue로 이동하여 대기
- CPU 사용의 공정성을 보장함
③ 실행(Run) → 슬립(Sleep)
- Process 실행 도중 입출력(I/O) 연산이 일어나면 Sleep Queue로 이동
- CPU보다 매우 느린 I/O 장치와 CPU 사이의 성능 차이를 극복하기 위함
④ 슬립(Sleep) → 대기(Ready)
- 입출력(I/O) 연산이 끝나면, Sleep Queue에서 Ready Queue로 이동
- CPU를 가질 수 있을 때까지 Ready Queue에서 대기
⑤ 실행(Run) → 좀비(Zombie)
- 작업을 완료한 Process는 Zombie Process가 됨
- Zombie Process가 가지고 있는 모든 자원(Resource)은 Parent Process에 의해 회수됨
- 프로세스 종료(Process Exit)
'Computer Science > 운영체제' 카테고리의 다른 글
가상기억장치(Virtual Memory) 관리 기법 (0) | 2022.10.03 |
---|---|
교착상태(Deadlock) 발생 조건 및 예방법 (0) | 2022.10.03 |
운영체제의 기능과 역할, 실시간 운영체제 (0) | 2022.10.03 |
[컴퓨터공학개론 과제] 가상기억장치(Virtual Memory)의 관리 (0) | 2022.10.03 |
[컴퓨터공학개론 과제] 캐시 메모리(Cache Memory) (0) | 2022.10.03 |