[운영체제] 프로세스 상태와 계층구조

Local Gaji·2023년 6월 17일
0

운영체제

목록 보기
3/15

🎈 프로세스 상태

프로세스는 여러 상태를 거치면서 실행된다.

  1. 생성 : 프로세스를 생성 중인 상태, PCB를 막 할당받음
  2. 준비 : CPU 할당 차례를 기다리고 있는 상태
  3. 실행 : CPU를 할당받아 실행 중인 상태 (일정 시간 동안)
    • 타이머 인터럽트가 발생하면 다시 준비상태로 넘어감
    • 입출력 장치 작업을 기다려야 한다면 대기상태로 넘어감
  4. 대기 : 입출력 장치에 입출력을 요청하고 입출력이 완료될 때까지 기다리는 상태
  5. 종료 : 프로세스가 종료된 상태, PCB와 메모리를 정리함

🎈 프로세스 계층 구조

프로세스는 그냥 갑자기 튀어나오는게 아니라 부모 프로세스로부터 태어나야한다. 컴퓨터를 부팅하면 최초의 프로세스가 실행되는데, 이 조상님같은 프로세스가 자식 프로세스를 낳는다. 프로세스들의 가족관계도를 프로세스 계층 구조라고 한다.

컴퓨터를 켜서 로그인을 하고 문서 편집기 프로그램을 실행할 때
  1. 사용자가 컴퓨터를 켠 순간 최초 프로세스가 생성
  2. 최초 프로세스는 PC 로그인을 담당하는 자식 생성
  3. 로그인 시 로그인 프로세스는 사용자 인터페이스 프로세스를 자식으로 생성
  4. 사용자 인터페이스 프로세스는 문서 편집기 프로그램을 자식으로 생성

그럼 프로세스를 어떻게 낳는걸까?


🎈 프로세스 생성 기법

  • fork : 부모 프로세스가 본인을 복제해서 자식 프로세스를 생성
    • 하지만 자식과 부모의 PID 값이나 메모리 주소는 다름
  • exec : 자식 프로세스가 자신의 메모리공간을 새 프로그램으로 교체

0개의 댓글