본문 바로가기
책/쉽게 배우는 운영체제

[쉽게 배우는 운영체제 연습문제 심화문제 정답] 2장

by Just Do Barro 2020. 6. 4.

[쉽게 배우는 운영체제 연습문제 심화문제 정답] 2장

쉽게 배우는 운영체제
쉽게 배우는 운영체제 출처:http://item.gmarket.co.kr/Item?goodscode=1458765929
(직접 풀었습니다)
 
[연습문제]
1. CPU의 구성에 대해 설명하시오.
산술논리 연산장치(ALU, Arithmetic and Logic Unit): 데이터의 덧셈, 뺄셈, 곱셈, 나눗셈 같은 산술 연산과 AND, OR 같은 논리 연산을 수행한다.
제어장치: CPU에서 작업을 지시하는 부분
레지스터: CPU내에 데이터를 임시로 보관하는 곳
2. 폰노이만 구조의 가장 중요한 특징을 설명하시오.
모든 프로그램은 메모리에 올라와야 실행될 수 있다.
3. 버스의 종류를 나열하시오.
제어 버스, 주소 버스, 데이터 버스
4. 단방향 버스에 대해 설명하시오.
자료가 한 방향으로 전달하는 버스이며 주소 버스가 있다.
5. 다음에 실행할 명령어의 주소를 가지고 있는 레지스터는 무엇인가?
프로그램 카운터
6. 다음에 실행할 명령어를 보관하는 레지스터는 무엇인가?
명령어 레지스터
7. 메모리 주소를 보관하는 레지스터는 무엇인가?
메모리 주소 레지스터
8. 메모리에 저장할 데이터나 메모리에서 가져온 데이터를 임시로 보관하는 레지스터는 무엇인가?
메모리 버퍼 레지스터(MBR)
9. 주소 버스와 연결되어 있는 레지스터는 무엇인가?
메모리 주소 레지스터
10. 데이터 버스와 연결되어 있는 레지스터는 무엇인가?
메모리 버퍼 레지스터
11. 프로그램을 보호하기 위해 사용하는 두 가지 레지스터는 무엇인가?
경계 레지스터, 한계 레지스터
12. 속도 차이가 나는 두 장치 사이에서 속도를 완화하는 장치를 무엇이라고 통칭하는가?
버퍼
13. 응용 프로그램과 프린터 사이에서 속도 차이를 완화하는 소프트웨어를 무엇이라고 하는가?
스풀러
14. 부팅 시 운영체제를 메모리로 가져오기 위해 사용하는 작은 프로그램은 무엇인가?
부트 스트랩
15. 속도가 빠르고 값이 비싼 저장장치를 CPU 가까운 쪽에 두고, 값이 싸고 용량이 큰 저장장치를 반대쪽에 배열하는 방식을 무엇이라고 하는가?
저장장치의 계층구조
16. 작업의 효율성을 높이기 위해 CPU가 입출력 관리자에게 입출력 작업을 요청하면 작업을 마친 입출력 관리자는 CPU에 무엇을 보내는가?
인터럽트
17. CPU의 도움 없이도 메모리를 사용할 수 있도록 입출력 관리자에게 주는 권한을 무엇이라고 하는가?
직접 메모리 접근
18. CPU와 입출력 관리자가 서로 다른 메모리 영역을 사용하는 기법을 무엇이라고 하는가?
메모리 매핑 입출력(MMI)
19. CPU가 병렬 처리를 지원하지 않을 때 소프트웨어적으로 병렬 처리를 하는 기법을 무엇이라고 하는가?
VLIW 기법
 
[심화문제]
1. 컴퓨터에서 클록이 하는 역할을 설명하시오.
CPU가 작업 할 때 클록이 일정한 간격으로 틱(Tick)을 만들면 거기에 맞추어 CPU 안의 모든 구성 부품이 작업을 한다. 버스안에는 여러 개의 부품이 연결되어 있는데, 메인보드의 클록이 틱을 보낼 때마다 데이터를 보내거나 받는다.
2. 프로그램 카운터 레지스터의 역할을 설명하시오.
다음에 실행할 명령어의 주소를 기억하고 있다가 제어장치에 알려준다. 다음에 실행할 명령어의 주소를 가리키기 때문에 프로그램 카운터를 명령어 포인터(Instruction Pointer)라고도 한다.
 
3. 제어 버스, 주소 버스, 데이터 버스에 대해 설명하시오.
제어 버스: 다음에 어떤 작업을 할지 지시하는 제어 신호가 오고간다. 메모리에서 데이터를 가져올지, 아니면 처리한 데이터를 옮겨놓을지에 대한 지시 정보가 오고가는데, 메모리에서 데이터를 가져올 때는 읽기 신호를 보내고, 처리한 데이터를 메모리로 옮겨 놓을 때 쓰기 신호를 보낸다. 주변장치의 경우도 하드디스크에 저장 명령을 내리거나 사운드카드에 소리를 내라는 명령을 내릴 때 제어 버스를 통해 전달된다. 제어 버스 신호는 CPU, 메모리, 주변장치와 양방향으로 오고 간다.
주소 버스: 메모리의 데이터를 읽거나 쓸 때 어는 위치에서 작업할 것인지를 알려주는 위치 정보(주소)가 오고 간다. 주소 버스는 메모리 주소 레지스터와 연결되어 있으며 단방향이다. CPU에서 메모리나 주변장치로 나가는 주소 정보는 있지만 주소 버스를 통해 CPU로 전달되는 정보는 없다.
데이터 버스: 제어 버스가 다음에 어떤 작업을 할지 신호를 보내고 주소 버스가 위치 정보를 전달하면 데이터가 데이터 버스(Data Bus)에 실려 목적지까지 이동한다. 데이터 버스는 메모리 버퍼 레지스터와 연결되어 있으며 양방향이다.
 
