Presentation is loading. Please wait.

Presentation is loading. Please wait.

9 입출력 시스템과 디스크 관리.

Similar presentations


Presentation on theme: "9 입출력 시스템과 디스크 관리."— Presentation transcript:

1 9 입출력 시스템과 디스크 관리

2 학습목표 내용 입출력 시스템과 입출력 서비스를 이해한다. 디스크 스케줄링을 위한 여러 알고리즘을 알아본다.
RAID의 제안 기법에 대해 이해한다. 내용 입출력 시스템 자기 디스크 디스크 스케줄링 RAID

3 1. 입출력 시스템 입출력 시스템 컴퓨터 시스템의 입출력 장치(물리적 입출력 장치 포함)와 입출력 모듈(입출력 인 터페이스장치)을 포함. 입출력 장치의 종류 - 입력장치 : 마우스, 키보드, OMR, 스캐너 등. - 출력장치 : 모니터, 프린터, 플로터 등. - 보조기억장치(입출력 겸용장치) : 자기테이프, 자기디스크, 자기드럼 등. 프린터, 콘솔 등과 같은 물리적 입출력 장치는 실제 입출력을 수행함. 입출력 모듈은 메모리나 프로세서, 레지스터 등 내부 저장장치와 물리적 입출력 장치(외부 입출력장치) 사이의 2진 정보를 전송하기 위한 방법 제공. - 기계적인 장치인 주변장치와 전자적인 장치인 CPU와의 동기화, 주변장치와 CPU의 속도차이를 해결 입출력 버스(시스템 버스) 주기억장치와 입출력 장치 사이의 데이터 전송을 위해 모든 주변장치의 인터페이스에 공통 으로 연결된 버스 (데이터 버스, 주소 버스, 제어 버스로 구성) 입출력 모듈 프로세서를 대신하여 입출력과 관련된 복잡한 일 수행. 입출력 채널(I/O Channel) 또는 입출력 프로세서(I/O Processor)라 함. 단순히 프로세서의 입출력과 관련된 일 담당. 입출력 제어기(I/O controller) 또는 장치 제어기(Device Controller)라 함.

4 1. 입출력 시스템 [그림 9-1] 다양한 입출력장치(주변장치)는 입출력 모듈을 통해 시스템 버스에 연결됨.
- 입출력장치에 따라 제어 방법과 운용 방식이 다르므로 직접 시스템 버스에 연결되지 않고 입출력 모듈 을 통해 연결됨. - 입출력장치들은 동시에 입출력을 수행하기 때문에 각종 문제들이 발생할 수 있으므로 이에 대한 판별 과 대비가 필요. [그림 9-1] 컴퓨터 시스템의 기본 하드웨어 구성과 입출력 모듈 프로세서와 입출력장치의 실행속도가 다르므로, 각 입출력장치의 실행속도를 맞추는 동기화 과정이 필요함. - 장치들을 동기화시키지 못하면 실행속도가 다르기 때문에 데이터의 손실이 발생될 수 있음. 정보의 단위와 처리량도 동기화해야 함. - 컴퓨터 내부의 정보 단위는 워드(Word)이며, 입출력장치가 다루는 정보의 단위는 문자(Character). - 프로세서보다 입출력장치의 처리속도가 느리므로 시간의 낭비가 발생될 수 있음. : 프로세서는 데이터를 블록단위로 전송하지만, 디스크장치의 입출력 처리작업(동작)이 완료될 때까지 대기해야 하기 때문에.

