[OS] 운영체제 입출력

Jeyeon Kim·2023년 10월 18일
0

운영체제

목록 보기
2/12

운영체제 입출력방식

운영체제의 입출력 방식은 버퍼링(Buffering)과 스풀링(Spooling) 방식이 있다.

  • 버퍼링(Buffering)
    입출력장치와 CPU의 속도차이로 데이터를 직접 넘기지 않음.
    주 기억 장치(RAM)의 일부분을 버퍼로 사용함.
  • 스풀링(Spooling)
    입출력장치와 CPU의 속도차이로 데이터를 직접 넘기지 않음.
    상대적으로 빠른 디스크에 일시저장하고 한꺼번에 입출력하여 속도를 맞춤.

입출력 제어 방식

입출력 채널(I/O Channel)은 CPU 간섭 없이 입출력을 수행하는 입출력 전용 프로세서이며 입출력 작업 완료 시 인터럽트 신호를 CPU에 보내 알린다.

채널(Channel)의 종류는 아래와 같이 3가지가 존재한다.

  • 셀렉터 채널(Selector Channel)
    한번에 한 입출력 기기만 선택하여 작동하는 방식으로 한 개의 입출력 기기가 채널을 전부 사용한다.
  • 멀티플렉서 채널(Multiplexer Channel)
    한번에 여러 입출력 기기가 연결되어 작동하는 방식으로 여러 입출력 기기가 한 채널을 공유하여 사용한다.
  • 블록멀티플렉서 채널(Block multiplexer Channel)
    셀렉터와 멀티플렉서의 방식을 혼합한 방식이다.

DMA(Direct Memory Access)는 CPU 간섭 없이 주 기억장치와 입출력장치 사이에서 직접 전송이 이루어지도록 하는 제어기이며 사이클 스틸링(Cycle stealing) 방식을 사용하여 고속으로 대량의 데이터를 전송한다.
CPU는 DMA 제어기에게 시작 명령, 입출력하고자 하는 자료의 양, 입력 또는 출력을 결정하는 명령만 보낼 수 있다.

입출력장치(Input Output Unit) 구성

입출력장치는 입출력 제어장치, 입출력 인터페이스, 입출력버스 이렇게 3가지로 구성된다.

  • 입출력 제어 장치
    입출력 장치와 컴퓨터 사이의 자료 전송을 제어하는 장치로, 데이터 버퍼 레지스터를 이용하여 두 장치간의 속도 차이를 조절하는 것
  • 입출력 인터페이스
    동작 방식이나 데이터 형식이 서로 다른 컴퓨터 내부의 주 기억 장치나 CPU의 레지스터와 외부 입출력장치 간의 2진 정보를 원활하게 전송하기 위한 방법을 제공
  • 입출력버스
    주 기억 장치와 입출력 장치 사이의 데이터 전송을 위해 모든 주변 장치의 인터페이스에 공통으로 연결된 버스
profile
Computer software engineering

0개의 댓글