3-11 프로세스 vs 스레드 커널 레벨 vs 유저 레벨 스레드 커널 모드 vs 유저 모드 프로세스 vs 스레드 ex) 1인용 테트리스 프로그램 -> 하나의 프로세스 사용 ex) 2인용 테트리스 프로그램 -> 하나의 부모 프로세스에 두 자식 프로세스를 생성해서 구현 -> 만약 프로세스를 상속하면 부모와 자식 프로세스는 모두 데이터/힙/스택/코드 세그먼트가 존재 -> 스케쥴러는 커널 오브젝트 관리와 컨텍스트 스위칭이 부담될 수 있음 일반적으로 코드의 흐름을 2개의 분기로 가져가기 위해서는 함수 호출을 위한 스택이 필요 -> 스택의 논리적 분할이 가능하다면 프로세스를 2개 생성하지 않아도 되지 않을까 ? : 스레드 -> 스레드는 부모 프로세스와 데이터/힙/코드 영역은 공유, 스택만 논리적으로 분할하여 사용 ..