개발
home
🐳

Chapter 10 입출력 시스템과 저장장치

Created
2022/02/14 05:15
Tags

Part 4 저장장치 관리

Chapter 10 입출력 시스템과 저장장치

요약

1.
입출력 버스의 구조
a.
현대의 컴퓨터는 CPU와 메모리를 연결하는 메인버스, CPU와 그래픽카드를 연결하는 그래픽 버스, 고속 입출력 버스와 저속 입출력 버스를 사용한다.
2.
직접 메모리 접근
a.
CPU의 도움 없이도 메모리에 접근할 수 있도록 입출력 제어기(I/O Controller)에 부여된 권한으로, 입출력 제어기에는 직접 메모리에 접근하기 위한 DMA 제어기가 마련되어 있다.
3.
하드웨어 인터럽트
a.
주변장치의 입출력 요구나 하드웨어의 이상 현상을 CPU에 알려주는 역할을 하는 신호이다.
b.
CPU가 요청한 작업을 완료했을 때, 키보드로 데이터를 입력받았을 때, 네트워크 카드에 새로운 데이터가 도착했을 때, 하드웨어에 이상이 발생했을 때 등 다양한 경우에 인터럽트가 발생한다.
4.
디스크 장치의 전송 시간
a.
하드디스크에서 데이터를 가져오는 데 걸리는 총시간은 탐색 시간, 회전 지연 시간, 전송 시간의 총합이다.
5.
디스크 장치 관리
a.
디스크 장치를 사용하는 데에는 파티션, 포매팅, 조각 모음과 같은 관리 기법이 필요하다.
b.
파티션은 디스크를 논리적으로 분할하는 작업이고,
c.
포매팅은 디스크 표면을 초기화하는 자겅ㅂ이며,
d.
조각 모음은 디스크에 파일을 저장했다 지우기를 반복함으로써 중간중간에 생긴 빈 공간을 하나로 모으는 작업이다.
6.
네트워크 저장장치
a.
네트웤를 사용하는 저장장치는 어떻게 구성하느냐에 따라 DAS, NAS, SAN으로 구분된다.
b.
DAS는 서버와 같은 컴퓨터에 직접 연결된 저장장치를 말하고,
c.
NAS는 기존 저장장치를 LAN이나 WAN에 붙여서 사용하는 방식이며,
d.
SAN은 데이터 서버, 백업 서버, RAID 등의 장치를 네트워크로 묶고 데이터 접근을 위한 서버를 두는 형태에다.
7.
디스크 스케줄링 기법
a.
FCFS 디스크 스케줄링: 가장 단순한 디스크 스케줄링 방식으로, 트랙 요청이 들어온 순서대로 서비스한다.
b.
SSTF 디스크 스케줄링: 현재 헤드가 있는 위치에서 가장 가까운 트랙부터 서비스한다. 만약 다음에 서비스할 두 트랙의 거리가 같다면 먼저 요청받은 트랙을 서비스한다.
c.
블록 SSTF 디스크 스케줄링: SSTF 디스크 스케줄링의 공평성 위배를 어느 정도 해결한 방법으로, SSTF 디스크 스케줄링에 에이징을 적용한 것이다.
d.
SCAN 디스크 스케줄링: SSTF 디스크 스케줄링의 공평성 위배 문제를 완화하기 위해 만들어진 기법으로, 헤드가 움직이기 시작하면 맨 마지막 트랙에 도착할 때까지 뒤돌아가지 않고 계속 앞으로만 전진하면서 요청받은 트랙을 서비스한ㄴ다.
e.
C-SCAN 디스크 스케줄링: 헤드가 한쪽 방향으로 움직일 때는 요청받은 트랙을 서비스하지만 반대 방향으로 돌아올 때에는 서비스하지 않고 헤드만 이동한다.
f.
LOOK 디스크 스케줄링: 더 이상 서비스할 트랙이 없으면 헤드가 끝까지 가지 않고 중간에서 방향을 바꾼다.
g.
C-LOOK 디스크 스케줄링: C-SCAN 디스크 스케줄링의 LOOK 버전이다. 더 이상 서비스할 트랙이 없으면 헤드가 중간에서 방향을 바꾼다.
h.
SLTF 디스크 스케줄링: 헤드가 고정된 저장장치에서 사용하는 스케줄링 기법으로, 작업 요청이 들어온 섹터의 순서를 디스크가 회전하는 방향에 맞추어 다시 정렬한 후 서비스한다.
8.
RAID
a.
자동으로 백업ㅇ르 하고 장애가 발생하면 이를 복구하는 시스템으로, 동일한 규격의 디스크를 여러 개 모아 구성하며 장애가 발생했을 때 데이터를 복구하는 데 사용한다.
b.
디스크를 구성하는 방식에 따라 RAID 0, 1, 2, 3, 4, 5, 6, 0+1, 10, 50, 60 등이 있다.

