[운영체제] 프로세스의 상태 전이
[운영체제] 프로세스의 상태 전이
Process의 상태 전이
다중 프로그래밍 환경이니까 프로세스의 상태 전이가 필요
| in 주기억장치(RAM) 안에서 | 
프로세스 생성하는 과정
- 새로운 프로세스를 위한 프로세스 식별자를 할당한다.
 - 새로운 프로세스를 위한 주소 공간과 프로세스 제어블록(process control block)을 할당한다.
 - 새로운 프로세스의 프로세스 제어블록을 초기화한다.
 - 새로운 프로세스를 스케줄링 큐의 준비 또는 준비/보류 리스트에 연결한다.
 
프로세스 상태
- Create(생성)
 - 사용자가 요청한 작업이 커널에 등록되어 커널 공간에 PCB 등이 만들어진 상태
 - 프로세스가 생성되는 단계
 - Ready(준비)
 - 프로세스가 생성되어 주기억장치에 적재가 되고, 실행하는데 필요한 자원을 모두 얻은 상태
 - Running (실행)
 - 프로세스가 CPU를 점유하여 실행중인 상태
 - Terminated
 - 프로세스가 종료되는 상태
 - Asleep(대기)
 - 처리 소도가 느린 I/O(입/출력) 작업 중인 상태
 - 주기억장치에 적재는 되었지만 필요한 자원을 얻지 못한 상태
 - Suspended Ready
 - 필요한 자원은 모두 얻었지만 주기억장치에 적재되지 못한 상태
 - Suspended Blocked
 - 필요한 자원도 없고 주기억장치에도 절재되지 못한 상태
 - ex) 시디(필요한 자원)가 없어서 출력을 못함
 
상태 전이
- Dispatch
 - 준비 -> 실행
 - 프로세스 스케줄러에 의해 결정된 우선순위에 따라 프로세스가 CPU를 점유하게 되는 상태
 - Time out
 - 실행 -> 준비
 - 프로세스가 실행중이다가 제한된 시간을 다 소비하여 CPU 점유를 빼앗기는 상태
 - Block
 - 실행중이던 프로세스가 외부 요인에 의해서 자원을 빼앗기는 상태
 - Wake up
 - 프로세스가 자원을 할당받는 상태
 - Swap in
 - 프로세스가 주기억장치에 적재 되는 상태
 - Swap out
 - 프로세스가 주기억장치에서 해제 되는 상태
 - Spooling
 - 입출력 장치의 공유 및 상대적으로 느린 입출력 장치의 처리속도를 보완하고 다중 프로그래밍 시스템의 성능을 향상시키기 위해 입 출력할 데이터를 직접 입출력장치에 보내지 않고 나중에 한꺼번에 입출력하기 위해 디스크에 저장하는 과정
 
댓글
댓글 쓰기