June 12, 2022
버스: 여러 주변장치는 버스로 연결 / 채널: 한 버스의 통로(채널 수만큼의 주변장치가 동시에 데이터 주고 받음)
주변장치의 데이터전송 속도에 따라 고속과 저속으로 분류해서 채널을 사용
CPU의 도움 없이도 입출력제어기가 메모리에 직접 접근이 가능하도록 DMA 제어기 있음
I/O 작업 완료시 입출력제어기는 CPU에 각 장치의 고유인터럽트번호인 IRQ(interrupt requset)와 함께 인터럽트 보냄
인터럽트 분류
외부 인터럽트(하드웨어 인터럽트): 입출력장치로부터의 인터럽트, 하드웨어 이슈로 오는 인터럽트
내부 인터럽트(exception interrupt): 프로세스 이용 중의 오류로 인한 인터럽트
시그널: 사용자 요청으로 인한 인터럽트
버퍼: 속도가 다른 두 장치의 속도차이를 완화(쌓아뒀다가 한번에 데이터 가져감)
주변 장치에서는 입출력 제어기와 입출력 장치 사이에 버퍼가 있음
block: 여러 개의 섹터로 구성
블록마다 주소가 배정
데이터 전송에 걸리는 시간 = seek time + rotational latency time + transmission time
seek time: 원하는 특정 섹터가 있는 트랙을 만날 때까지 헤드가 이동하는데에 걸리는 시간
partition: 하드디스크를 분할해서 사용하는 것. 다만 유닉스에서는 분할한 하드디스크들을 하나의 파티션으로 통합해서 보여줌(mount)
formatting: 파티션이 결정된 이후에, 디스크에 파일시스템을 탑재하고 디스크표면을 초기화해서 사용할 수 있는 형태로 바꿈
파일 테이블: 디스크에서의 각 파일들의 위치와 크기 정보 저장하는 테이블
빈 디스크에 파일테이블을 탑재하는 것이 포맷팅(느린 포맷팅)
구성 방식에 따라 DAS, NAS, SAN으로 구분
DAS(Directed Attached Storage) = HAS(Host Attached Storage)
NAS(Network Attached Storage)
저장장치를 LAN, WAN에 붙여서 사용
SAN(Storage Area Network)
SSTF(Shortest Seek TIme First): 현재 헤드가 있는 위치에서 가장 가까운 트랙부터 접근
Block SSTF: 블록을 묶고, 현재 헤드로부터 가까운 트랙부터 블록 큐 생성
RAID(Redundant Arrya of Independent Disks)의 기능
분류