본문으로 건너뛰기
Previous
Next
Process 뜻과 의미 | 기술 용어 사전 | pkglog
시스템

Process

다른 이름: 프로세스

정의

실행 중인 프로그램 인스턴스. 독립적 메모리 공간(Code, Data, Heap, Stack). PID(Process ID)로 식별. fork()로 생성, exec()로 프로그램 교체. PCB(Process Control Block)로 상태 관리. Context Switch 비용 높음

상세 설명

📋 기술 스펙

  • 메모리 구조: Code(텍스트), Data(전역 변수), Heap(동적 할당), Stack(지역 변수)
  • PID: Process ID (고유 식별자)
  • PCB: Process Control Block (상태, 레지스터, 우선순위)
  • 상태: New, Ready, Running, Waiting, Terminated
  • fork(): 자식 프로세스 생성 (COW)
  • exec(): 새 프로그램 로드
  • Context Switch: PCB 저장/복원 (비용 높음)

💡 실무 활용

  • 멀티 프로세스: Chrome 탭별 격리
  • fork-exec: 셸 명령 실행
  • 데몬: 백그라운드 서비스 (systemd)
  • 프로세스 풀: Nginx, Apache (멀티 워커)

장점

  • 격리성: 메모리 독립, 안정성 높음
  • 보안: 권한 분리 가능
  • 멀티코어: CPU 코어별 프로세스 실행

⚠️ 단점 및 제약

  • Context Switch 비용: 무거움 (1~10μs)
  • 메모리 오버헤드: 프로세스당 수MB
  • IPC 복잡: 프로세스 간 통신 (파이프, 소켓)

🔧 호환성

Linux, Windows, macOS. POSIX 표준

📚 표준 정보

표준화 기구: POSIX, 운영체제 교과서

출시 연도: 1960년