New World
[운영체제#11] 장치 관리 본문
01 장치의 개념
프로세스 실행에 필수 : CPU, 메모리
프로세스 실행 시 데이터 입력 or 출력에 사용 : 나머지 장치들
입출력 장치 구분 : 장치의 기능적 특징과 장치 관리자의 관리 방법에 따라 구분
- 전용장치
-- 한번에 단지 하나의 프로세스에만 할당
-- 단점 : 대기시간이 길어짐
- 공용장치
-- 여러 프로세스에 동시에 할당
-- 스케줄링 기법 필요
- 가상장치
-- 전용장치를 가상의 공용장치처럼 보이게 함
-- 디스크 같은 공용장치 이용
02 장치의 구성
논리적 구성
장치제어기 - 장치를 직접적으로 다루는 전자장치 - 장치에서 발생하는 각종 데이터를 전자적인 신호로 변환하여 운영체제 로 보냄 - 운영체제가 요청하는 명령을 받아 장치를 구동 -운영체제가 보내는 출력을 장치에 맞게 변환 |
|
장치 드라이버 - 응용 프로그램의 입출력 요청을 해당 장치에 맞도록 변환 - 장치의 종류나 제조사에 따라 장치제어기가 이해하는 명령이나 명령의 종류가 다를 수 있기 때문 - 보통 장치 제조사에서 해당 장치의 드라이버도 같이 제공 |
물리적 구성
CPU 장치 사용법
- 장치제어기 내 레지스터 활용
- 장치 상태 확인(읽기), 장치에 명령(쓰기)
- 통신 : 입출력 명령, 메모리 사상 입출력
03 입출력 처리 유형
입출력 처리 : 프로세스가 진행하며 입출력 발생
프로그램 방법
- 폴링(CPU가 입출력 장치의 상태를 확인하여 원하는 상태가 될 때까지 기다림) 이용
- CPU만 이용해 입출력 처리
- 단점 : CPU 낭비가 심하여 비효율적
인터럽트 방법
- 인터럽트 (다른 장치의 작업을 잠시 중단시키고 자신의 상태를 알리는 기능)을 이용해 입출력 처리
- 프로세스를 대기상태로 보내고 인터럽트가 발생할 때까지 CPU는 다른 작업
DMA 방법
- DMA 제어기(CPU를 통하지 않고 직접 메모리에 접근)를 이용하여 입출력을 처리
- 프로세스를 대기상태로 보내고 인터럽트가 발생할 때까지 CPU는 다른 작업
- 한 번에 입출력 양이 많은 경우에도 한 번의 인터럽트만 발생 (CPU의 효율 증대)
04 입출력 관리
버퍼링 - CPU의 데이터 처리 속도와 입출력 장치의 데이터 전송 속도의 차이로 인한 문제를 버퍼를 통해 해결
버퍼 - 입출력 데이터 등의 정보 전송할 때, 일시적 데이터 저장 장소로 사용되는 메모리의 일부
단일 버퍼링 | 이중 버퍼링 | 순환 버퍼링 |
비효율적 : 저장 + 처리가 동시 X | ||
스풀링
- 입출력 프로세스와 저속 입출력장치 사이의 데이터 전송을 자기 디스크와 같은 고속 장치를 통하도록 하는 것
(일종의 버퍼링)
- 입출력 작업이 빨리 끝나게 할 수 있음
- 전용장치를 가상장치로 변화시켜 줌
정답 : 4 | |
정답 : 3 | |
정답 : 4 | |
정답 : 1 |
'Self-Study > Study' 카테고리의 다른 글
[운영체제#13] 분산 운영체제 (0) | 2022.06.01 |
---|---|
[운영체제#12] 저장장치 및 관리 (0) | 2022.06.01 |
[운영체제#9, 10] 가상 메모리 (0) | 2022.06.01 |
[운영체제#8] 메모리 관리 (0) | 2022.06.01 |
[운영체제#6, 7] 교착상태 (0) | 2022.06.01 |