5 1. 입출력 시스템 입출력 모듈의 구성. - 제어장치들의 수와 구조에 따라 구성이 다양함.
[그림 9-2] 입출력 모듈의 내부 조직 - 입출력 모듈로 들어가거나 나오는 데이터는 일시적으로 데이터 레지스터에 저장됨. - 현재의 상태정보가 저장되는 상태 레지스터는 프로세서에서 보내는 제어 정보를 받기 위해 제어 레지스터로 동작함. - 제어 레지스터는 프로세서로부터 받은 명령에 따라 입출력 모듈을 제어 : 자신이 제어하는 각 장치와의 인터페이스를 위한 입출력 논리회로를 가짐. 제어 레지스터가 제어하는 장치의 주소(연결되어 있는 장치를 구분하기 위한)를 인식할 수 있어야 하 고 주소를 발생할 수도 있어야 함. - 신호선(시스템 버스선)을 통해 컴퓨터 내의 다른 부분들과 연결되며 모듈 내의 입출력 논리회로는 제어선을 통해 프로세서와 교신(프로세서가 입출력 모듈로 명령을 보내는 데 사용)함. ※ 입출력 모듈은 프로세서가 여러 입출력장치를 간단한 방법으로 제어할 수 있도록 해줌.

6 1. 입출력 시스템 입출력 모듈의 기능. - 입출력장치의 제어. * 다양한 동작 조정을 위한 제어와 타이밍 기능 제공.
* 프로세서가 입출력장치에 명령어를 보내려면 입출력장치의 식별자(Identity)를 주소로 지정해야 함. - 프로세서와의 통신. * 입출력 모듈은 프로세서로부터 수행해야 할 명령어를 전달받고 관련된 메시지를 인식하기 위한 기능을 제공함. * 명령 해독 : 프로세서로부터 명령을 받아 해독. * 데이터 교환 : 데이터 버스를 통항 프로세서와 데이터 교환을 수행. * 상태 보고 : 저속의 주변장치들에 대한 상태를 확인하여 프로세서에 보고. * 주소 인식 : 모듈에 연결되어 있는 여러 장치를 구분하기 위한 주소를 인식. - 데이터 버퍼링. * 메인 메모리나 프로세서의 데이터 전송률은 매우 높으나, 대부분의 입출력장치의 전송률은 낮음. * 데이터는 입출력 모듈 내에 일시적으로 저장되었다가 적절한 속도로 주변장치로 내보내야 함. - 오류검출. * 오류 : 기계적 오류(종이 걸림, 불량 디스크 트랙으로 발생)와 전송 오류(데이터 전송 중에 발생) * 전송 오류 검출을 위해 오류검출 코드(패리티 비트)를 사용.

7 1. 입출력 시스템 프로그램 제어 입출력(Programmed I/O).
프로세서는 입출력장치의 속도 차이로 인해 전송속도를 조절하는데, 데이터 전송을 위한 프로세서의 역할에 따라 입출력 방법을 3가지로 분류. - CPU 관여(O)  프로세서 제어 입출력(프로그램 제어 입출력, 인터럽트 기반 입출력) - CPU 관여(X)  DMA입출력, 입출력 채널 프로그램 제어 입출력(Programmed I/O). 프로세서 내부에 있는 입출력 데이터와 주소 레지스터를 입출력 모듈과 연결한 형태. 주소 레지스터와 버스 사이에서 데이터를 직접 전송할 수 있는 가장 간단한 형태. 폴링(Polling)방식(바쁜 대기)라고도 함. 상대적으로 프로세서보다 느린 입출력장치의 입출력 동작 상태를 확인하기 위해 상태 비트 (Status Bit)를 주기적으로 검사함. [그림 9-3] 데이터 전송 시, 폴링 순환 수행. - 프로세서는 주변장치에 전송할 데이터가 있는 경우, 입출력장치가 데이터를 받을 준비가 되어 있는지 확인하기 위해 포트 상태 레지스터를 확인. - 플래그를 검사하여 입출력장치가 준비되어 있다면 데이터를 전송함. - 준비되어 있지 않다면 루프를 돌아 다시 포트 상태 레지스터를 확인. 폴링의 횟수는 데이터 전송의 성능에 영향을 끼침. - 폴링이 너무 빈번히 수행되면 프로세서는 입출력 동작의 진행 여부 검사에 많은 시간을 낭비함. - 폴링 횟수가 너무 작으면 입출력장치는 오랜 시간 동안 쉬게 됨. [그림 9-3] 폴링 순환

