개발

요리책 운영체제. Chapter 10 입출력 시스템과 저장장치 연습문제 풀이

mycloudy 2021. 11. 1. 01:12

Part 4 저장장치 관리

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

요약

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