본문 바로가기

백엔드/os 및 일반 지식

운영체제 - 입출력 구조, 저장장치 구조

반응형

입출력 구조


입력시스템의 작동 과정


CPU가 장치제어기의 레지스터에 명령을 적재.

장치 제어기는 레지스터 내용을 조사하여 수행할 동작을 검사.

레지스터 내용이 읽기 명령이므로 입력 장치에게 읽기 신호를 내보냅니다.

입력 장치는 데이터를 읽어서 버퍼에 저장.

제어부분은 CPU에 인터럽트를 발생.

CPU가 버퍼에서 데이터를 읽어들이고 입력이 완료.

 

 

*장치제어기

공통 버스와 장치 사이에 위치해 장치를 제어하는 역할. 내부적으로 저장 장치를 가지고 있을 수 있다. 자신의 주변 장치와 데이터 송수신을 위한 인터페이스 역할을 한다. 

 

*동기식 입출력

입출력이 시작되고 입출력이 끝난 후에 제어가 사용자 프로세스로 복귀하는 구조. 매 순간마다 수행해야할 입출력 요청은 하나가 되므로 운영체제는 어느 장치가 인터럽트를 호출하고 있는지 알고 있다. 다만 여러 장치에 대한 동시 입출력이 불가능하며 각종 유용한 연산들이 병행 실행될 가능성을 완전히 배제. 

 

 

* 비동기식 입출력

입출력이 시작되고 끝나기 전에 사용자 프로그램으로 제어가 되돌아간다. CPU가 하나의 요청을 보낸 다음에 인터럽트가 돌아오기 전까지 다른 일을 계속 수행할 수 있다는 장점. 다만 입출력 장치 별로 장치의 종류, 주소, 상태 등의 정보를 매 순간 저장하여 관리할 필요가 있다. 이런 정보는 장치 상태 테이블의 형태로 저장되어 관리된다. 또한 다른 프로세들이 같은 장치에 대해 요청할 수 있기 때문에 운영 체제는 매 장치를 위해서 대기 큐를 유지해야 함.

 

*DMA 구조

데이터를 낱개가 아닌 블록 단위로 전송하는 방식. 데이터 전송 시 CPU의 간섭이 없고 자체적으로 입출력 작업을 처리한다. 고속의 입출력 장치를 위해서 사용. 병목 현상 개선 기술로 활용 .

*DMA 입출력 방식의 작동 과정

- 운영체제가 입출력 요청을 보낸다.

- DMA 제어기의 레지스터에 주소와 전송 길이가 저장.

- DMA 제어기는 한 블록의 입출력 동작을 수행, 그 동안 CPU는 다른 작업 수행.

- 입출력 동작이 완료되면 DMA 제어기는 CPU에게 완료했다는 인터럽트를 보냄. 

 

저장장치 구조


* 프로세스

실행중인 프로그램을 의미

 

* 주기억장치

프로세스가 올라가는 공간. 프로세서가 직접 접근할 수 있는 대량 저장 장치. 워드의 배열로 구성. 흔히 RAM이라고 불림. 워드란 CPU가 한 번에 처리할 수 있는 단위. 운영체제가 32 bit라면 워드는 32 bit가 된다. 주기억장치는 CPU와 상호작용할 수 있고, 이 때 특정 특정 기억장치 주소에 일련의 Load 혹은 Store 명령 등을 통하여 수행이 이루어진다. 

 

 

 

 

* 하나의 명령이 실행되는 사이클

- 기억장치로부터 명령을 인출, CPU 내부의 명령 레지스터에 저장.

- CPU가 명령을 해독

- 피연산자를 CPU 내부의 레지스터에 저장

- 명령을 실행

- 결과를 기억 장치에 저장

 

주기억장치는 용량이 적고 보조 기억 장치보다 접근 속도가 빠르다. 전원이 공급되지 않으면 내용을 잃어버리는 휘발성 장치. 주기억장치와 CPU 자체 내장 레지스터는 CPU가 직접 접근할 수 있는 유일한 저장장치. 실행 중인 모든 명령과 명령에 의해서 사용이 되는 데이터는 항상 CPU가 직접 접근이 가능한 이러한 저장 장치 중에 하나에 있어야만 한다. 

 

보조기억장치는 프로그램을 영구히 저장할 수 있는 저장 장치. 하드디스크나 SSD등이 해당. 일반적으로 프로그램들을 보조 기억 장치에 저장, 실행 프로그램은 프로세스가 되어 주기억 장치제 저장된다. 

 

 

기억장치 사상 입출력 (Memory Mapped I/O) : 이전에는 입출력 명령이 각각의 입출력 장치를 ID 값으로 구분하여 적절한 명령을 삽입하는 방식으로 이용. 이는 명령의 구조가 상이하여 파악하기 어렵다는 단점이 존재. 따라서 단일 주소 쳬계를 도입, 명령의 구조를 통일. 이를 기억장치 사상 입출력이라고 한다. 모니터 화면 출력과 같이 고속의 응답 시간을 갖는 장치에 적합. 나중에 발전하여 그래픽 카드를 이용하는 방식으로 확장. 

 

 

자기 디스크

현재에도 가장 많이 사용되고 있는 보조기억장치.여러 개의 디스크 판이 함께 사용되는 경우가 많고, 각 디스크는 플래터라고 부르는 원형 평판으로 되어 있다. 플래터의 양쪽 표면은 자기적인 물질로 덮여있고, 정보는 플래터 상에 자기적으로 기록되어 저장된다. 

속도 측면에서 중요한 것은 전송률. 드라이브와 컴퓨터 간의 전송 비율. 임의 접근 시간 (Random Access Time)은 원하는 실린더로 디스크 암이 움직이는 탐색 시간과 원하는 섹터로 디스크 헤더가 회전하는 회전 지연 시간의 합으로 구성. 

반응형

'백엔드 > os 및 일반 지식' 카테고리의 다른 글

네트워크 - 구성도  (0) 2023.01.08
리눅스 개요  (1) 2022.09.22
운영체제 - 다양한 시스템, 컴퓨터의 작동 과정  (0) 2022.08.05
운영체제 - 개요, 시스템의 발전  (0) 2022.08.04
인터넷  (0) 2022.03.18