8 1. 입출력 시스템 입력된 데이터는 입출력(인터페이스) 모듈을 거쳐 한 번에 한 워드씩 입출력 데이터 레지 스터로 전송.
입출력 데이터 레지스터에서는 프로그램에 의해서 데이터를 산술논리연산장치(누산기)로 전송. - 출력의 경우, 입력과 반대로 전송됨. : 산술논리연산장치에서 입출력 데이터 레지스터로 이동되고 프로그램에 의해 입출력 모듈로 전송. [그림 9-4] 입출력 모듈 배치 모든 데이터 전달은 프로세서의 입출력 명령어에 따름. - 입출력장치는 메모리를 직접 액세스할 수 없음. - 입출력장치에서 메모리까지 데이터를 전달하려면 프로세서 명령어가 필요. - 명령어 수행에 따른 프로세서의 역할이 요구되어 프로세서의 부담이 큼. 프로그램 제어 입출력 시스템의 경우 데이터 처리 속도가 느림. - 프로그램 제어 입출력 방식은 저속장치(키보드, 프린터, 모니터 등)에 적합함.

9 1. 입출력 시스템 인터럽트 기반 입출력 (Interrupt I/O) : 외부 입력 제어.
입출력장치가 작업을 완료한 후 작업과 관련된 상태와 결과를 메모리에 저장하고 인터럽트 를 발생시켜 프로세서에 알림. - 인터럽트 : 입출력장치나 컴퓨터 내의 프로그램이 프로세서에 보내는 하드웨어 신호. 인터럽트를 받은 프로세서는 입출력 명령어를 전송하고 입출력 작업 중에 다른 작업을 시 작할 수 있음. 프로세서가 입출력장치에 프로세서의 도움이 필요한지 확인하는 절차(폴링) 대신 직접 입 출력장치가 프로세서에 신호를 주는 방식. 불규칙적이고 빠른 응답성을 요구하는 경우에 적합함. 장단점. - 프로세서는 폴링 절차를 생략하여 입출력 연산의 대기시간을 소모할 필요가 없어 효율성이 증가함. - 현재의 작업 내용을 스택에 저장한다는 오버헤드가 존재. - 모든 데이터가 프로세서의 레지스터에서 전송됨. [그림 9-5] 인터럽트 기반 입출력 사이클

10 1. 입출력 시스템 DMA(Direct Memory Access) 입출력.
프로그램 제어 입출력과 인터럽트 기반 입출력 방식은 데이터 전송과 관리를 프로세서가 담당하기 때문에 프로세서 부담이 큼. 프로세서의 부담을 줄이기 위해, 프로세서 도움 없이 메인 메모리를 직접 제어하여 데이터 를 전송하는 방식. - 프로세서는 읽기 및 쓰기 정보를 비롯한 입출력 주소와 메모리 주소 그리고 길이를 DMA 제어기에 전달(입출력 요청). - DMA 제어기는 버스 관리자(Master)로서 직접 작업을 처리. [그림 9-6] DMA 입출력 과정. - 프로세서는 입출력 전송에 참여하지 않아도 되므로 프로세서의 부담을 줄일 수 있음. - 고속의 디스크의 데이터 전송에 적합한 방식으로 멀티미디어와 같은 대용량 데이터 전송에 적합함. [그림 9-6] 디스크에서 메모리로 데이터가 전송되는 과정

11 1. 입출력 시스템 [그림 9-7] DMA 전송 동작. [그림 9-7] DMA 전송 동작 ① 프로세서는 전송방향(입력 또는 출력), 전송 바이트 수, 데이터 블록의 메모리 주소 등을 DMA 제어기에 보냄. (입출력 요청) ② DMA 제어기는 프로세서의 도움 없이 디스크 제어기에 데이터를 메인 메모리로 전송할 것을 요청함. ③ 디스크 제어기는 메인 메모리에 데이터 전송을 수행. ④ 전송이 완료되면 디스크 제어기는 DMA 제어기에 완료 메시지를 전달. ⑤ DMA 제어기는 프로세서에 인터럽트 신호를 보냄. (입출력 완료) ※ 프로세서는 데이터의 전송 시작과 종료 시에만 관계함. (1,5)

