yoooniverse
[운영체제] 쉽게 배우는 운영체제 2장 연습문제 답 본문
2장 요약
#1 하드웨어의 구성
컴퓨터의 구성 : CPU, 메인메모리, 입력장치, 출력장치, 저장장치
필수장치 - CPU, 메인메모리 / 주변장치 - 필수장치를 제외한 구성품
#2 폰노이만 구조
: CPU, 메모리, 입출력장치, 저장장치가 버스로 연결되어 있는 구조
모든 프로그램이 메모리에 올라와야 실행이 가능
#3 CPU
명령어를 해석하여 실행하는 장치
구성 : 산술논리 연산장치, 제어장치, 레지스터
#4 메모리
실행에 필요한 프로그램과 데이터를 저장하는 공간
모든 프로그램은 메모리에 올라와야 실행 가능
메모리의 구분 ) 램 : 읽고 쓰기 가능 / 롬 : 읽기만 가능
#5 부팅
: 운영체제를 메모리에 올리는 과정
사용자가 컴퓨터의 전원을 켜면 ➡️ 롬에 저장된 바이오스가 실행되어 하드웨어 점검 ➡️ 메모리에 부트스트랩 코드를 올려 실행 ➡️ 부트스트랩 코드가 하드디스크에 저장된 운영체제를 메로리로 가져와 실행.
#6 버퍼
일정량의 데이터를 모아 옮기는 역할 수행.
두 장치 사이에서 속도의 차이를 완화하는 역할
#7 캐시
메모리와 CPU 간의 속도 차이를 완화하기 위해 데이터를 미리 가져와 저장해두는 임시 장소
사용할 것으로 예상되는 데이터를 미리 가져다놓아 두 장치의 속도 차이를 완화해줌
#8 저장장치의 계층 구조
CPU | 속도가 빠르고 값이 비싼 저장장치 --- 속도가 느리고 값이 싼 장치 |
빠른 속도와 큰 용량을 동시에 얻는 방법
#9 인터럽트
입출력 관리자가 CPU에 보내는 완료 신호.
CPU가 입출력 관리자에게 작업 지시를 내리고 다른 일을 하다가 입출력 관리자의 완료 신호를 받으면 하던 일을 멈추고 입출력 관리자가 올겨온 데이터를 처리.
CPU 작업과 저장장치의 데이터 이동을 독립적으로 운영. 시스템 효율을 높이는 효과 존재
#10 병렬 처리
동시에 여러 개의 명령을 처리하여 작업의 능률을 올리는 방식
연습문제
1. CPU의 구성에 대해 설명하시오
구성 : 산술논리 연산장치, 제어장치, 레지스터
- 산술논리 연산장치(ALU, Arithmatic and Logic Unit) : 데이터 연산 장치. 논리 연산을 수행
- 제어장치(Control Unit) : 작업을 지시하는 부분
- 레지스터(Register) : CPU 내에 데이터를 임시로 보관하는 곳
2. 폰노이만 구조의 가장 중요한 특징
모든 프로그램은 메모리에 올라와야 실행할 수 있다.
3. 버스의 종류를 나열하시오
제어 버스 / 주소 버스 / 데이터 버스
제어 버스 : 다음에 어떤 작업을 할지 지시하는 제어 신호가 오고 간다 (양방향)
주소 버스 : 메모리의 데이터를 읽거나 쓸 때 어느 위치에서 작업할 것인지 알려주는 위치 정보(주소)가 오고 간다 (단방향)
데이터 버스 : 제어 버스와 주소 버스가 정보를 전달 완료하면 그에 해당하는 데이터가 목적지까 이동한다. (양방향)
4. 단방향 버스에 대해 설명하시오
버스의 신호가 한 쪽으로만 전달되는 버스 유형
5. 다음에 실행할 명령의 주소를 가지고 있는 레지스터
프로그램 카운터
6. 다음에 실행할 명령어를 보관하는 레지스터
명령어 레지스터
7. 메모리 주소를 보관하는 레지스터
메모리 주소 레지스터
8. 메모리에 저장할 데이터나 메모리에서 가져온 데이터를 임시로 보관하는 레지스터
메모리 버퍼 레지스터
9. 주소 버스와 연결되어 있는 레지스터
메모리 주소 레지스터
10. 데이터 버스와 연결되어 있는 레지스터
메모리 버퍼 레지스터
11. 프로그램을 보호하기 위해 사용하는 두 가지 레지스터
경계 레지스터, 한계 레지스터
12. 속도 차이가 나는 두 장치 사이에서 속도를 완화하는 장치
버퍼
13. 응용 프로그램과 프린터 사이에서 속도 차이를 완화하는 소프트웨어
스풀
14. 부팅 시 운영체제를 메모리로 가져오기 위해 사용하는 작은 프로그램
마스터 부트 레코드
15. 속도가 빠르고 값이 비싼 저장장치를 CPU 가까운 쪽에 두고, 값이 싸고 용량이 큰 저장장치를 반대쪽에 배열하는 방식
저장장치의 계층 구조(Storage hierarchy)
16. 작업의 효율성을 높이기 위해 CPU가 입출력 관리자에게 입출력 작업을 요청하면 작업을 마친 입출력 관리자가 CPU에 보내는 것
인터럽트
17. CPU의 도움 없이도 메모리를 사용할 수 있도록 입출력 관리자에게 주는 권한
직접 메모리 접근(Direct Memory Access)
18. CPU와 입출력 관리자가 서로 다른 메모리 영역을 사용하는 기법
메모리 매핑 입출력(Memory Mapped I/O)
19. CPU가 병렬 처리를 지원하지 않을 때 소프트웨어적으로 병렬 처리를 하는 기법
VLIW 기법
심화문제
1. 컴퓨터에서 클록이 하는 역할
클록 : CPU의 속도에 관련된 단위
CPU가 작업을 할 때 필요한 일정한 박자를 만드는 역할
2. 프로그램 카운터 레지스터의 역할
cpu가 현재 작업 다음에 실행해야 하는 명령어의 주소를 기억하고 있다가 제어장치에 알려주는 역할. 다음에 실행할 명령어의 주소를 가리킴
3. 제어 버스, 주소 버스, 데이터 버스에 대해 설명
- 제어버스 : 제어장치와 연결된 버스. CPU가 메모리와 주변장치에 제어 신호를 보내기 위해 사용. 메모리와 주변장치에서도 작업이 완료되거나 오류가 발생하면 제어 신호를 보내기 때문에 양방향.
- 주소버스 : 메모리 주소 레지스터와 연결된 버스. 메모리나 주변장치에 데이터를 읽거나 쓸때 위치 정보를 보내기 위해 사용. 단방향.
- 데이터 버스 : 메모리 버퍼 레지스터와 연결된 버스. 데이터의 이동이 양방향으로 이루어짐.
4. 휘발성 메모리, 비휘발성 메모리 비교 설명
휘발성 메모리 : 전력이 끊기면 데이터가 사라짐.
비휘발성 메모리 : 전력이 끊겨도 데이터 보관 가능
5. DDR, SDRAM에 대해 설명
SDRAM : Synchronous Dynamic Random Access Memory
클록틱이 발생할 때마다 데이터를 저장하는 DRAM
DDR SDRAM : CPU의 빠른 속도와 SDRAM의 느린 속도 차이를 완화하기 위해 SDRAM의 대역폭을 늘려 데이터 입출력 속도를 빠르게 한 것
6. 스풀에 대해 설명
스풀 : CPU와 입출력장치가 독립적으로 동작하도록 고안된 소프트웨어적인 버퍼.
ex) 스풀러 : 프린터에 사용되는 소프트웨어
버퍼를 사용할 땐 프로그램들이 버퍼를 공유하나 스풀러는 프로그램 간에 배타적인 특성을 가짐
7. 즉시 쓰기 방식, 지연 쓰기 방식의 캐시를 비교하여 설명
즉시 쓰기 : 캐시에 있는 데이터가 변경되면 이를 즉시 메모리에 반영하는 방식. 최신값이 항상 유지.
지연 쓰기 : 변경된 내용을 모아서 주기적으로 반영하는 방식. 메모리와 캐시된 데이터 사이의 불일치가 발생할 수도 있다는 단점 존재
8. 인터럽트 번호를 사용하는 이유
CPU에 연결된 많은 주변장치 중 어떤 것의 작업이 끝났는지 알려주기 위해
9. 메모리 직접 접근(DMA)에 대해 설명
입출력 관리자가 CPU의 허락 없이 메모리에 접근할 수 있는 권한
10. 메모리 매핑 입출력에 대해 설명
메모리의 일정 공간을 입출력에 할당하는 기법
CPU가 사용하는 메모리 공간과 직접 메모리 접근을 통해 오가는 데이터를 위한 공간을 분리하는 것.
'운영체제 > 쉽게 배우는 운영체제' 카테고리의 다른 글
[운영체제] 쉽게 배우는 운영체제 4장 CPU 스케줄링 연습문제 답 (0) | 2022.10.26 |
---|---|
[운영체제] 쉽게 배우는 운영체제 4장 CPU 스케줄링 (2/2) (0) | 2022.10.24 |
[운영체제] 쉽게 배우는 운영체제 4장 CPU 스케줄링 (1/2) (0) | 2022.10.22 |
[운영체제] 쉽게 배우는 운영체제 3장 연습문제 답 (0) | 2022.10.10 |
[운영체제] 쉽게 배우는 운영체제 1장 연습문제 답 (0) | 2022.09.07 |