프로세스는 단일 스레드 실행 프로그램으로, CPU, 메모리, 파일 및 IO 장치가 필요하며 멀티 프로세싱 및 멀티스레딩을 통해 여러 작업을 동시에 수행한다.
프로세스는 텍스트, 데이터, 힙, 스택 섹션으로 구성되며, 라이프사이클은 생성, 실행, 대기, 준비, 종료로 이루어진다. PCB는 프로세스의 상태, 프로그램 카운터, 레지스터 정보 등을 저장하고 관리한다.
멀티프로세싱은 CPU 사용 효율을 극대화하며, 프로세스 생성은 Pork라는 운영체제 콜을 통해 이루어진다.
종료는 return이나 exit() 시스템 콜로 이루어지며, Zombie 및 Orphan 프로세스는 특정 환경에서 발생한다.


프로세스가 생성된 상태
명령어를 cpu에 로드해서 실행하는 상태
cpu를 쓸 수 있는 상태를 만들기 위해 기다리는 상태
cpu를 할당받으면 바로 작업할 수 있는 상태
프로세스 종료

실행되는 두가지 옵션
공간에 두가지 옵션
부모와 자식이 별도로 실행되는 상황
에서 활용
부모 프로세스가 wait()를 호출하지 않고 종료해버린 경우
자식 프로세스만 남은 상태