12 1. 입출력 시스템 DMA 제어기. 사이클 스틸링(Cycle Stealing)
- 입출력이 진행되는 동안 모든 버스 제어 신호를 생성하고 전송하는 버스 마스터 역할을 수행. - 프로세서보다 우선순위가 높으므로, 프로세서는 DMA 제어기가 버스를 사용하지 않을 때 버스를 사용할 수 있음. - 프로세서가 버스를 사용하기 위해 기다리는 현상을 ‘DMA 제어기는 프로세서로부터 버스 사이클을 스틸(Steal)한다’라고 함. 사이클 스틸링(Cycle Stealing) - 프로세서와 DMA 제어기가 입출력을 위해 동시에 메모리를 액세스하는 경우, DMA 제어기가 우선적으로 메모리 참조 싸이클을 수행하여 입출력을 수행. - DMA 제어기가 데이터를 전송하는 동안 프로세서는 다른 작업을 수행. - 입출력장치가 시스템 버스 또는 저장시스템과 같은 분할 자원을 독점적으로 액세스하려 하기 때문에 생기는 현상. - 프로세서의 속도를 떨어뜨리지만 입출력 작업을 DMA에 전담시킴으로써 시스템 전체 성능은 향상됨.

13 1. 입출력 시스템 입출력 채널. 모든 입출력 동작이 완료된 시점에서 인터럽트 받는, 즉 프로세서와 메인 메모리를 입출력 장치에 결합하여 프로세서의 명령으로 입출력을 제어하는 장치. 프로세서의 개입이 최소화된 상태에서 많은 입출력장치를 제어하게 되어 입출력 프로세서 로 불림. 프로그램-제어 입출력과 직접 메모리 액세스 방법의 특징 비교. - 프로그램-제어 입출력. * 프로세서가 계속 제어하므로 입출력장치와 컴퓨터를 연결하는데 최소한의 하드웨어만 필요함. * 저속 장치들에서 사용됨. - 직접 메모리 액세스 (DMA). * 매개변수의 초기화를 제외하고 프로세서를 모든 입출력 연산과 분리시키므로 데이터 전달을 제어하 기 위해 외부 제어기가 필요함. * 고속의 장치에서 사용. 입출력 전용 처리기. - 대형 컴퓨터에서 프로세서를 좀 더 효율적으로 이용하기 위해 다수의 장치를 공유할 수 있는 입출력 전용처리기가 등장. - 입출력 모듈은 입출력 동작 명령어를 가진 프로세서를 포함하여 다른 프로세서의 도움 없이 입출력 프로그램의 입출력 동작을 지시함.

14 1. 입출력 시스템 [그림 9-8] 입출력 채널을 사용하는 컴퓨터 구조의 예.
- 채널 서브시스템은 여러 개로 구성 가능, 프로세서와 메인 메모리의 액세스를 조정. - 채널은 사이클 스틸을 사용하여 메모리에 직접 액세스함. - 각 입출력장치는 제어장치를 통해 채널과 연결됨. - 제어장치는 채널과의 통신 및 장치에 대한 제어 기능을 수행. - 유사한 장치들에 대해 하나의 제어장치가 사용되며, 한 순간에 한 장치만 활성화됨. [그림 9-8] 입출력 채널 구조

