본문 바로가기
🖥️ Computer Science

[쉽게 배우는 운영체제] ch.3 프로세스와 스레드 - 연습 & 심화 문제

by GroovyArea 2022. 11. 2.

연습 문제

1. 프로그램이 프로세스가 되려면 운영체제로부터 무엇을 받는지?

  • 프로세스 제어 블록(Process Control Block)

 

2. 프로세스의 상태 중 CPU를 할당받기 위해 기다리는 상태

  • 준비 상태(Ready Status)

 

3. 프로세스의 상태 중 입출력 작업을 하기 위해 이동하는 상태

  • 대기 상태(Blocking Status)

 

4. CPU 스케줄러가 준비 상태에 있는 프로세스 중 하나를 골라 CPU를 할당하는 작업

  • 실행 상태(Runnung Status)

 

5. 유닉스에서 Ctrl+Z 를 눌러 프로세스가 중단되면 프로세스는 어떤 상태로 바뀌는지?

  • 휴식 상태(Pause Status)

 

6. 실행 상태에서 하나의 프로세스가 나가고 새로운 프로세스가 들어오는 상황

  • 문맥 교환(Context Switching)
  • 두 프로세스 간의 제어 블록 내용이 변경 됨.
  • 기존 프로세스 작업을 저장 후 실행 되는 프로세스의 제어 블록의 내용을 가지고 CPU가 세팅함
  • 프로세스 간 제어 블록을 교환하는 작업

 

7. 실행 중인 프로세스로부터 새로운 프로세스를 복사하는 시스템 호출은?

  • fork()
  • 현재 실행중인 프로세스와 같은 프로세스가 하나 생성된다.
  • 기존 프로세스 : 부모 프로세스
  • 새 프로세스 : 자식 프로세스

 

8. 프로세스의 골격은 그대로 둔 채 코드 영역만을 바꾸는 시스템 호출?

  • exec()
  • 프로세스의 구조체를 재활용하기 위해 사용
  • 기존의 프로세스 제어 블록, 메모리, 부모-자식 관계를 그대로 사용함
  • 새로운 Code Area만 가져오면 된다.

 

9. 부모 프로세스가 기다리지 않아 자원이 회수되지 못하고 계속 살아 있는 프로세스?

  • Orphan Process
  • Zombie Process

 

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

  • Thread
  • CPU 스케줄러가 CPU에 전달하는 하나의 일
  • 작업의 단위

 

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

  • wait()
  • 자식 프로세스가 종료될 경우 다음 문장을 실행

 

12. 작업이 끝난 프로세스의 자원을 회수하는 행위?

  • Garbage Collection

 

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

  • 프로세스 계층 구조
반응형