티스토리 뷰

운영체제

12. I/O Device

Js0l 2024. 6. 19. 23:36

1. I/O Hardware

 

PC BUS 구조

I/O Hardware Device

  • Controller(host adapter)
1. Status Register
통신방법 :
Polling Interrupt
상태를 반복해서 확인하기에 busy waiting 발생 다른 프로세서에 양도
빠른 장치 느린 장치
2. Command Register
통신방법:
Memory Mapped I/O I/O-Mapped I/O
I/O 장치를 memory 블록으로 취급 In, Out 명령어를 통해 장치 접근
해당 주소에 memory load, store -> 장치 접근  
+ : 구조 simplify, 한번에 많은 데이터 및 장치 접근 + : 메모리 주소공간 낭비x, 빠르다 
- : 메모리 주소 공간 차지, 잠재적 복잡도 - : 복잡한 프로그래밍,  연결과 접근하는 장치가 적다
3. Data Register
통신방법: 
Programmed I/O (PIO) Direct Memory Access (DMA)
많은 양의 데이터를 장치로 옮기려면 CPU가 시간 많이 쓴다. PIO를 개선해 오버헤드를 줄인다.
  cpu -> DMA -> disk 직접 통신한다.
  DMA Controller

 

2. Device Driver

- driver를 이용한 추상화: 장치와의 상세한 상호작용은 그 안에 캡슐화 되어 있다.

- Implementation

  • 커널과 정적으로 link
  • 부팅시 선택적 load
  • 커널 실행시 동적으로 load

- 추상화의 단점: 특수기능이 많은 장치의 기능은 이용하지 못한다.

- OS코드의 70% 넘게 Device Driver를 위한 것이다. 즉 커널 코드의 대부분이다. 

'운영체제' 카테고리의 다른 글

13. File System  (0) 2024.06.20
9. Main Memory  (1) 2024.06.14
8. Deadlocks - Concurrency problems  (1) 2024.06.14
6. Synchronization  (0) 2024.06.12
2. OS Service  (0) 2024.04.26
공지사항
최근에 올라온 글
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함