-
생성(Starting) / 준비(Ready) 상태
- 설명: 프로세스가 메모리에 로드되어 CPU를 할당받기 전의 상태입니다. CPU를 사용하기 위해 대기합니다.
- fork()와 exec()
- 부모프로세스는 fork 호출을 통해 자신의 복사본을 자식 프로세스 생성
- fork 시스템 호출 : 복사본 생성 - 부모 프로세스의 자원 상속
- 자식 프로세스는 exec 호출을 통해 자신의 메모리 공간을 다른 프로그램으로 교체
- exec 시스템 호출 : 코드/데이터 영역은 실행할 프로그램으로 바뀌고 나머지 영역 초기화 → 자신의 메모리 공간을 새로운 프로그램으로 덮어씀
-
실행(Running) 상태
- 설명: 프로세스가 CPU에서 실행 중인 상태입니다. 명령을 수행하고 있습니다.
-
대기(Waiting) / 블록(Blocked) 상태
- 설명: 프로세스가 입출력 작업, 자원 할당 등의 이유로 대기하는 상태입니다. CPU를 사용하지 않습니다.
-
종료(Terminated) 상태
- 설명: 프로세스의 실행이 완료되어 종료된 상태입니다. 더 이상 CPU를 사용하지 않으며, 메모리에서 제거됩니다.
상태 전환