New World

[운영체제#11] 장치 관리 본문

Self-Study/Study

[운영체제#11] 장치 관리

hyeovi 2022. 6. 1. 23:11
728x90
반응형

01 장치의 개념

프로세스 실행에 필수 : CPU, 메모리

프로세스 실행 시 데이터 입력 or 출력에 사용 : 나머지 장치들

 

입출력 장치 구분 : 장치의 기능적 특징과 장치 관리자의 관리 방법에 따라 구분

- 전용장치

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

-- 단점 : 대기시간이 길어짐

 

- 공용장치

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

-- 스케줄링 기법 필요

 

- 가상장치

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

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

 

02 장치의 구성 

논리적 구성

 

장치제어기
- 장치를 직접적으로 다루는 전자장치
- 장치에서 발생하는 각종 데이터를 전자적인 신호로 변환하여 운영체제 로 보냄
- 운영체제가 요청하는 명령을 받아 장치를 구동
-운영체제가 보내는 출력을 장치에 맞게 변환
장치 드라이버
- 응용 프로그램의 입출력 요청을 해당 장치에 맞도록 변환
- 장치의 종류나 제조사에 따라 장치제어기가 이해하는 명령이나 명령의 종류가 다를 수 있기 때문
- 보통 장치 제조사에서 해당 장치의 드라이버도 같이 제공

 

물리적 구성

CPU 장치 사용법

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

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

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

 

 

03 입출력 처리 유형 

입출력 처리 : 프로세스가 진행하며 입출력 발생

 

프로그램 방법

- 폴링(CPU가 입출력 장치의 상태를 확인하여 원하는 상태가 될 때까지 기다림) 이용

- CPU만 이용해 입출력 처리

- 단점 : CPU 낭비가 심하여 비효율적

인터럽트 방법

- 인터럽트 (다른 장치의 작업을 잠시 중단시키고 자신의 상태를 알리는 기능)을 이용해 입출력 처리

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

 

DMA 방법

- DMA 제어기(CPU를 통하지 않고 직접 메모리에 접근)를 이용하여 입출력을 처리

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

- 한 번에 입출력 양이 많은 경우에도 한 번의 인터럽트만 발생 (CPU의 효율 증대)

04 입출력 관리

버퍼링 - CPU의 데이터 처리 속도와 입출력 장치의 데이터 전송 속도의 차이로 인한 문제를 버퍼를 통해 해결

버퍼 - 입출력 데이터 등의 정보 전송할 때, 일시적 데이터 저장 장소로 사용되는 메모리의 일부

단일 버퍼링 이중 버퍼링 순환 버퍼링
비효율적 : 저장 + 처리가 동시 X

스풀링

- 입출력 프로세스와 저속 입출력장치 사이의 데이터 전송을 자기 디스크와 같은 고속 장치를 통하도록 하는 것

(일종의 버퍼링)

- 입출력 작업이 빨리 끝나게 할 수 있음

- 전용장치를 가상장치로 변화시켜 줌


정답 : 4
정답 : 3
정답 : 4
정답 : 1
반응형
Comments