컴퓨터의 부품들 : CPU, 메인보드, 그래픽 카드, 입출력 장치...
-
입출력 시스템
- 입출력 장치와 채널
- 저속 주변 장치 : 키보드와 같이 데이터양이 적어 데이터 전송률이 적은 장치
- 고속 주변 장치 : 그래픽 카드, 하드디스크와 같이 데이터 전송률이 높은 장치
- 주변 장치는 메인 보드의 버스로 연결된다. (보통 채널로 묶어서 보낸다.)
- 전송 속도가 비슷한 장치끼리 묶어서 채널로 보내면 전송 속도가 빨라진다.
- 입출력 버스의 구조
- 초기의 구조 - 폴링 방식 : 모든 장치가 하나의 버스로 연결됨 (느리다)
- 입출력 제어기를 사용한 구조 : 전체 작업 효율을 높일 수 있다 (저속장치로 고속장치가 느려짐)
- 입출력 버스의 분리 : 채널 선택기로 저속 입출력 장치와 고속 입출력 장치를 분리
- rf. 그래픽 카드의 경우 GPU를 별도로 추가
- 직접 메모리 접근 (DMA)
- 본래 메모리는 CPU에서만 접근이 가능
- DMA : 입출력 제어기에 부여된 메모리 접근 권한
- DMA를 통해서 입출력 제어기에서 메모리에 접근하는 것이 허용됨
- MMIO(Memory Mapped I/O, 메모리 맵 입출력) : CPU 작업 공간과 DMA 작업 공간을 분리하여 작업 공간이 겹치지 않도록 했다.
- 인터럽트
(1) 입출력과 인터럽트
- 인터럽트 :
- 외부 인터럽트 : 주변 장치나 하드웨어 이상 현상을 CPU에 알려주는 것
- 내부 인터럽트 : = 예외 상황 인터럽트, 프로세스 오류와 관련된 인터럽트 (ex. /0)
- 시그널 : 사용자 의지로 발생되는 인터럽트
(2) 인터럽트 벡터와 인터럽트 핸들러
- 인터럽트 벡터 : 어떤 인터럽트가 발생했는가 알려주는 선형 자료구조
- 인터럽트 핸들러 : 인터럽트 벡터와 연결된 처리 함수
- 인터럽트 벡터(pointer) → 인터럽트 핸들러
- 단일 버퍼와 이중 버퍼
- 버퍼 : 한 번에 데이터를 모아 전달
- 단일 버퍼가 아닌 이중 버퍼를 사용하면 버퍼 운용에 유리
-
저장 장치
- 저장장치의 종류
(1) 하드디스크
(2) SSD : 하드디스트 느린 속도 대체하기 위한 보조 장치
rf. 단편화에 따른 조각 발생
→ HDD는 헤드가 데이터를 찾아 다녀 속도가 느림 (조각 모음 필요)
→ SSD는 단편화가 데이터 접근 속도에 영향 미치지 않아 조각 모음 불필요
(3) CD
(4) 하드디스크와 CD의 비교
- 디스크 장치의 데이터 전송 시간
-
디스크 스케줄링
-
FCFS 디스크 스케줄링 (First Come First Service)
-
SSTF 디스크 스케줄링 (Shortest Seek Time First)
-
블록 SSTF 디스크 스케줄링
-
SCAN 디스크 스케줄링
-
C-SCAN 디스크 스케줄링
-
LOOK 디스크 스케줄링
-
C-LOOK 디스크 스케줄링
-
SLTF 디스크 스케줄링
-
RAID
-
RAID의 개요
-
RAID 0(스트라이핑)
-
RAID 1(미러링)
-
RAID 2
-
RAID 3
-
RAID 4
-
RAID 5
-
RAID 6
-
RAID 10
-
RAID 50과 RAID 60
-
하드웨어의 규격과 발전