관리 메뉴

공부 기록장 💻

[운영체제/OS] 쉽게 배우는 운영체제 2장 문제풀이 (컴퓨터의 구조와 성능 향상) 본문

# CS Study/Opearing System

[운영체제/OS] 쉽게 배우는 운영체제 2장 문제풀이 (컴퓨터의 구조와 성능 향상)

dream_for 2022. 8. 20. 20:56

OS 2장 문제 풀이

연습 문제

1. CPU의 구성에 대해 설명하시오.

  • 산술 연산 장치(Arithmetic Logic Unit) - 산술(덧셈, 뺄셈, 곱셈 나눗셈 등)연산과 논리(AND, OR, XOR 등) 연산 수행
  • 제어 장치(Controller) - 레지스터에 있는 데이터를 가져다가 명령어를 해석하소 실행을 지시
  • 레지스터(Register) - 메모리의 데이터를 임시로 보관하는 장치

 

2. 폰노이만 구조의 가장 중요한 특징을 설명하시오.

  • 하드웨어는 그대로 둔 채, 작업을 위한 프로그램만 교체하여 메모리에 올리는 형식으로, CPU는 메모리에 내장된 프로그램을 불러와 수행하는 폰 노이만 구조(=내장형 메모리 구조)를 사용한다.

 

3. 버스의 종류를 나열하시오.

  • 제어 버스
  • 데이터 버스
  • 주소 버스

 

4. 다음에 실행할 명령어의 주소를 가지고 있는 레지스터는 무엇인가?

  1. 프로그램 카운터

 

5. 다음에 실행할 명령어를 보관하는 레지스터는 무엇인가?

  1. 명령어 레지스터

 

6. 메모리 주소를 보관하는 레지스터는 무엇인가?

  1. 메모리 주소 레지스터

 

7. 메모리에 저장할 데이터나 메모리에서 가져온 데이터를 임시로 보관하는 레지스터는 무엇인가?

  1. 메모리 버퍼 레지스터

 

8. 주소 버스와 연결되어 있는 레지스터는 무엇인가?

  1. 메모리 주소 레지스터

 

9. 데이터 버스와 연결되어 있는 레지스터는 무엇인가?

  1. 메모리 버퍼 레지스터

 

10. 프로그램을 보호하기 위해 사용하는 두 가지 레지스터는 무엇인가?

  • 경계 레지스터- 현재 진행 중인 작업의 메모리 시작 주소를 저장
  • 한계 레지스터-작업이 차지하고 있는 메모리의 크기(마지막 주소까지의 차이)를 저장

 

11. 속도 차이가 나는 두 장치 사이에서 속도를 완화하는 장치를 무엇이라고 통칭하는가?

  1. 버퍼

 

12. 응용 프로그램과 프린터 사이에서 속도 차이를 완화하는 소프트웨어를 무엇이라고 하는가?

  1. 스풀러

 

13. 부팅 시 운영체제를 메모리로 가져오기 위해 사용하는 작은 프로그램은 무엇인가?

  1. 마스터 부트 레코드

 

14. 속도가 빠르고 값이 비싼 저장장치를 CPU 가까운 쪽에 두고, 값이 싸고 용량이 큰 저장장치를 반대쪽에 배열하는 방식을 무엇이라고 하는가?

  1. 저장장치의 계층 구조 방식

 

15. 작업의 효율성을 높이기 위해 CPU가 입출력 관리자에게 입출력 작업을 요청하면 작업을 마친 입출력 관리자는 CPU에 무엇을 보내는가?

  1. 인터럽트 신호(IRQ, Interrupt ReQuest)

 

16. CPU의 도움 없이도 메모리를 사용할 수 있도록 입출력 관리자에게 주는 권한을 무엇이라고 하는가?

  1. 직접 메모리 접근(DMA, Direct Memory Access)

 