15 1. 입출력 시스템 입출력 채널의 특성. 입출력 채널 형태.
- DMA 개념을 확장하여 입출력 명령어들을 실행할 수 있는 능력을 가지므로 입출력 동작들에 대하여 완전한 제어권을 가짐. * 컴퓨터 시스템에서 프로세서가 입출력 명령어를 실행하지 않아도 입출력 데이터가 메인 메모리에 저 장됨. - 입출력 채널 내에 있는 특수 목적용 프로세서에 의해 실행됨. * 프로세서는 입출력 채널이 메인 메모리에 있는 프로그램을 실행하도록 지시하여 입출력 전송을 실행 . - 입출력 채널은 메인 메모리에 저장된 명령어들을 실행하면서 데이터 전송을 제어함. 입출력 채널 형태. - 제어방식(동기화 및 데이터의 분해/조립 기능)에 따라 다음과 같이 구분함. * 셀렉터 채널(Selector Channel) • 어떤 장치에 대한 입출력이 종료될 때까지 다른 장치를 실행하지 않음. : 특정한 한 개의 장치를 독점하여 입출력함. • 고속 장치들은 멀티플랙서 채널을 사용해 고속으로 데이터를 전송하기 때문에 다른 장치들과 다중화하기 어 려움. • 어느 한 순간에 입출력장치 중의 한 장치와의 데이터 전송만 제어하므로 입출력 채널은 한 개의 장치를 선택 하여 데이터를 전송. * 멀티플렉서 채널(Multiplexer Channel) • 바이트(Byte) 단위로 시분할하여 여러 장치의 출력을 처리하므로 바이트 멀티플랙서 채널이라고 함. : 동시에 여러 개의 입출력 장치를 제어할 수 있는 채널. • 다수의 저속/중속 장치(카드리더, 프린터)들을 연결할 때 사용.

16 1. 입출력 시스템 [그림 9-9] 입출력 채널의 세 가지 형태.
* 블록 멀티플렉서 채널(Block Multiplexer Channel) • 셀렉터 채널과 멀티플렉서 채널의 장점을 결합하여 여러 대의 고속 입출력장치들을 블록단위로 처리. • 동일한 채널에서 여러 고속장치가 활성화할 수 있음. • 한 채널이 복수의 입출력장치에 의해 시분할 방식으로 사용될 수 있으나, 어떤 경우 하나의 장치에만 서비스하므로 셀렉터 채널과 유사함. • 멀티플렉서 채널과 같이 다른 장치에 대한 서비스를 완료할 때까지 기다릴 필요 없음. [그림 9-9] 입출력 채널의 세 가지 형태. [그림 9-9] 입출력 채널의 여러 형태

17 1. 입출력 시스템 커널 입출력 서브 시스템 입출력 서비스와 입출력 인터페이스 실행을 위해 인터페이스가 구성되어야 함.
[그림 9-10] 커널 입출력 구조. - 입출력장치의 모델이나 제조사와 관계없이 공통적인 특징을 가진 입출력장치들을 액세스하기 위해 필요한 표준 함수들을 정의함. - 정의된 함수들은 장치 드라이버(키보드 장치 드라이버, 마우스 장치 드라이버 등)에 의해 수행. * 장치 드라이버는 여러 입출력장치의 차이를 간단한 표준 인터페이스로 변환하여 상위의 커널 입출력 서브 시스템에 제공. [그림 9-10] 커널 입출력 구조 커널은 입출력과 관련된 서비스를 제공하며, 커널 입출력 서브시스템은 컴퓨터의 효율성 증진 시키는 방법으로 입출력 스케줄링, 버퍼링, 캐싱, 스풀링 등처럼 메모리나 디스크의 기억장소를 이용함.

18 1. 입출력 시스템 커널 입출력 스케줄링. 커널 입출력 버퍼링.
입출력 요구를 스케줄링 한다는 것 = 요구들의 실행 순서를 결정한다는 의미. 커널 입출력 버퍼링. 버퍼 : 입출력장치와 응용 프로그램 사이에 전송되는 데이터를 임시로 저장하는 메모리 영역. 버퍼링을 통해 송신자와 수신자의 전송 속도 차이 때문에 발생하는 시스템의 데이터 전송 문 제를 해결 가능. 장치들이 보내는 데이터의 크기가 다르기 때문에 발생하는 메시지 전송 문제를 해결 가능. - 대부분의 전송 메시지는 작은 네트워크 패킷으로 나누어 전송되고 수신측에서 원래의 자료로 복원하기 위해 패킷들을 버퍼에서 결합함. [그림 9-11] 버퍼링의 구조. - 입출력장치에서 들어온 데이터를 모뎀을 통해 디스크에 저장(기록)한다고 가정함. * (a) : 입출력장치의 모뎀에 버퍼가 없으므로 데이터의 입력 속도에 따라 디스크에 전달. * (b) : 시스템 성능 향상을 위해 메모리에 버퍼를 만듦. : 모뎀이 만든 버퍼에 모든 자료가 도착하면 한꺼번에 디스크에 자료를 전송하여 기록. * (c) : 두 개의 버퍼를 사용(이중 버퍼링). : 첫 번째 버퍼를 채운 후 디스크에 기록되는 동안 두 번째 버퍼를 채우기 시작, 두 버퍼의 용도는 상호 교대 됨. [그림 9-11] 버퍼링 구조

