2026-01-19

오늘 공부한 것

OS 제8장 프로세스 API를 학습했다. fork, wait, exec 시스템 콜의 개념과 사용 이유를 정리했다.

핵심 요약

  • fork(): 현재 프로세스를 복제하여 자식 생성. 한 번 호출, 두 번 반환.
  • wait(): 부모가 자식 종료를 기다림. 실행 순서를 결정적으로 만든다.
  • exec(): 현재 프로세스를 새 프로그램으로 교체. 성공 시 반환하지 않음.

배운 점

fork와 exec를 분리한 이유가 인상적이었다. 프로세스 생성과 프로그램 실행 사이에 코드를 삽입할 수 있어서 I/O 리다이렉션이나 파이프 같은 기능이 가능해진다.

처음엔 “왜 굳이 복제를 하지?”라는 의문이 있었는데, 정리해보니 두 가지 케이스였다:

  1. 같은 코드를 여러 번 실행 (웹 서버가 클라이언트마다 자식 생성)
  2. 비슷한데 다른 기능 필요 (쉘이 fork 후 exec로 다른 프로그램 실행)

다음 할 일

  • 내일 1차 복습 예정
  • Chapter 9 Direct Execution 진도 나가기

results matching ""

    No results matching ""