728x90
입력 시스템 작동과정
- CPU가 장치제어기의 레지스터에 명령을 적재한다.
- 장치 제어기는 레지스터 내용을 조사해 수행할 동작을 검사한다.
- 레지스터 내용이 읽기 명령이라면 입력장치에게 읽기 신호를 보낸다.
- 입력장치는 데이터를 읽어서 버퍼에 저장한다
- 제어부분은 CPU에 인터럽트를 발생시킨다.
- CPU가 버퍼에서 데이터를 읽어 들이고 입력이 완료된다.
- 장치제어기 : 공통버스와 장치사이에 위치해 장치를 제어하는 역할. 장치 제어기는 내부적으로 저장 장치를 가지고 있을 수 있으며 자신의 주변 장치와의 데이터 송수신을 할 수 있도록 인터페이스 역할을 한다.
동기식 입출력
- 입출력이 시작되고 입출력이 끝난 후에 제어가 사용자 프로세스로 복귀하는 구조이다.
- 매순간마다 수행해야 할 입출력 요청은 하나가 되므로 운영체제는 어느 장치가 인터럽트를 호출하고 있는지 알고 있다.
- 다만 여러 장치에 대한 동시 입출력이 불가능하며 각종 유용한 연산들이 병행 실행될 가능성을 완전히 배체한다.
비동기식 입출력
- 입출력이 시작되고 끝나기 전에 사용자 프로그램으로 제어가 되돌아간다.
- CPU가 하나의 요청을 보낸 다음에 인터럽트가 돌아오기 전까지 다른 일을 계속 수행할 수 있다는 장점을 지님, 다만 이 경우 입출력 장치 별로 장치의 종류, 주소, 상태 등의 정보를 매순간 저장하여 관리할 필요가 있다.
- 이런 정보는 장치 상태 테이블의 형태로 저장되어 관리된다
- 또한 다른 프로세스들이 같은 장치에 대해 요청을 할 수 있기 때문에 운영체제는 매 장치를 위해서 대기 큐를 유지해야 한다.
- 하나의 입출력이 실행되는 동안에도 다른 시스템 작업들을 병행 할 수 있다는 점에서 효율성이 증가한다.
DMA구조(Direct Memory Access)
- DMA 방식은 데이터를 낱개가 아니라 블록단위로 전송하는 효율적인 방식 중 하나다.
- DMA 방식을 채택하면 한 블록 단위의 데이터 전송을 할때는 CPU의 간섭이 없고 자체적으로 입출력 작업을 처리할 수 있다.
- 따라서 고속의 입출력 장치를 위해 사용이 되고 기존에 발생했던 병목 현상을 개선하는 기술로 활용된다.
DMA 입출력 방식의 작동과정
- 운영체제가 입출력 요청을 보낸다.
- DMA 제어기의 레지스터에 주소와 전송 길이가 저장된다.
- DMA 제어기는 한 블록의 입출력 동작을 수행하고 그동안 CPU는 다른 작업을 한다.
- 입출력 동작이 완료되면 DMA 제어기는 CPU에게 완료했다는 인터럽트를 보낸다.
'Computer Science > OS (운영체제)' 카테고리의 다른 글
[OS / 메모리] 캐시메모리(Cache Memory), SRAM(Static RAM) (0) | 2022.03.27 |
---|---|
[OS] 저장장치의 구조 (0) | 2022.03.20 |
[OS] 컴퓨터 시스템의 발전 (0) | 2022.03.18 |
[OS] 컴퓨터 구조 (0) | 2022.03.18 |
[OS] Operating System(OS, 운영체제) 개요 (0) | 2022.03.16 |