[반효경의 운영체제] 4주차 공부 내용 정리

heesang0930 2023. 10. 17. 15:11
728x90
반응형
  1. 프로세스 생성
    1. 부모 프로세스가 자식 프로세스를 생성
      1. 부모 프로세스에서 OS로 SystemCall을 통해 자식 프로세스 생성 요청
    2. 프로세스 트리를 통해서 부모 - 자식 관계 표현
    3. 자원 필요
      1. 부모와의 자원 공유
      2. OS로 부터 자원 할당
    4. 자원 공유 유형
      1. 부모와 자식 프로세스가 하나의 자원을 공유하는 유형
      2. 일부만 공유하는 유형
      3. 공유하지 않는 유형 → 이상적인 공유 형식 자식프로세스가 생성되었을 때, 부모와 자식은 경쟁적으로 자원을 차지하려고 함.
    5. 수행
      1. 부모와 자식이 공존하며 수행 → Thread?
      2. 자식이 종료될 때까지 부모가 대기 → Wait, Blocked
    6. 주소 공간
      1. 자식이 부모의 주소를 복사 → Binary OS Data
      2. 해당 공간에 새로운 프로그램
  2. 프로세스 종료
    1. 프로세스가 마지막 명령을 수행하고 종료되었을 때, System Call을 통해 OS에게 알림 → exit()
      1. 자식이 부모에게 최종 결과 전달
      2. 자식 프로세스의 자원 반납
    2. 부모 프로세스의 자식 프로세스 강제 종료 → Abort
      1. 할당 자원의 한계를 넘어섰을 때
      2. 더 이상 필요하지 않을 때
      3. 부모 프로세스가 종료될 때
  3. fork() System Call
    1. fork() System Call로 새로운 프로세스를 생성한다.
    2. 부모 프로세스의 주소 공간을 자식 프로세스에 복제
    3. 부모 자식 프로세스는 fork() 호출 이후에 독립적으로 실행
  4. exec() System Call
    1. 현재 실행중인 프로세스의 메모리 공간을 새로운 프로그램으로 대체
    2. 프로세스가 다른 프로그램을 로드하고 실행
  5. wait() System Call
    1. 부모 프로세스가 자식 프로세스의 종료를 기다리게 한다.
    2. 자식 프로세스가 종료될 때까지 대기 상태
  6. exit() System Call
    1. 정상적인 종료를 위해 사용됨
    2. exit()를 호출하면, 해당 프로세스의 자원을 OS에게 반납하고 종료 됨.
  7. 프로세스 간 협력
    1. 유형
      1. 독립적 프로세스(Independent Process)
        1. 프로세스별 주소 공간을 가지고 수행되므로, 하나의 프로세스는 다른 프로세스에 영향을 미칠 수 없다.
      2. 협력적 프로세스 (Cooperating Process)
        1. 하나의 프로세스가 다른 프로세스에 영향을 미칠 수 있다 → 프로세스 협력 메커니즘
      3. 프로세스간 협력 메커니즘 (Inter-Process Communication, IPC)
        1. 두 개 이상의 프로세스가 데이터를 공유하거나 통신하는 방법
        2. 메시지 전달이나 공유 메모리를 통해 수행 됨
        3. 프로세스들은 특정 작업을 조율하거나, 데이터를 교환하기 위해 IPC를 사용

요약 → CPU 스케줄링이 필요하다!

프로세스의 특성 분류

  1. I/O Bound Process
    1. I/O 처리에 많은 시간이 필요
  2. CPU Bound Process
    1. 계산을 주로 처리하는 일

CPU Scheduling : Ready 상태의 프로세스 중 어떤 프로세스에 자원을 할당 할 것인지 정함

Dispatcher : CPU Scheduling에 의해 정해진 프로세스로 CPU 제어권을 전달 → Context Switching

CPU Scheduling이 필요한 상태

  1. Running → Blocked
  2. Running → Ready
  3. Blocked → Ready
  4. Terminate
728x90
반응형