I/O system

Jeong seulho·2023년 3월 8일
0

운영체제

목록 보기
33/35

📌I/O System (HW)

📌I/O Mechanisms

  • 프로세서와 입출력장치 사이의 데이터 송수신 방법

📖Processor controlled memory access

✏️polling 기법

  • Processor가 주기적으로 I/O 장치의 상태 확인
  • 모든 I/O 장치를 순환하면서 전송 준비 및 전송 상태 등을 확인
  • I/O 장치가 빠르고, 데이터 전송이 잦은 경우 효율적
  • Processor의 부담이 큼

✏️Interrupt 기법

  • I/O 장치가 작업을 완료한 후, 자신의 상태를
    Processor에게 전달
  • Interrupt 발생 시, Processor는 데이터 전송 수행
  • Pooling 대비 low overhead
  • 불규칙적인 요청 처리에 적합
  • Interrupt handling overhead

📖Direct Memory Access (DMA)

  • I/O 장치와 Memory 사이의 데이터 전송을Processor 개입 없이 수행
  • Processor는 데이터 전송의 시작/종료 만 관여

📌I/O Services of OS

  • I/O 성능을 높이기 위한 방법들

📖I/O Scheduling

  • 입출력 요청에 대한 처리 순서 결정
  • Process의 요구에 대한 공평한 처리

📖Error handling

  • 입출력 중 발생하는 오류 처리

📖Buffering

  • I/O 장치와 Program 사이에 전송되는 데이터를
    Buffer에 임시 저장
  • 전송 속도 (or 처리 단위) 차이 문제 해결
  • 100개 보내고 10개 받을 수 있으면 감당안되니 만든 중간 창고
  • 10개 보내고 100개 받을 수 있을 때에도 처음에 창고에 모아놨다가 100개씩 보내서 안끊기 연속되게 함

📖Caching

  • 자주 사용하는 데이터를 미리 복사해 둠
  • Cache hit시 I/O를 생략 할 수 있음

📖Spooling

  • 한 I/O 장치에 여러 Program이 요청을 보낼 시, 출력이 섞이지 않도록 하는 기법
  • 각 Program에 대응하는 disk file에 기록 (spooling)
  • Spooling이 완료 되면, spool을 한번에 하나씩 I/O 장치로 전송

0개의 댓글