연습문제

1.
전원 이상이나 기계적인 오류 때문에 발생하는 인터럽트는 무엇인가?
외부 인터럽트 (하드웨어 인터럽트)
2.
숫자를 0으로 나누거나 자신의 주소 공간을 벗어나서 작업을 하는 것과 같이 프로세스의 오류와 관련된 인터럽트는 무엇인가?
내부 인터럽트 (예외 사항 인터럽트)
3.
자발적 인터럽트로서 사용자의 의지로 발생시키는 인터럽트는 무엇인가?
시그널
4.
인터럽트의 처리 방법을 함수로 만들어놓은 것을 무엇이라 하는가?
인터럽트 핸들러
5.
하드디스크에서 사용하는 방식으로, 디스크가 일정 속도로 회전하며 모든 트랙의 섹터 개수가 같고 섹터의 크기가 각각 다른 방식은 무엇인가?
각속도 일정 방식의 섹터
6.
CD에서 사용하는 방식으로, 어느 트랙이나 시간당 디스크 이동 거리가 같고 섹터의 크기가 일정한 방식은 무엇인가?
선속도 일정 방식의 섹터
7.
하드디스크 장치의 데이터 전송 시간 중, 현재 위치에서 원하는 트랙까지 이동하는 데 걸리는 시간을 무엇이라 하는가?
탐색 시간
8.
하드디스크 장치의 데이터 전송 시간 중, 디스크가 회전하여 원하는 섹터를 만날 때까지 걸리는 시간을 무엇이라 하는가?
회전 지연 시간
9.
네트워크 저장장치 중 저장장치를 네트워크상에 두고 여러 클라이언트가 네트워크를 통해 접근함으로써 공유 데이터의 관리 및 데이터의 중복 회피가 가능한 기법은 무엇인가?
NAS (Network Attached Storage)
10.
현재 헤드가 있는 위치에서 가장 가까이 있는 트랙부터 서비스하는 디스크 스케줄링 기법은 무엇인가?
SSTF(Shortest Seek Time First) 디스크 스케줄링
11.
서비스를 요청한 트랙을 일정 단위로 묶어 SSTF 방식으로 서비스하는 디스크 스케줄링 기법은 무엇인가?
블록 SSFT 디스크 스케줄링
12.
헤드가 움직이기 시작하면 맨 마지막 트랙에 도착할 때까지 뒤돌아가지 않고 계속 앞으로 전진하는 디스크 스케줄링 기법은 무엇인가?
SCAN 디스크 스케줄링
13.
헤드가 한쪽으로만 움직이지만 더 이상 서비스할 트랙이 없으면 끝까지 가지 않고 중간에서 방향을 바꾸는 디스크 스케줄링 기법은 무엇인가?
LOOK 디스크 스케줄링
14.
장애 발생 시 복구하는 기능은 없으나 입출력 속도를 높이기 위해 사용하는 RAID 방식의 번호는 무엇인가?
RAID 0 (스트라이핑)
15.
RAID 1(미러링)에서 추가로 필요한 디스크의 개수는 원본 디스크의 몇 배인가?
1배
16.
미러링과 스트라이핑을 결합한 RAID 방식의 번호는 무엇인가?
RAID 10