본문 바로가기
교육, 학습/CS스터디_반효경 운영체제

운영체제 - DMA 사용이유(DMA와 CPU, 메모리의 관계), 저장장치 계층구조별 특징과 캐싱

by 개발하는 경제학도 2022. 1. 4.

강의 소개

현재 수강하고 있는 KOCW 내 이화여자대학교 운영체제(2017, 반효경) 강의의 내용을 정리하였습니다.

개발자 관점에서 운영체제 기초를 학습하는 무료 강의로 자세한 강의 내용은 수강을 추천드립니다.


 

 

DMA

DMA controller(Direct Memory Access)

인터럽트 처리도 일종의 오버헤드이다. 인터럽트가 CPU입장에서는 자주 발생하는 일은 아니다. 하지만 너무 많이 인터럽트가 발생되면 CPU에게도 비효율이 발생한다. 이 같은 너무 잦은 인터럽트를 방지하기 위해서 DMA를 사용한다.

 

메모리는 CPU의 작업공간이기 때문에 I/O 장치들은 메모리에 직접 접근하지 못하고, CPU만 접근할 수 있다. 따라서 메모리에 접근할 수 있는 장치를 하나 더 만든 것이 DMA controller이다.

 

- 순서

I/O 장치들이 각각의 작업을 끝내면 local buffer에 저장시킨 후 인터럽트를 발생시킨다 -> 특정 분량이 찼을 때 DMA controller가 CPU 대신 I/O장치들의 local buffer에 있는 내용들을 메모리에 카피하는 작업까지 해준다. -> 이때 한 번에 인터럽트를 걸어 발생 빈도를 낮춘다.

 

- 특징

빠른 입출력 장치를 메모리에 가까운 속도로 처리하기 위해 사용한다.

바이트 단위가 아니라 block 단위로 인터럽트를 발생시킨다.

 

 

서로 다른 입출력 기계어

I/O를 통해 기계어를 수행하는 방법에는 2가지가 있다.

1) special instruction

I/O를 전담하는 기계어를 사용하는 방법이다.

메모리 접근하는 기계어가 따로 있고, 이와 별개로 I/O를 수행하는 기계어가 따로 있다.

EX. CPU에서 기계어를 수행할 때, 디스크에서 파일을 읽어오라는 요청을 할 때 읽어오는 기계어가 따로 있는 경우이다.

 

2) Memory Mapped I/O

메모리 주소를 I/O 장치에도 메인 메모리의 주소를 연장해서 넣어놓고 메모리 접근하는 기계어를 통해서 I/O에 접근하는 방식이다.

즉, 메모리 접근하는 기계로 I/O도 하는 것이다.

 

 

저장장치 계층구조

출처: 운영체제(이화여자대학교, 2017년 1학기 반효경)

위로 갈수록(Primary)

저용량, 빠름, 고가, Executable(CPU가 바로 접근할 수 있어 직접 실행이 가능하다), 휘발성 매체(전원이 나가면 데이터가 소멸)

 

아래로 갈수록(Secondary)

대용량, 느림, 저가, Secondary(CPU 직접 접근 불가, I/O controller에게 요청해서 데이터를 가져올 수 있다), 비휘발성(전원 꺼져도 저장된다)

 

아래쪽에 데이터의 원본이 저장되어 있고 필요할 때 위로 읽어서 사용한다.

 

캐싱

위쪽에서 필요할 때 항상 제일 아래로 내려가면 느리다.

위에서 요청이 왔을 때 맨 아래로 내려가기 이전에 데이터를 가지고 있는 위치에서 읽어서 올린다. 그래서 속도 향상이 된다.

재사용성을 사용해서 효과적이다.

캐싱을 잘하려면 재사용성이 높은 것을 위쪽에서 보관하고 있고, 사용성이 낮은 것을 아래로 보내야 한다.

 

 

출처: 운영체제와 정보기술의 원리(반효경 )

댓글