ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 12-1. 입출력 시스템 관리
    OS/os 공부 2022. 1. 27. 16:14

    입출력 시스템(I/O system)

    I/O Mechanisms

    먼저 프로세서(CPU)가 메모리접근을 제어하는 방법으로 Polling과  interrupt가 있고

    CPU가 관여하지 않는 Direct Memory Access(DMA)방법이 있다.

     

    Polling(Programmed I/O)_프로세서 관여

    풀링방법은 프로세서가 주기적으로 모든 I/O 장치를 순환하며 I/O 장치의 전송준비, 전송상태 등 을 확인하는 방법이다. 

    간단하고 I/O장치가 빠르고 데이터 전송이 잦은 경우에는 효율적이나 모든 I/O를 주기적으로 확인한다는 점에서 Processor의 부담이 크며 I/O device가 느린경우 Polling oberhead가 커진다.

     

    Interrupt_프로세서 관여

    인터럽트는 I/O장치가 작업완료후 자신의 상태를 Processor에게 전달하는 방법으로 인터럽트의 발생시 프로세서는 데이터 전송을 수행한다.

    Polling대비 오버헤드는 적고 불규칙적인 요청 처리에 적합하지만 인터럽트가 잦을 경우 Interrupt handling overhead가 커진다.

     

    DMA(Direct Memory Access)_프로세서 비관여

    프로세서가 관여하여 메모리에 접근하는 방법인 풀링과 인터럽트는 프로세서에게 overhead가 주어질 수밖에 없다

    DMA는 I/O장치와 메모리 사이의 데이터 전송에 프로세서의 개입 없이 수행되는 방법을 말하며 이는 DMA제어기를 통해 이루어 진다.

     

    프로세서는 데이터전송의 시작과 종료에만 관여하며 그 과정은 아래와 같다.

    먼저 프로세서가 DMA제어기에 명령어를 보낸후 CPU는 다른 작업을 진행한다. 제어기는 I/O 장치에 명령을 전달해 원하는 데이터를 데이터를 가져오고 I/O에대한 명령이 완료되면 CPU에 인터럽트신호를 보낸다.

    CPU는 데이터 전송 종료에 대한 인터럽트를 확인한다.

     

    I/O services of OS

    이제 OS가 I/O 의 퍼포먼스 향상을 위해 어떠한 서포트를 해줄 수 있는지 살펴보자 

    입출력 퍼포먼스 향상을 위한 서비스는 커널의 입출력 서브 시스템에서 이루어진다.

     

    I/O Scheduling

    OS는 다양한 I/O 장치에서 오는 입출력 요청에 대한 처리 순서를 결정하는 스케쥴링을 도와준다.

    이는 시스템의 전반적인 성능 향상을 돕는다.

     

    Error handling

    입출력 중 발생하는 오류가 발생했을데 이를 처리해 주는 역할도 해준다.

    I/O device informatiin managements

    입출력 장치의 정보에 관한 관리또한 OS가 한다.

     

    Buffering

    버퍼링은 데이터의 전송 속도 차이로 인한 데이터 손실 문제를 해결하기 위해 Buffer라는 임시저장소에 데이터를 저장해두었다가 보내는 방식이다.

    Caching

    캐싱은 자주 사용하는 데이터를 메모리상에 미리 복사해 두어 Chache hit시 I/O작업을 생략하여 속도를 향상하는 방법이다.

     

    Spooling

    한 I/O장치에 여러 Program이 요청을 보낼 경우 출력이 섞이지 않도록 각 프로그램에 대응하는 disk file(spool)에 기록하는 방법으로 Spooling이 완료되면 spiil을 한번에 하나씩 I/O장치로 전송한다.

    'OS > os 공부' 카테고리의 다른 글

    12-2. 디스크 스케쥴링  (0) 2022.01.27
    11-5. File System Implementation(디스크 할당,빈공간 관리)  (0) 2022.01.27
    11-4. File Protection Mechanism  (0) 2022.01.26
    11-3. Directory Structure  (0) 2022.01.26
    11-2. File System overview  (0) 2022.01.25

    댓글

Designed by Tistory.