ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 운영체제
    CS지식 2025. 9. 20. 11:44

    프로세스 상태와 계층 구조

    프로세스 상태

    • 생성 상태
      • 이제 막 메모리에 적재되어 PCB를 할당 받은 상태
      • 준비가 완료되었다면 준비 상태로 
    • 준비 상태
      • 당장이라도 CPU를 할당받아 실행 가능하지만
      • 자신의 차레가 아니기에 기다리는 상태
      • 자신의 차례가 되면 실행상태로(=디스패치)
    • 실행 상태
      • CPU를 할당받아 실행중인 상태 
      • 할당된 시간 모두 사용시(타이머 인터럽트 발생시) 준비 상태로
      • 실행 도중 입출력 장치 사용하면 입출력 작업이 끝날 때 까지 대기 상태로
    • 대기 상태
      • 프로세스가 실핼도중 입출력장치를 사용하는 공우
      • 입출력 작업은 CPU에 비해 느리기에 이 경우 대기 성태로 넘어감 
      • 입출력 작업이 끝나면 준비 상태로
    • 종료 상태
      • 프로세스가 종료된 상태
      • PCB, 메모리 영역 정리 

    프로세스 계층 구조

    • 프로세스 실행 도중 다른 프로새스 생성 가능 
    • 새 프로세스를 생성한 프로세스 : 부모 프로세스
    • 부모 프로세스에 의해 생성된 프로세스 : 자식 프로세스
      • 부모 프로세스와 자식 프로세스는 별개의 프로세스 이므로 각기 다른 PID를 가짐
    • 자식 프로세스또한 또다른 자식 프로세스를 낳을 수 있음

    -> 프로세스는 계층적 구조를 가짐

    프로세스 생성 기법

    • 부모 프로세스는 어떻게 자식 프로세스를 만들고 
    • 자식 프로세스는 어떻게 자신만의 코드를 실행시킬까?? 
    • 부모 프로세스는 fork 시스템 호출을 통해 자신의 복사본을 자식 프로세스로 생성
    • 자식 프로세스는 exec 시스템 호출을 통해 자신의 메모리 공간을 다른 프로그램으로 교체

    fork 시스템 호출

    • 복사본(=자식 프로세스) 생성
    • 부모 프로세스 자원 상속 

    exec 시스템 호출

    • 메모리 공간을 새로운 프로그램으로 덮어쓰기 
    • 코드 / 데이터 영역은 실행할 프로그램 내용으로 바뀌고 나머지 영역을 초기화 

     

    'CS지식' 카테고리의 다른 글

    운영체제  (0) 2025.09.20
    운영체제  (0) 2025.09.20
    운영체제 2일차  (0) 2025.09.16
    운영체제 2일차  (0) 2025.09.16
    운영체제 1일차  (0) 2025.09.15
Designed by Tistory.