///////
Search
3️⃣

연습문제 10 ~ 13

프로세스의 코드에 정의된 절차에 따라 CPU에 작업 요청을 하는 실행 단위로서 가벼운 프로세스라고 불리는 것은 무엇인가?

스레드
프로세스 내에서 실행되는 흐름의 단위 혹은 CPU 스케줄링의 기본 단위
하나의 프로세스는 여러개의 스레드로 구성
스레드는 프로세스 내에서 Code, Data, Heap 영역을 공유한다.
스레드별로 자신만의 스택과 레지스터 : 스택을 독립적으로 할당하는 이유? →스택 메모리 공간이 독립적이라는 것은 독립적인 함수 호출이 가능하다는 것 → 독립적인 실행 흐름이 가능
한순간에 하나의 스레드만 실행
스레드와 프로세스 차이점
프로세스 : 운영체제로부터 자원을 할당받는 작업의 단위
스레드 : 프로세스가 할당받은 자원을 이용하는 실행의 단위

고아 프로세스를 방지하기 위해 부모 프로세스는 어떤 시스템 호출을 사용하는가?

wait()
부모 프로세스가 먼저 종료됨으로써 고아 프로세스가 생기는 것을 방지
부모 프로세스는 wait() 시스템 콜을 호출하여 자식 프로세스가 종료될 때까지 자신의 실행을 잠시 중단하고, 자식 프로세스가 종료되면 wait()는 리턴함

작업이 끝난 프로세스의 자원을 회수하는 행위를 무엇이라고 하는가?

가비지 컬렉션
동적 할당된 메모리 영역 가운데 더 이상 사용할 수 없게 된 영역을 탐지하여 자동으로 해제하는 기법이다. 더 이상 사용할 수 없게 된 영역이란, 어떤 변수도 가리키지 않게 된 영역을 의미한다.

모든 프로세스를 부모-자식 관계로 만들어 자원 회수를 용이하게 하는 프로세스의 구조는 무엇인가?

프로세스 계층 구조
부모 프로세스를 복제하여 자식 프로세스를 만드는 방법
부모 프로세스가 자신의 자원을 자식 프로세스에 상속하고 자식 프로세스가 종료되면 그 자원을 회수한다.