17. CPU와 입출력 관리자가 서로 다른 메모리 영역을 사용하는 기법을 무엇이라고 하는가?

  1. 메모리 매핑 입출력

 

18. CPU가 병렬 처리를 지원하지 않을 때 소프트웨어 적으로 병렬 처리를 하는 기법을 무엇이라고 하는가?

  1. VLIW(Very Long Instruction Word) 기법

 

심화 문제

1. 컴퓨터에서 클록이 하는 역할을 설명하시오.

  • 클록(clock)은 CPU의 속도와 관련된 단위로, CPU는 작업을 할 때 일정한 박자에 맞추는데 클록이 일정 간격으로 틱(tick)을 만들면 거기에 맞추어 CPU안의 모든 구성 부품이 작업을 한다. 메인보드의 클록이 틱을 보낼 때마다 데이터를 전송하고 수신하는 역할을 한다.

 

2. 프로그램 카운터 레지스터의 역할을 설명하시오.

  • 프로그램 카운터(PC)는 다음에 실행할 명령어의 주소를 기억하고 있다가 제어장치에 알려주어, CPU가 다음에 처리해야 할 명령어를 알려주는 역할을 한다. PC는 다음 실행할 명령어의 주소를 가리키기 때문에 명령어 포인터라고도 한다.

 

3. 제어 버스, 주소 버스, 데이터 버스에 대해 설명하시오.

  • **제어 버스(control bus)**는 제어장치와 연결된 버스로, CPU가 메모리와 주변 장치에 다음에 어떤 작업을 할지 지시하는 제어 신호가 오고 가는 양방향 통로이다. 메모리에서 데이터를 가져올지(LOAD), 처리한 데이터를 옮겨 놓을지(MOVE)와 같은 명령어 지시 정보가 오고 간다. 메모리에서 데이터를 가져올 대는 읽기 신호를 보내고, 처리한 데이터를 메모리에 옮겨 놓을 때는 쓰기 신호를 보낸다. 메모리와 주변장치에서도 작업이 완료되거나 오류가 발생하면 제어 신호를 보낸다.
  • **주소 버스(address bus)**는 메모리의 데이터를 읽고 쓸 때 어느 위치에서 작업할지를 알려주는 위치 정보인 주소가 오고 간다. 주소 버스는 메모리 주소 레지스터와 연결되어 있으며 단방향이며, CPU에서 메모리나 주변장치로 나가는 주소 정보를 보낸다.
  • 데이터 버스는 메모리 버퍼 레지스터와 연결되어 양방향으로 데이터가 이동되는 버스이다.

 

4. 휘발성 메모리와 비휘발성 메모리를 비교하여 설명하시오.

  • 휘발성 메모리는 전력이 끊기면 데이터가 사라지는 반면, 비휘발성 메모리는 전력이 끊겨도 데이터를 보관할수 있다. 비휘발성 메모리는 전력이 끊겨도 데이터를 보관해야 하므로 메모리 내부가 복잡하고 속도가 느리며 가격이 비싸다. 따라서 메인 메모리에는 휘발성 메모리 중 동적 램인 DRAM을 사용한다. 캐시와 같은 고속 메모리에는 정적 램인 SRAM을 사용한다. 비휘발성 메모리 중 플래시 메모리는 전력이 없어도 데이터를 보관하는 저장장치로 많이 사용된다. 하드디스크를 대신하여 만든 비휘발성 메모리인 SSD 또한 저장장치로도 많이 사용되고 있다.

 

