반응형
SMALL

학습목표

1. 장치의 개념과 구성을 설명할 수 있다.

2. 입출력 처리를 위한 세 가지 방법을 설명할 수 있다.

3. 장치와는 독립적으로 입출력을 관리하는 두 가지 방법을 설명할 수 있다.

 

주요용어

전용장치, 공용장치, 가상장치, 장치제어기, 폴링, 인터럽트, DMA, 사이클 스틸링, 버퍼링, 스풀링

 

 

 

8.1 장치의 개념

컴퓨터 시스템에는 CPU, 메모리 외에도 디스크 드라이브, 키보드, 마우스, 비디오 디스플레이, 프린터, 스캐너, 네트워크 카드 등 다양한 장치들이 존재한다. 프로세스 관점에서 보면 CPU와 메모리는 프로세스를 실행시키기 위한 필수 요소인 반면, 나머지 장치들은 모두 프로세스 실행 시 데이터 입력이나 출력에 사용되는 입출력장치들로 볼 수 있다.

 

입출력장치의 구분

-장치의 기능적 특징과 장치 관리자의 관리 방법에 따라 구분

- 세가지 범주 : 전용장치, 공용장치, 가상장치

 

1) 전용장치

- 한번에 단지 하나의 프로세스에만 할당

- 예 : 테이프 드라이브, 프린터, 플로더 등

- 단점 : 대기시간이 길어질 수 있음

 

2) 공용장치

- 여러 프로세스에 동시에 할당

- 예 : 디스크 같은 직접접근 저장장치

- 스케줄링 기법 필요

 

3) 가상장치

- 전용장치를 가상의 공용장치처럼 보이게 함

- 디스크 같은 공용장치를 이용

- 예 : 스풀링을 적용한 플로터 등

 

 

 

8.2 장치의 구성

8.2.1 논리적 구성

 

장치 제어기

- 장치를 직접적으로 다루는 전자 장치

- 장치에서 발생하는 각종 데이터를 전자적인 신호로 변환하여 운영체제로 보냄

- 운영체제가 요청하는 명령을 받아 장치를 구동

- 운영체제가 보내는 출력을 장치에 맞게 변환

 

장치 드라이버

- 응용 프로그램의 입출력 요청을 해당 장치에 맞도록 변환

- 장치의 종류나 제조사에 따라 장치 제어기가 이해하는 명령이나 명령의 종류가 다를 수 있기 때문

- 보통 장치 제조사에서 해당 장치의 드라이버도 같이 제공

 

 

8.2.2 물리적 구성

 

CPU의 장치 사용법

- 장치제어기 내의 레지스터를 활용

- 장치의 상태 확인(읽기), 장치에 명령(쓰기)

- 통신 : 입출력 명령, 메모리 사상 입출력

 

 

 

 

 

8.3 입출력 처리 유형

입출력처리

- 프로세스가 진행하며 입출력이 발생하는 경우

- 세 가지 유형 : 프로그램 방법, 인터럽트 방법, DMA 방법

 

8.3.1 프로그램 방법

- CPU만을 이용하여 입출력을 처리

- 폴링 이용

 :  CPU가 입출력장치의 상태를 지속적으로 확인하며 원하는 상태가 될 때까지 기다리는 것

- 예 : 


repeat

     while state(프린터) != 가용 do skip;

     한줄 인쇄;

until 10줄 인쇄 완료;


- 단점 : 비효율적 - CPU의 낭비가 심함

 

 

8.3.2 인터럽트 방법

- 인터럽트를 이용하여 입출력을 처리

*인터럽트 

 :  어떤 장치가 다른 장치의 작업을 잠시 중단시키고 자신의 상태를 알리는 기능

- 프로세스를 대기 상태로 보내고 인터럽트가 발생할 때까지 CPU는 다른 작업을 하면 됨

 

인터럽트 방법- 처리과정

1) 입출력장치가 가용한 상태가 되었다고 인터럽트 제어기에 신호를 보냄

2) 인터럽트제어기는 CPU에 인터럽트 신호를 보냄

3) CPU는 현재 실행 중이던 명령만 마친 후 즉시 인터럽트에 응답

4) 인터럽트 제어기는 이벤트 대상에 대한 정보를 CPU에게 보냄

5) CPU는 현재 상태를 보관하고 필요한 입출력 처리를 한 후 원래 프로세스 실행상태로 복귀

 

 

반응형
LIST

'방송통신대학 > 운영체제' 카테고리의 다른 글

저장장치 및 파일, FCFS, SSTF, SCAN  (2) 2020.07.12
CPU]입출력 관리  (0) 2020.07.11
NUR, 2차 기회 , 클럭 페이지 교체  (0) 2020.07.09
페이지 교체 기법, FIFO, LRU, LFU  (0) 2020.07.08
가상메모리  (0) 2020.07.07

+ Recent posts