4. 휘발성 메모리와 비휘발성 메모리를 비교하여 설명하시오.
램은 전력이 끊기면 데이터가 사라지는 휘발성 메모리와 전력이 끊겨도 데이터를 보관할 수 있는 비휘발성 메모리로 나뉜다. 
휘발성 메모리(Volatility Memory)는 DRAM(Dynamic RAM, 동적 램)과 SRAM(Static RAM, 정적 램)이 있다. DRAM은 저장된 0 과 1의 데이터가 일정 시간이 지나면 사라지므로 일정시간마다 다시 재생시켜야한다. Dynamic은 시간이 지나면 데이터가 사라지기 떄문에 재생이 필요하다는 의미이다. SRAM은 전력이 공급되는 동안에는 데이터를 보관할 수 있어 재생할 필요가 없다. SDRAM은 클록틱이 발생할 때마다 데이터를 저장하는 동기 DRAM이다. 
비휘발성 메모리(Non-Volatiliy Memory)에 플래시 메모리(Flash Memory), FRAM(Ferroelectric RAM), PRAM(Phase change RAM)등이 있다. 이들은 전력이 끊겨도 내용이 남기 때문에 편리할 수 있지만 비휘발성 메모리는 전력이 끊겨도 데이터를 보관해야 하므로 메모리 내부가 복잡하고 속도가 느리며 가격이 비싸다. 
 
5. DDR SDRAM에 대해 설명하시오.
DDR(Double Data Rate) SDRAM은 SDRAM이 메인보드의 시스템 버스와 같은 속도로 느리게 작동하여 전반적인 작업 속도를 떨어뜨리는 문제를 완화하기 위해 SDRAM의 대역폭을 늘려 데이터 입출력 속도를 빠르게 한 것이다. DDR SDRAM은 클록틱 한 번에 2개의 워드를 저장한다. 대역폭은 SDRAM보다 2배이다.
 
6. 스풀에 대해 설명하시오.
스풀(SPOOL, Simultaneous Peripheral Operation On-Line)은 CPU와 입출력장치가 독립적으로 동작하도록 고안된 소프트웨어적인 버퍼로, 대표적인 예는 프린터에 사용되는 스풀러(Spooler)이다. 스풀러는 인쇄할 내용을 순차적으로 출력하는 소프트웨어로, 출력 명령을 내린 프로그램과 독립적으로 동작한다. 스풀러를 사용하면 인쇄할 내용을 하드디스크의 스풀러 공간에 저장하고 워드 프로세서는 다른 작업을 할 수 있다. 문서 작업과 프린터 출력 작업이 독립적으로 진행되는 것이다. 
 
7. 즉시 쓰기 방식의 캐시와 지연 쓰기 방식의 캐시를 비교하여 설명하시오.
캐시의 변경된 데이터를 메모리에 반영하는 데이는 즉시 쓰기 방식과 지연 쓰기 방식이 있다.
즉시 쓰기(Write Through)느느 캐시에 있는 데이터가 변경되면 이를 즉시 메모리에 바녕하는 방식이다. 메모리와의 빈번한 데이터 전송으로 인해 성능이 느려진다는 단점이 있지만, 메모리의 최신 값이 항상 유지되기 때문에 급작스러운 정전에도 데이터를 잃어버리지 않는다.
지연 쓰기(Write Back)는 캐시에 있는 데이터가 변경되면 이를 즉시 메모리에 반영하는 것이 아니라 변경된 내용을 모아서 주기적으로 반영하는 방식으로, 카피백(Copy Back)이라고도 한다. 메모리와의 데이터 전송 횟수가 줄어들어 시스템의 성능을 향상할 수 있으나 메모리와 캐시된 데이터 사이의 불일치가 발생할 수도 있다는 것이 단점이다. 
 
8. 인터럽트 번호를 사용하는 이유를 설명하시오.
인터럽트는 입출력 관리자가 CPU에 보내는 완료 신호이다. 컴퓨터에는 하드디스크뿐 아니라 마우스, 키보드, 프린터 등 다양한 입출력장치가 있다. 인터럽트 방식에는 많은 주변장치 중 어떤 것의 작업이 끝났는지를 CPU에 알려주기 위해 인터럽트 번호(Interrupt Number)를 사용한다. 
 
9. 메모리 직접 접근(DMA)에 대해 설명하시오.
직접 메모리 접근(Direct Memory Access, DMA)은 원래 메모리 접근은 CPU만 접근 권한을 가진 작업 공간이라 입출력 관리자는 접근이 불가능하기 때문에 입출력 관리자에게 CPU 허락없이 메모리에 접근할 수 있는 권한을 주는 것이다. 데이터 전송을 지시받은 입출력 관리자는 직접 메모리 접근 권한이 있어야 CPU의 관여 없이 작업을 완료할 수 있다.
 
10. 메모리 매핑 입출력에 대해 설명하시오.
메모리 매핑 입출력(Memory Mapped I/O, MMIO)은 CPU가 사용하는 메모리 공간과 직접 메모리 접근을 통해 들어오거나 나가는 데이터를 위한 공간을 분리하는 것이다. 즉 메모리의 일정 공간을 입출력 공간에 할당하는 기법이다. 
 

 

댓글