ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [운영체제] 10. 입출력 시스템과 저장장치
    운영체제 2020. 1. 5. 19:28

    입출력 버스의 구조

    - 현대의 컴퓨터는 CPU와 메모리를 연결하는 메인버스, CPU와 그래픽카드를 연결하는 그래픽 버스, 고속 입출력 버스저속 입출력 버스를 사용한다.

    - 저속 주변장치 : 키보드 같은 메모리와 주변장치 사이에 오고 가는 데이터의 양이 적어 데이터 전송량이 낮은 장치

    - 고속 주변장치 : 그래픽카드나 하드디스크 같은 메모리와

     

    입출력 방법

    ● 프로세서 제어 입출력

    - 프로세서 내부의 입출력 데이터와 주소 레지스터를 입출력 모듈과 연결한 형태

    - 데이터 입력 : 입출력 모듈을 거쳐 한 번에 한 워드 씩만 데이터 레지스터로 전송, 입출력 데이터 레지스터에서는 프로그램을 이용해 산술 논리연산장치로 전송

    - 데이터 출력 : 산술 논리연산장치에서 입출력 데이터 레지스터로 이동, 프로그램을 이용해 입출력 모듈로 전송

    - 폴링 방법 :  상태 비트를 주기적으로 검사해 프로세서보다 상대적으로 느린 입출력장치의 상태를 확인

    - 인터럽트 기반 입출력 방법 : 입출력장치가 작업을 완료한 후에 작업과 관련된 상태와 결과를 메모리에 저장하고 인터럽트를 발생시켜 프로세서에 알림

    - 인터럽트를 받은 프로세서는 입출력 명령을 전송하고 입출력 작업 중에 다른 명령 시작

     

    ● DMA 입출력 (직접 메모리 접근)

    - 프로세서의 도움 없이도 메인 메모리를 직접 제어해 데이터를 전송하는 형태

    - CPU의 도움 없이도 메모리에 접근할 수 있도록 입출력 제어기에 부여한 권한으로, 입출력 제어기에는 직접 메모리에 접근하기 위한 DMA 제어기가 마련되어 있다.

    - 입출력 제어기는 여러 채널에 연결된 주변 장치로부터 전송된 데이터를 적절히 배분해 하나의 데이터 흐름을 만든다.

    - 채널 선택기는 여러 채널에서 전송된 데이터 중 어떤 것을 메모리로 보낼지 결정한다.

    - 이렇게 주변장치에서 전송된 데이터는 DMA 제어기를 거쳐 메모리에 올라간다.

     

    ● 입출력 채널 이용 입출력

    - 입출력 채널 : 프로세서와 메인 메모리를 입출력장치에 결합해 프로세서의 명령으로 입출력 제어

    - 채널 서브시스템은 여러 개로 구성 가능, 프로세서와 메인 메모리의 액세스 조정

    - 제어장치는 채널과 통신하고 장치를 제어하는 기능을 수행.

    - 유사한 장치에서는 제어 장치를 하나만 사용하므로 한순간에는 장치 하나만 활성화.

     

     

    하드웨어 인터럽트 

    - 주변장치의 입출력 요구나 하드웨어의 이상 현상을 CPU에 알려주는 역할을 하는 신호

    - CPU가 요청한 작업을 완료했을 떄, 키보드로 데이터를 입력받았을 때, 네트워크 카드에 새로운 데이터가 도착했을 때, 하드웨어에 이상이 발생했을 때 등 인터럽트 발생

     

     

    디스크 시스템

    - 디스크 드라이버 : 구동 모터, 액세스 암 이동장치, 입출력 헤드 부분의 기계적인 부분 담당

    - 프로세서 : 컴퓨터의 논리적인 상호작용, 즉 데이터의 위치(디스크 주소)와 버퍼, 판독, 기록 등 관리

    - 디스크 제어기디스크 드라이버의 인터페이스 역할로 프로세서에서 명령을 받아 디스크 드라이버 동작, 디스크 드라이버는 탐색seek, 기록, 판독 등 명령 수행

     

     

    디스크 장치의 전송 시간

    - 하드디스크에서 데이터를 가져오는 데 걸리는 총시간은 탐색 시간, 회전 지연 시간, 전송시간의 총합

     

     

    디스크 관리 장치

    파티션

    - 디스크를 논리적으로 분리하는 방식

    포메팅

    - 디스크 표면을 초기화하는 작업

    조각모음

    - 디스크에 파일을 저장했다 지우기를 반복함으로써 중간중간에 생긴 빈공간을 하나로 모으는 작업

     

     

    네트워크 저장장치

    - DAS : 서버와 같은 컴퓨터에 직접 연결된 저장장치

    - NAS : 기존의 저장장치를 LAN이나 WLAN에 붙여서 사용하는 방식

    - SAN : 데이터 서버, 백업 서버, RAID 등의 장치를 네트워크로 묶고 데이터 접근을 위한 서버를 두는 형태

     

     

    디스크 스케줄링 기법

    FCFS 디스크 스케줄링

    - 가장 단순한 디스크 스케줄링 방식으로, 트랙 요청이 들어온 순서대로 서비스

     

    SSTF 디스크 스케줄링

    - 현재 헤드가 있는 위치에서 가장 가까운 트랙부터 서비스

    - 만약 다음에 서비스할 두 트랙의 거리가 같다면 먼저 요청받은 트랙을 서비스

     

    블록 SSTF 디스크 스케줄링

    - SSTF 디스크 스케줄링에 에이징을 적용한 것

     

    SCAN 디스크 스케줄링

    - 헤드가 움직이기 시작하면 맨 마지막 트랙에 도착할 때까지 뒤돌아가지 않고 계속 앞으로만 전진하면서 요청받은 트랙을 서비스

     

    C-SCAN 디스크 스케줄링

    - 스캔 스케줄링처럼 헤드는 한쪽 방향으로 이동하면서 요청을 처리 하지만, 한쪽 끝에 다다르면 역방향으로 헤드를 이동하는 것이 아니라 다시 처음부터 요청 처리

     

    LOOK 디스크 스케줄링

    - 진행 방향으로 움직이기 전에 먼저 요청이 있는지 검사한다는 의미로 더 이상 서비스할 트랙이 없으면 헤드가 끝까지 가지 않고 중간에 방향을 바꾼다.

     

    C-LOOK 디스크 스케줄링

    - C-SCAN 디스크 스케줄링의 LOOK 버전

    - 더 이상 서비스할 트랙이 없으면 헤드가 중간에서 방향을 바꾼다.

     

    SLTF 디스크 스케줄링

    - 헤드가 고정된 저장장치에서 사용하는 스케줄링 기법으로 탐색 시간이 없음

    - 모든 요청 중 회전 지연시간이 가장 짧은 요청 먼저 처리

    - 디스크 헤드가 특정 실린더에 도달했을 때 해당 실린더의 트랙 요청들이 대기하고 있다면, 헤드는 더 이상 움직이지 않고 도착 순서와 관계없이 모든 요청 우선 처리

    - 작업 요청이 들어온 섹터의 순서를 디스크가 회전하는 방향에 맞춰 다시 정렬한 후 서비스

     

     SPTF 디스크 스케줄링

    - 가장 짧은 위치 결정 시간, 즉 탐색 시간과 회전 지연시간의 합이 가장 짧은 요청을 다음 서비스 대상으로 선택

    - 최소 탐색 시간 우선 스케줄링처럼 처리량이 많고 평균 반응시간 짧음

    - 가장 안쪽과 바깥쪽 실린더 요청이 무기한 연기될 가능성

     

     

    RAID

    - 자동으로 백업을 하고 장애가 발생하면 이를 복구 하는 시스템

    - 동일한 규격의 디스크를 여러 개 모아 구성하며 장애가 발생했을 때 데이터를 복구하는 데 사용

    - 여러 대의 물리적 디스크를 하나의 논리적 디스크로 인식하는 기술

Designed by Tistory.