////
Search
Duplicate

프로세스의 상태 - 현구

생성 상태

프로세스가 생성되어 시스템에 등록되는 초기 단계
fork() 또는 exec() 함수를 통해 생성
fork()
exec()
운영체제는 필요한 자원과 메모리 공간을 할당
PCB가 할당됨
PCB

대기 상태

CPU를 할당 받기 위해 기다리고 있는 상태. CPU만 주어지면 바로 실행할 준비가 된 상태

대기 중단 상태

생성된 프로세스가 바로 메모리를 받지 못할 때, 준비 또는 실행 상태에서 메모리를 잃게 될 때
충분한 메모리 공간의 확보를 위해 준비 상태의 프로세스를 보류시키는 경우
메모리 부족으로 일시 중단된 상태

실행 상태

CPU 소유권과 메모리를 할당받고 인스트럭션을 수행 중인 상태(CPU burst)

중단 상태

프로세스가 실행되다가 입출력 처리를 요청하거나, 바로 확보될 수 없는 자원을 요청하면 CPU를 양도하고 요청한 일이 완료되기를 기다리며 프로세스가 차단된 상태

일시 중단 상태

중단된 상태에서 프로세스가 실행되려고 했지만 메모리 부족으로 일시 중단된 상태
대기 중단 상태와 유사

종료 상태

메모리와 CPU 소유권을 모두 놓고 가는 상태
부모 프로세스가 자식 프로세스를 강제시키는 비자발적 종료(abort)로 종료되는 경우도 있음
자식 프로세스에 할당된 자원의 한계치를 넘어서거나 부모 프로세스가 종료되거나 사용자가 process.kill 등 여러 명령어로 프로세스를 종료할 때 발생함
참고자료