19 1. 입출력 시스템 커널 입출력 캐싱. 커널 입출력 스풀링.
명령어와 데이터를 캐시 메모리에 일시적으로 저장하여 프로세서와 메모리(디스크)간의 액세스 속도 차를 프로세서에 가깝게 단축시켜 컴퓨터의 성능을 향상시킴. - 캐시 : 버퍼와 달리 자주 사용될 자료를 미리 복사하여 저장하는 빠른 메모리 영역. 한 메모리 영역이 두 가지 목적을 위해 사용(캐싱, 버퍼링) - 커널이 데이터 입출력 요구를 받으면, 커널은 먼저 데이터가 캐시에 있는지 조사. - 만약, 데이터가 캐시에 있으면 디스크 입출력을 생략하여 입출력의 효율성을 높임. - 메모리 내에 버퍼를 사용하여 디스크 입출력 스케줄링을 효율적으로 수행 또는 프로세스들 간에 공유 해야 하는 파일들을 위한 캐시로 사용 가능. 커널 입출력 스풀링. 여러 응용 프로그램이 동시에 출력 데이터를 프린터로 전송 시 커널(운영체제)은 각 출력 이 다른 프로그램의 출력과 섞이지 않고 프린터로 출력되도록 관리함. - 각 응용 프로그램의 출력은 각각 대응되는 디스크 파일에 저장(스풀)됨. 스풀링 시스템 - 응용 프로그램이 출력 데이터에 대한 작업을 종료하면 그때까지 모아 놓은 출력 데이터를 프린터 출력용 준비 큐에 삽입(이동)하여 스풀 파일을 한 번에 하나씩 프린터에 내보냄.

20 1. 입출력 시스템 오류 처리. 커널(운영체제)은 입출력장치나 네트워크 전송의 원인으로 발생되는 일시적인 고장을 효과적으로 극복 가능. 중요한 구성 요소가 영구적인 고장을 일으키는 경우 문제를 완전히 극복하기 어려움. 자료 관리. 커널은 입출력 구성에 대한 상태 정보를 유지함. 입출력 서브시스템은 광범위한 서비스를 조정하며 다음 사항을 관리함. - 장치의 이름 및 장치에 대한 액세스 제어 관리. - 장치 할당과 입출력 스케줄링 관리. - 버퍼링, 캐싱 및 스풀링 관리. - 장치 상태 모니터링과 오류 처리 및 고장 복구 관리.

21 2. 자기 디스크 자기 디스크의 물리적 구조 원판 모양, 표면에 자기 물질이 입혀져 있으며 이곳에 정보를 기록하여 저장.
디스크가 사용 중일 때 구동 모터는 빠른 속도로 디스크를 회전시키고 디스크 표면 바로 위에 입출력 헤드가 위치함. - 논리적으로 디스크 표면은 트랙으로 나뉘어 짐. - 입출력 헤드 아래의 트랙에 정보가 자기적으로 기록되며, 디스크의 한 표면은 수백 개의 트랙으로 구성됨. [그림 9-12] 고정 헤드와 자기 디스크 장치. - (a) 고정 헤드 디스크 : 트랙마다 각각의 헤드가 있음. - (b) 자기 디스크(이동 헤드 디스크 방식) : 한 개의 헤드와 헤드를 이동시키는 하드웨어로 구성. [그림 9-12] 고정 헤드 디스크와 자기 디스크 장치

