CPU - memory - device 간 관계 구조에 대한 것입니다.
I/O 구조
운영체제 코드의 대부분을 성능에 대한 중요성과 장치의 다양한 특성 때문에 I/O를 관리하는데 사용된다.
지금까지 인터럽트의 경우 장치가 CPU에게 보내게 되는 것이었는데 이러한 인터럽트는 소량의 데이터 이동에는 좋았습니다. 하지만 NVS(기계적 저장 장치) I/O같은 대량의 데이터가 이동해야 하는 경우 높은 overhead가 발생시킬 수 있다.
이를 위해 DMA(Direct memory Access)가 존재한다.
DMA
- I/O에 대한 인터럽트를 대신 받아 처리해준다 까지만 설명했었지만 자세히 들어보면 이러한 대량의 데이터가 이동해야할 경우 더 좋은 효율로 처리합니다.
일부 high-end 시스템의 경우 bus대신 switch를 사용한다.
switch를 사용하면 여러 구성 요소는 공유 버스에서 사이클을 위해서 경쟁하지 않고 동시 통신이 가능하다
Single Processor Systems
- 하나의 CPU, 하나의 프로세싱 코어를 포함하는 단일 프로세서
- 코어 : 로컬로 데이터를 저장하기 위한 명령과 레지스터를 실행하는 구성요소
- 특수 목적을 위해 사용되는 경우가 많다
- 디스크, 키보드, 그래픽 controller같은 장치별 프로세서 형태로 제공
- 제한된 명령 집합을 실행하며, 가끔 운영 체제가 다음 작업에 대한 정보 전송하고 관리되며 상태를 모니터링 한다.
- Disk controller는 CPU 코어로 부터 요청을 수신받고 자시의 disk 큐와 스케쥴링 알고리즘을 구현한다.
- 이러한 배열은 디스크 스케쥴링의 오버헤드를 메인 CPU가 줄여준다.
- 키보드는 마이크로프로세서를 내장하여 키 입력을 CPU에 전송할 코드로 변화
- Disk controller는 CPU 코어로 부터 요청을 수신받고 자시의 disk 큐와 스케쥴링 알고리즘을 구현한다.
- 다른 환경이나 상황에서 특정 목적의 프로세서들은 하드웨어에 내장된 낮은 수준의 component들이다.
- 단일 프로세서 시스템 : 단일 프로세싱 코어를 가진 범용 CPU가 하나
- 이 정의에 따르면 현대의 컴퓨터 시스템은 단층 시스템
'운영체제' 카테고리의 다른 글
운영체제 - Thread (0) | 2022.08.06 |
---|---|
운영체제 - 프로세스 (0) | 2022.08.06 |
운영체제 - 저장소 (0) | 2022.08.03 |
운영체제 - 인터럽트 (0) | 2022.08.03 |
운영체제 구조 (0) | 2022.07.30 |