I/O System

  • OS code의 대부분을 차지
  • User의 체감 성능에 가장 중요한 영향을 미침
  • test하기 힘든 영역
  • Types of I/O Devices
    • Block Device
      • 데이터가 fixed-size block에 저장되고, block은 저마다의 주소를 갖는다
      • 이러한 block address를 통해 independently하게 access하여 R/W한다
      • Disk
    • Character Device
      • 데이터가 Stream 형태로 존재, 이미 처리한 데이터를 다시 처리할 수 없음
      • Address가 없다
      • Printer, Network Interface, Mice 등
    • Others
      • Clocks, Memory-Mapped Screen

 

Device Controller

  • 외부에서 들어온 데이터를 변환하여 Disk에 저장
  • H/W적인 error correction을 수행
  • DMA Operation(Direct Memory Access)
    • Device가 직접 Memory에 Access하는 기능
    • I/O Device에 Access할때, Controller에 있는 data register에 I/O Device가 읽거나 쓸 데이터를 저장하고 control register에 수행할 명령을 저장해 작업을 수행
    • 어떻게 Addressing할 것인가?

  • DMA(Direct Memory Access)
    • DMA Controller는 Physical Address를 바로 사용
    • Virtual Address를 사용하려면 MMU(Memory Management Unit)에 접근할 수 있어야 한다
  • DMA Transfer Mode
    • Cycle Stealing : CPU가 Memory에 Access하지 않는 타이밍에만 I/O Device와 Memory사이로 데이터를 옮김
    • Burst Mode : CPU가 한동안 Bus를 사용하지 못하게 제한, I/O Device가 Bus를 독점

 

'Computer Science > Operating System' 카테고리의 다른 글

[개념] Memory Management 1  (0) 2021.08.12
[개념] Virtualization  (0) 2021.08.12
[개념] IPC  (0) 2021.08.12
[개념] Threads and Concurrency  (0) 2021.08.12
[개념] Process Management  (0) 2021.08.12

+ Recent posts