22 2. 자기 디스크 디스크 시스템은 디스크 드라이버, 프로세서, 디스크 제어기로 구분.
높은 성능 요구 시 고속 디스크 또는 램 디스크(Random Access Memory Disk)를 사용하여 종래의 이동 헤드 디스크보다 빠른 액세스와 데이터 전송 가능. 디스크 표면에 저장 밀도를 높이거나 트랙 수 증가 가능. - 디스크의 저장 능력 향상. 원판 양면에 각각의 디스크 헤드를 설치하여 저장 능력의 향상 가능. 자기 디스크 장치. - 한 개의 회전축에 여러 개의 디스크를 쌓고(Disk Pack) 한 개의 구동 모터로 회전시켜, 디스크마다 각 각의 입출력 헤드로 처리 가능. - 디스크는 교체 가능하므로 필요에 따라 다른 디스크를 장치하여 사용 가능. 디스크 시스템은 디스크 드라이버, 프로세서, 디스크 제어기로 구분. 디스크 드라이버. - 구동 모터, 액세스 암 이동장치와 입출력 헤드 부분의 기계적인 부분 담당. - 탐색(Seek), 기록, 판독 등의 명령 수행. 프로세서. - 원하는 컴퓨터의 논리적인 상호작용, 즉 원하는 데이터의 위치(디스크 주소)와 버퍼 및 판독/기록 관리 등을 관리함. 디스크 제어기. - 디스크 드라이버의 인터페이스 역할 담당. - 프로세서로부터 명령을 받아 디스크 드라이버를 동작.

23 2. 자기 디스크 디스크 상의 정보는 드라이버 번호, 표면 번호 및 트랙 번호 등 여러 부분으로 나뉘어지는 디스크 주소에 의해 참조됨. - 정보는 블록 단위로 입출력 됨. 실린더(Cylinder) - 헤드의 움직임 없이 액세스할 수 있는 하나의 드라이버상의 모든 트랙. 섹터(Sector) - 트랙 내의 정보는 블록(Block)을 이루고, 이러한 블록이 하드웨어적으로 고정된 크기를 가진 경우. - 각 섹터는 독립적으로 입출력 될 수 있음. - 섹터는 디스크로부터 입출력이 가능한 정보의 가장 작은 단위. [그림 9-13] 섹터와 트랙

24 2. 자기 디스크 디스크 액세스 시간 탐색(Seek). 탐색 시간. 회전지연시간. 전송시간.
- 디스크상의 원하는 섹터에 액세스하기 위해 헤드를 해당 트랙 또는 실린더로 이동해 위치시키는 동작. 탐색 시간. - 탐색에 걸리는 시간. - 디스크의 헤드가 움직이는 시간에 좌우되므로 멀리 떨어진 트랙 탐색 시 탐색시간이 길어짐. 회전지연시간. - 헤드가 지정된 트랙에 위치했더라도 원하는 섹터가 입출력 헤드 아래로 회전할 때를 기다리는 시간. 전송시간. - 디스크와 메인 메모리 간의 섹터를 주고받는 데 걸리는 시간. [그림 9-14] 디스크 액세스 시간

25 2. 자기 디스크 데이터 액세스 시간. 고정 헤드 디스크의 데이터 액세스 시간. 이동 디스크의 데이터 액세스 시간.
- 각 트랙에 읽기, 쓰기 헤드를 가지고 있어 탐색시간이 필요 없음. - ‘회전지연시간 + 전송시간’ 이동 디스크의 데이터 액세스 시간. - ‘탐색지연시간 + 회전지연시간 + 전송시간’ 데이터 액세스 시간 예. - 다음과 같은 조건에서 전송 크기가 1KB일 때, 탐색시간 : 50ms 디스크 회전지연시간 : 16.8ms 전송시간 : ms/byte (1KB 전송시간 : (= ⅹ1024)) - 이동 디스크와 고정 헤드의 데이터 액세스 시간 계산. 이동 디스크의 데이터 액세스 시간 : 고정 헤드의 데이터 액세스 시간 :


Download ppt "9 입출력 시스템과 디스크 관리."

Similar presentations


Ads by Google