장치 관리

11강. 장치 관리

장치 관리에 대해 알아보자.

주요 용어

  • 전용장치: 한 번에 단지 하나의 프로세스에만 할당되는 장치
  • 공용장치: 여러 프로세스에 할당될 수 있는 장치
  • 가상장치: 디스크 등 공유가 가능한 장치를 이용하여 전용장치를 공용장치처럼 보이게 한다.
  • 장치제어기: 장치를 직접적으로 다루는 전자장치
  • 폴링: CPU가 입출력장치의 상태를 지속적으로 확인하여 CPU가 원하는 상태가 될 때까지 기다리는 방법
  • 인터럽트: 어떤 장치가 다른 장치의 작업을 잠시 중단시키고 자신의 상태를 알리는 기능
  • DMA: CPU를 통하지 않고 직접 메모리에 접근하여 데이터를 전송하는 방법
  • 사이클 스틸링: CPU와 DMA 제어기가 동시에 메모리를 액세스하려는 경우 DMA 제어기에 우선권을 주는 것
  • 버퍼링: CPU의 데이터 처리 속도와 데이터 전송 속도의 차이로 인한 문제를 메모리의 일부를 일시적 데이터 저장 장소로 사용하는 버퍼를 이용하여 해결하는 방법
  • 스풀링: 입출력의 속도를 높이기 위하여 입출력 프로세스와 저속 입출력장치 사이의 데이터 전송을 자기 디스크와 같은 고속 장치를 통하도록 하는 방법

정리하기

  • 운영체제에서 장치 관리자는 시스템의 모든 주변기기를 관리하며 입출력의 균형을 유지한다.
  • 장치는 일반적으로 전용장치, 공유장치, 그리고 가상장치의 세 가지 범주로 구분된다.
  • 입출력이 발생하는 경우 이를 처리하는 방법으로 프로그램 방법, 인터럽트 방법, DMA 방법이 있다.
  • 프로그램 방법은 CPU가 입출력장치의 상태를 지속적으로 확인하여 CPU가 원하는 상태가 될 때까지 기다리는 폴링을 이용하는 방법이다.
  • 인터럽트 방법은 어떤 장치가 다른 장치의 작업을 잠시 중단시키고 자신의 상태를 알리는 인터럽트를 이용하는 방법이다.
  • DMA는 DMA 제어기를 이용하여 CPU를 통하지 않고 직접 주기억장치에 접근하여 데이터를 전송하는 방법이다.
  • 장치와는 독립적으로 입출력을 관리하는 방법으로 버퍼링과 스풀링이 있다.
  • 버퍼링은 CPU의 데이터 처리 속도와 데이터 전송 속도의 차이로 인한 문제를 메모리의 일부를 일시적 데이터 저장 장소로 사용하는 버퍼를 이용하여 해결한다.
  • 버퍼링에는 단일 버퍼링, 이중 버퍼링, 순환 버퍼링이 있다.
  • 스풀링은 입출력의 속도를 높이기 위하여 입출력 프로세스와 저속 입출력장치 사이의 데이터 전송을 자기 디스크와 같은 고속 장치를 통하도록 하는 방법이다.