ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 운영체제 3장 연습문제 풀이
    운영체제 2021. 10. 18. 23:38
    728x90
    반응형

    1. 프로세스를 바르게 설명한 것끼리 나열한 것은?

    ㉠ 실행 가능한 PCB가 있는 프로그램
    ㉡ 프로세서가 할당하는 개체로 디스패치가 가능한 단위
    ㉢ 목적 또는 결과에 따라 발생하는 사건들의 과정
    ㉣ 동기적 행위를 일으키는 주체

    ① ㉠, ㉡, ㉢    ② ㉠, ㉡, ㉣    ③ ㉠, ㉢, ㉣    ④ ㉡, ㉢, ㉣

     

    답 : ① ㉠, ㉡, ㉢

    ? : 프로세스는 비동기적 행위를 일으키는 주체이다.

     

     

    2. 프로세스 제어 블록을 가지고, 현재 실행 중이거나 곧 실행 가능하고, 프로세서를 할당받을 수 있는 프로그램으로 정의할 수 있는 것은?

    ① 작업 집합    ② 세그먼테이션    ③ 모니터    ④ 프로세스

     

    답 : ④ 프로세스

    ? : 문제는 프로세스에 대한 설명이다.

     

     

    3. 프로세스의 정의로 적당하지 않은 것은?

    ① 하드웨어로 사용하는 입출력장치

    ② 실행 중인 프로그램

    ③ 운영체제의 프로세스 제어 블록이 존재로 명시되는 것

    ④ 프로세서를 할당하는 개체

     

    답 : ① 하드웨어로 사용하는 입출력장치

    ? : 입출력장치는 프로세스의 정의가 될 수 없으며, 프로세스는 하드웨어가 아닌 소프트웨어이다.

     

     

    4. 다음은 무엇을 정의한 것인가?

    · 실행 중인 프로세스
    · 비동기적 행위를 일으키는 주체
    · 프로시저가 활동 중인 것
    · PCB를 가진 프로그램

    ① process    ② working set    ③ monitor    ④ semaphore

     

    답 : ① process

    ? : 모두 프로세스의 정의이다.

     

     

    5. 프로세스의 정의에 대한 설명 중 옳지 않은 것은?

    ① 동기적 행위를 일으키는 주체    ② 실행 중인 프로그램

    ③ 프로시저가 활동 중인 것    ④ 운영체제가 관리하는 실행 단위

     

    답 : ① 동기적 행위를 일으키는 주체

    ? : 프로세스는 비동기적 행위를 일으키는 주체이다.

     

     

    6. 프로세스의 정의를 바르게 설명한 것끼리 나열한 것은?

    ㉠ 프로시저가 활동 중인 것
    ㉡ PCB를 가진 프로그램
    ㉢ 동기적 행위를 일으키는 존재
    ㉣ 프로세서를 할당하는 실체

    ① ㉠, ㉡    ② ㉠, ㉣    ③ ㉠, ㉡, ㉣    ④ ㉠, ㉡, ㉢, ㉣

     

    답 : ③ ㉠, ㉡, ㉣

    ? : 프로세스는 비동기적 행위를 일으키는 주체이다.

     

     

    7. 프로세스에 대한 설명이 아닌 것은?

    ① 실행 가능한 PCB를 가진 프로그램

    ② 더 이상 계속할 수 없는 어떤 특정 사건을 기다리고 있는 상태

    ③ 프로세서가 할당하는 개체로 디스패치가 가능한 단위

    ④ 목적 또는 결과에 따라 발생되는 사건들의 과정

     

    답 : ② 더 이상 계속할 수 없는 어떤 특정 사건을 기다리고 있는 상태

    ? : ②는 데드락의 설명이다.

     

     

    8. 프로세스의 개념으로 거리가 먼 것은?

    ① 실행 중인 프로그램

    ② 프로세서에 할당되어 실행될 수 있는 개체

    ③ 프로그램이 활성화된 상태

    ④ 동시에 실행될 수 있는 프로그램의 집합

     

    답 : ④ 동시에 실행될 수 있는 프로그램의 집합

    ? : 프로세스는 비동기적 행위를 일으키는 주체이므로 동시성을 가질 수 없다.

     

     

    9. 다음은 무엇을 정의한 것인가?

    · 실행 중인 프로그램
    · 커널에 등록하고 커널의 관리하에 있는 작업
    · 각종 자원들을 요청하고 할당받을 수 있는 개체

    ① processor    ② locality    ③ process    ④ page

     

    답 : ③ process

    ? : 프로세스의 정의이다.

     

     

    10. 프로세스에 대한 설명으로 옳지 않은 것은?

    ① 트랩 오류, 프로그램 요구, 입출력 인터럽트에 조치를 취한다.

    ② 비동기적 행위를 일으키는 주체로 정의할 수 있다.

    ③ 실행 중인 프로그램을 말한다.

    ④ 프로세스는 각종 자원을 요구한다.

     

    답 : ① 트랩 오류, 프로그램 요구, 입출력 인터럽트에 조치를 취한다.

    ? : 트랩 오류, 프로그램 요구, 입출력 인터럽트에 대한 조치를 취하는 것은 프로세스가 아닌 운영체제의 일이다.

     

     

    11. 프로세스 상태 변화에 관련된 설명이다. 옳지 않은 것은?

    ① 준비 리스트에 있는 프로세스와 대기 상태에 있는 프로세스는 각각 우선순위가 주어진다.

    ② 준비 리스트에 있는 프로세스는 일정 시간이 지나면 실행 상태로 변한다.

    ③ 준비 리스트의 맨 앞에 있던 프로세스가 프로세서를 취하는 것을 디스패칭이라고 한다.

    ④ 대기(보류) 리스트에 있는 리스트는 프로세스 스스로가 아닌 외적 조건 때문에 프로세스 상태 변화가 일어난다.

     

    답 : ① 준비 리스트에 있는 프로세스와 대기 상태에 있는 프로세스는 각각 우선순위가 주어진다.

    ? : 대기 상태에 있는 프로세스는 우선순위가 주어지지 않는다.

     

     

    12. 프로세스가 프로세서를 점유하는 상태는?

    ① 실행(running) 상태    ② 준비(ready) 상태    ③ 대기(보류)(block) 상태    ④ 깸(wake up) 상태

     

    답 : ① 실행(running) 상태 

    ? : 프로세서를 점유하여 명령어가 실행되는 상태를 실행 상태라고 한다.

     

     

    13. 하나의 프로세스가 시스템에 존재하는 동안 그 프로세스는 여러 상태를 거친다. 프로세스 변화에 관련된 설명으로 옳지 않은 것은?

    ① 디스패칭(dispatching) : 준비 상태 → 실행 상태

    ② 대기(보류) 상태(block) : 실행 상태 → 대기(보류) 상태

    ③ 깸(wake up) : 대기 상태 → 실행 상태

    ④ 할당 시간 종료(time out) : 실행 상태 → 준비 상태

     

    답 : ③ 깸(wake up) : 대기 상태 → 실행 상태

    ? : wake up은 대기 상태에서 준비 상태가 되는 것을 말한다.

     

     

    14. PCB(Process Control Block)에 대한 설명으로 틀린 것은?

    ① 각각의 프로세스에는 모두 PCB가 있다.

    ② PCB를 위한 공간은 시스템이 최대 수용할 수 있는 프로세스 수를 기본으로 하여 동작 공간을 할당한다.

    ③ 프로세스의 중요한 상태 정보가 들어 있다.

    ④ 프로세스를 소멸해도 해당 PCB는 제거하지 않는다.

     

    답 : ④ 프로세스를 소멸해도 해당 PCB는 제거하지 않는다.

    ? : 프로세스가 소멸하면 PCB도 같이 소멸된다.

     

     

    15. PCB가 갖고 있는 정보가 아닌 것은?

    ① 할당되지 않은 주변장치의 상태 정보

    ② 프로세스의 현재 상태

    ③ 프로세스 고유 식별자

    ④ 스케줄링 및 프로세스의 우선순위

     

    답 : ① 할당되지 않은 주변장치의 상태 정보

    ? : 할당되지 않은 주변장치의 상태 정보는 가지고 있지 않다.

     

     

    16. PCB가 포함하는 정보가 아닌 것은?

    ① 프로세스의 현 상태

    ② 중앙처리장치 레지스터 보관 장소

    ③ 할당된 자원에 대한 포인터

    ④ 프로세스의 사용 빈도

     

    답 : ④ 프로세스의 사용 빈도

    ? : PCB가 포함하는 정보 - 프로세스 식별자, 상태, 프로그램 카운터, 레지스터 저장 영역, 프로세서 스케줄링 정보, 계정 정보, 입출력 상태 정보, 메모리 관리 정보, ... 등으로 프로세스의 사용 빈도는 포함하지 않는다.

     

     

    17. PCB에 대한 설명으로 옳지 않은 것은?

    ① PCB에는 프로세스 식별 번호, 프로세스 상태 정보, CPU 레지스터 정보 등이 수록되어 있다.

    ② 적절한 응답시간을 보장하므로 일괄 처리 시스템에 유용하다.

    ③ 운영체제가 프로세스를 관리하려고 필요한 정보를 수록한다.

    ④ Process Control Block을 의미한다.

     

    답 : ② 적절한 응답시간을 보장하므로 일괄 처리 시스템에 유용하다.

    ? : 프로세스 스케줄링에 대한 설명이다.

     

     

    18. PCB에 포함되는 정보가 아닌 것은?

    ① 프로세스의 현 상태

    ② 프로세스 고유 구별자

    ③ 프로세스의 우선순위

    ④ 파일 할당 테이블(FAT)

     

    답 : ④ 파일 할당 테이블(FAT)

    ? : 파일 할당 테이블은 PCB에 포함되지 않는다.

     

     

    19. PCB에 포함되는 정보가 아닌 것은?

    ① 프로세스 처리기 종류

    ② 프로세스 현 상태

    ③ 프로세스 고유한 식별자

    ④ 프로세스 우선순위

     

    답 : ① 프로세스 처리기 종류

    ? : 프로세스 처리기 종류는 포함되지 않는다.

     

     

    20. PCB가 가지고 있는 정보가 아닌 것은?

    ① 프로세스 상태

    ② 프로그램 카운터

    ③ 프로세스(처리기) 레지스터

    ④ 할당되지 않은 주변장치의 상태 정보

     

    답 : ④ 할당되지 않은 주변장치의 상태 정보

    ? : 15번 참고

     

     

    21. PCB에 대한 설명 중 옳지 않은 것은?

    ① 프로세서의 현 상태와 우선순위를 알 수 있다.

    ② 프로세스에 할당된 자원 정보가 있다.

    ③ 부모 프로세스와 자식 프로세스는 프로세스 제어 블록을 공유한다.

    ④ 프로세스를 생성할 때마다 생성되며, 프로세스를 소멸해도 소멸되지 않는다.

     

    답 : ③ 부모 프로세스와 자식 프로세스는 프로세스 제어 블록을 공유한다. ④ 프로세스를 생성할 때마다 생성되며, 프로세스를 소멸해도 소멸되지 않는다.

    ? : 부모 프로세스와 자식 프로세스는 PCB를 공유하지 않는다. 프로세스를 소멸하면 PCB도 같이 소멸한다.

     

     

    22. PCB에 대한 설명 중 옳지 않은 것은?

    ① 프로세서에 할당된 자원 정보가 있다.

    ② 프로세스의 우선순위 정보가 있다.

    ③ 부모 프로세스와 자식 프로세스는 PCB를 공유한다.

    ④ 프로세스의 현 상태를 알 수 있다.

     

    답 : ③ 부모 프로세스와 자식 프로세스는 PCB를 공유한다.

    ? : 21번 참고

     

     

    23. PCB에 대한 옳은 설명으로만 짝지어진 것은?

    ㉠ 부모 프로세스와 자식 프로세스는 PCB를 공유한다.
    ㉡ 프로세스에 할당된 자원 정보가 있다.
    ㉢ 프로세스의 우선순위 정보가 있다.
    ㉣ 프로세스의 현 상태를 알 수 있다.

    ① ㉠, ㉡    ② ㉠, ㉢, ㉣    ③ ㉡, ㉢, ㉣    ④㉠, ㉡, ㉢, ㉣

     

    답 : ③ ㉡, ㉢, ㉣

    ? : 21번 참고

     

     

    24. 다중 프로그래밍 환경에서 어떤 프로그램의 실행을 중단하고 다른 프로그램의 실행을 재개할 때 그 프로그램의 재개에 필요한 환경을 다시 설정하는 것으로, 운영체제에서 오버헤드의 큰 요인 중 하나로 작용하는 것은?

    ① 문맥 교환(context switching)    ② 모니터(monitor)    ③ 세마포어(semaphore)    ④ 디스패치(dispatch)

     

    답 : ① 문맥 교환(context switching)

    ? : 문제는 문맥 교환에 대한 설명이다.

     

     

    25. 다중 프로그래밍 시스템에서 운영체제가 프로세서를 할당하는 프로세스를 변경하려고 현재  프로세서를 사용하여 실행하는 프로세서의 상태 정보를 저장하며, 제어를 인터럽트 서비스 루틴에 넘기는 작업은?

    ① 세마포어(semaphore)    ② 모니터(monitor)    ③ 상호배제(mutual exclusion)    ④ 문맥 교환(context switching)

     

    답 : ④ 문맥 교환(context switching)

    ? : 문제는 문맥 교환에 대한 설명이다.

     

     

    26. 다중 프로그래밍 시스템에서 CPU가 할당되는 프로세스를 변경하려고 현재 CPU를 사용하여 실행하는 프로세스의 상태 정보를 저장하며, 앞으로 실행될 프로세스의 상태 정보를 설정한 후 CPU를 할당하여 실행되도록 하는 것은?

    ① working set    ② context switching    ③ locality    ④ thread

     

    답 : ② context switching

    ? : 문제는 문맥 교환에 대한 설명이다.

     

     

    27. 특정 프로세서의 작업을 중단하여 CPU를 다른 프로세스에 넘겨줄 때 이전 프로세서의 레지스터들은 저장하고, 실행될 프로세스의 레지스터를 시스템에 적재하는 작업은?

    ① dispatch    ② wake up    ③ context switching    ④ suspended

     

    답 : ③ context switching

    ? : 문제는 문맥 교환에 대한 설명이다.

     

     

    28. 프로세스에서 실행의 개념만을 분리하여 제어의 흐름만 의미한다. 프로세스의 구성을 제어의 흐름 부분과 실행 환경 부분으로 나눌 때, 실행 부분을 담당하여 실행의 기본 단위가 되는 것은?

    ① working set    ② PCB    ③ thread    ④ segment

     

    답 : ③ thread

    ? : 문제는 스레드에 대한 설명이다.

     

     

    29. 프로세스 안에서 작업 단위로, 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위를 의미하는 것은?

    ① thread    ② working set    ③ semaphore    ④ monitor

     

    답 : ① thread

    ? : 문제는 스레드에 대한 설명이다.

     

     

    30. 스레드에 대한 설명으로 틀린 것은?
    ① 프로세스 내부에 포함되는 스레드는 공통적으로 접근 가능한 기억장치를 이용하여 효율적으로 통신한다.

    ② 스레드란 프로세스보다 더 작은 단위로, 다중 프로그래밍을 지원하는 시스템에서 CPU에 보내 실행하는 또 다른 단위를 말한다.

    ③ 프로세스가 스레드 여러 개로 구성되어 있을 때, 프로세스 하나를 구성하고 있는 스레드 여러 개는 모두 공통적인 제어 흐름을 갖는다.

    ④ 상태는 하나의 연관된 스레드 집단이 기억장치나 파일과 같은 자원을 공유하여 절감할 수 있다.

     

    답 : ③ 프로세스가 스레드 여러 개로 구성되어 있을 때, 프로세스 하나를 구성하고 있는 스레드 여러 개는 모두 공통적인 제어 흐름을 갖는다.

    ? : 스레드는 프로그램 카운터와 스택 포인터 등을 비롯한 스레드 실행 환경 정보(문맥 정보), 지역 데이터, 스택을 독립적으로 가지면서 코드, 전역 데이터, 힙을 다른 스레드와 공유한다.

     

     

    31. 스레드에 대한 설명으로 틀린 것은?

    ① 하드웨어, 운영체제의 성능과 응용 프로그램의 처리율을 향상시킬 수 있다.

    ② 실행 환경을 공유하므로 기억장소의 낭비가 줄어든다.

    ③ 프로세스 하나에는 스레드 한 개만 존재한다.

    ④ 프로세스 간 통신이 향상된다.

     

    답 : ③ 프로세스 하나에는 스레드 한 개만 존재한다.

    ? : 프로세스 하나에 여러 개의 프로세스가 존재할 수 있다.

     

     

    32. 스레드에 대한 설명으로 옳지 않은 것은?

    ① 프로세스 내부에 포함되는 스레드는 공통적으로 접근 가능한 기억장치를 이용하여 효율적으로 통신한다.

    ② 다중 스레드 개념을 도입하면 자원의 중복 할당을 방지하고 훨씬 작은 자원만으로도 작업을 처리할 수 있다.

    ③ 프로세스 하나를 구성하고 있는 스레드 여러 개는 공통적인 제어 흐름을 가지며, 각종 레지스터 및 스택 공간들은 모든 스레드가 공유한다.

    ④ 프로세스 하나를 스레드 여러 개로 생성하여 병행성을 증진할 수 있다.

     

    답 : ③ 프로세스 하나를 구성하고 있는 스레드 여러 개는 공통적인 제어 흐름을 가지며, 각종 레지스터 및 스택 공간들은 모든 스레드가 공유한다.

    ? : 30번 참고

     

     

    33. 스레드에 대한 설명으로 옳지 않은 것은?

    ① 프로세스 하나는 스레드 여러 개를 가질 수 없다.

    ② 커널 스레드는 운영체제를 이용하여 스레드를 운용한다.

    ③ 사용자 스레드는 사용자가 만든 라이브러리를 이용하여 스레드를 운용한다.

    ④ 스레드를 사용하여 하드웨어, 운영체제의 성능과 응용 프로그램의 처리율을 향상시킬 수 있다.

     

    답 : ① 프로세스 하나는 스레드 여러 개를 가질 수 없다.

    ? : 프로세스 하나는 스레드를 여러 개 가질 수 있다.

     

     

    34. 스레드에 대한 설명으로 거리가 먼 것은?

    ① 스레드 하나는 상태를 줄인 경량 프로세스라고도 한다.

    ② 프로세스 내부에 포함되는 스레드는 공통적으로 접근 가능한 기억장치를 이용하여 효율적으로 통신한다.

    ③ 스레드를 사용하면 하드웨어, 운영체제의 성능과 응용 프로그램의 처리율을 향상시킬 수 있다.

    ④ 프로세스 하나에는 스레드가 여러 개 있을 수 없다.

     

    답 : ④ 프로세스 하나에는 스레드가 여러 개 있을 수 없다.

    ? : 33번 참고

     

     

    35. 스레드에 대한 설명으로 옳지 않은 것은?

    ① 단일 프로세스를 다수의 스레드로 생성하여 병행성을 증진시킬 수 있다.

    ② 실행 환경을 공유하기에 기억장소의 낭비가 줄어든다.

    ③ 프로세스의 생성이나 문맥 교환 등 과부하를 줄여 운영체제의 성능을 개선한다.

    ④ 사용자 수준의 스레드는 커널의 효율적인 서비스를 받을 수 있어 속도가 개선된다.

     

    답 : ④ 사용자 수준의 스레드는 커널의 효율적인 서비스를 받을 수 있어 속도가 개선된다.

    ? : 속도가 개선되지는 않는다.

     

     

    36. 스레드에 대한 설명으로 옳지 않은 것은?

    ① 스레드는 하나의 프로세스 안에서 병행성을 증대시키는 메커니즘이다.

    ② 스레드는 프로세스의 일부 특성을 갖고 있기 때문에 경량 프로세스(LWP)라고도 한다.

    ③ 스레드는 동일 프로세스 환경에서 서로 독립적인 다중 수행이 불가능하다.

    ④ 스레드 기반 시스템에서 스레드는 독립적인 스케줄링의 최소 단위로서 프로세스의 역할을 담당한다.

     

    답 : ③ 스레드는 동일 프로세스 환경에서 서로 독립적인 다중 수행이 불가능하다.

    ? : 다중 수행이 가능하다.

     

     

    37. 스레드의 특징으로 옳지 않은 것은?

    ① 실행 환경을 공유하므로 기억장소의 낭비가 줄어든다.

    ② 프로세스 외부에 존재하는 스레드도 있다.

    ③ 프로세스 하나를 스레드 여러 개로 생성하여 병행성을 증진시킬 수 있다.

    ④ 프로세스 간 통신을 향상시킬 수 있다.

     

    답 : ② 프로세스 외부에 존재하는 스레드도 있다.

    ? : 스레드는 프로세스 내부에만 존재한다.

    728x90
    반응형
Designed by Tistory.