5. DDR SDRAM에 대해 설명하시오.

  • SDRAM(Synchronous Dynamic Random Access Memory)는 DRAM이 발전된 형태로, 클록틱(펄스)가 발생할때 마다 데이터를 저장하는 동기 DRAM이다. CPU는 3GHz 이상의 매우 빠른 속도로 작동하지만 SDRAM은 메인보드의 시스템 버스와 같은 속도로 느리게 작동하여 전반적인 작업 속도를 떨어뜨리는 문제가 있다, 이러한 속도 차이를 완화하기 위해 SDRAM의 대역폭을 늘려 데이터 입출력 속도를 빠르게 한 것이 DDR(Double Data Rate) SDRAM이다.
  • 클록틱 한 번에 1개의 워드를 저장하는 SDRAM과 다르게 DDR SDRAM은 클록틱 한 번에 2개의 워드를 저장하며, SDRAM보다 대역폭이 2배라고 할 수 있다.

 

6. 스풀에 대해 설명하시오.

  • 스풀(Spool)은 CPU와 입출력장치가 독립적으로 동작하도록 고안된 소프트웨어 버퍼로, 대표적으로 프린터에 사용되는 스풀러가 있다. 스풀러는 인쇄할 내용을 순차적으로 출력하여 출력 명령을 내린 프로그램과 독립적으로 동작한다. 스풀러를 사용하면 인쇄할 내용을 하드디스크의 스풀러 공간에 저장하고, 워드 프로세서는 다른 작업을 할 수 있으므로 문서 작업과 프린터 출력 작업이 독립적으로 진행되도록 한다.

 

7. 즉시 쓰기 방식의 캐시와 지연 쓰기 방식의 캐시를 비교하여 설명하시오.

  • 즉시 쓰기(write through) 방식은 캐시에 있는 데이터가 변경되면 이를 즉시 메모리에 반영하는 방식인 반면, 지연 쓰기(write back) 방식은 즉시 메모리에 반영하지 않고 변경된 내용을 모아 주기적으로 반영하는 방식이다. 즉시 쓰기 방식은 메모리와의 빈번한 데이터 전송으로 인해 성능이 느려진다는 단점이 있지만, 메모리의 최신 값이 항상 유지되므로 급작스러운 정전에도 데이터를 잃어버리지 않는다. 지연 쓰기 방식은 메모리와의 데이터 전송횟수가 줄어들어 시스템의 성능을 향상할 수 있으나, 메모리와 캐시된 데이터 사이의 불일치가 발생한다는 단점이 존재한다.

 

8. 인터럽트 번호를 사용하는 이유를 설명하시오.

  • 인터럽트 방식에선 많은 주변장치 중 어떤 것의 작업이 끝났는지를 CPU에 알려주기 위해 인터럽트 번호를 사용한다. 이는 여러 주변 장치를 구별하기 위해 사용된다.

 

9. 메모리 직접 접근(DMA)에 대해 설명하시오.

  • 메모리 직접 접근(DMA, Direct Memory Access)는 입출력 관리자가 CPU의 허락 없이 직접 메모리에 접근하여 입출력 작업을 수행할 수 있는 권한이다. 본래 CPU는 입출력 관리자에게 입출력 요청을 보내고 입출력 관리자는 데이터를 메모리에 가져다 놓아야 하는데, 이 때 메모리는 CPU만 접근 권한을 가진 작업 공간이므로 입출력 관리자가 접근이 불가하다. 따라서 입출력 관리자에게는 CPU의 허락 없이 메모리에 접근할 수 있는 권한이 필요하고, 이를 DMA라고 한다.

 

10. 메모리 매핑 입출력에 대해 설명하시오.

  • 메모리 매핑 입출력(Memory Mapped I/O)은 메모리의 일정 공간을 입출력에 할당하는 기법이다. 직접 메모리 접근 DMA를 사용하면 메모리에 CPU가 사용하는 데이터와 입출력 장치가 사용하는 데이터가 섞여 있으므로, 메모리가 복잡해지고 관리가 어려워진다. 따라서 CPU가 사용하는 메모리 공간과 직접 접근을 통해 들어오고 나가는 데이터를 위한 공간을 분리하는 메모리 매핑 입출력 기법을 사용하여 메모리 공간을 관리하도록 하는 것이다.
728x90
반응형
Comments