강의 소개
현재 수강하고 있는 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도 하는 것이다.
저장장치 계층구조
위로 갈수록(Primary)
저용량, 빠름, 고가, Executable(CPU가 바로 접근할 수 있어 직접 실행이 가능하다), 휘발성 매체(전원이 나가면 데이터가 소멸)
아래로 갈수록(Secondary)
대용량, 느림, 저가, Secondary(CPU 직접 접근 불가, I/O controller에게 요청해서 데이터를 가져올 수 있다), 비휘발성(전원 꺼져도 저장된다)
아래쪽에 데이터의 원본이 저장되어 있고 필요할 때 위로 읽어서 사용한다.
캐싱
위쪽에서 필요할 때 항상 제일 아래로 내려가면 느리다.
위에서 요청이 왔을 때 맨 아래로 내려가기 이전에 데이터를 가지고 있는 위치에서 읽어서 올린다. 그래서 속도 향상이 된다.
재사용성을 사용해서 효과적이다.
캐싱을 잘하려면 재사용성이 높은 것을 위쪽에서 보관하고 있고, 사용성이 낮은 것을 아래로 보내야 한다.
출처: 운영체제와 정보기술의 원리(반효경 저)
'교육, 학습 > CS스터디_반효경 운영체제' 카테고리의 다른 글
운영체제 - 프로세스 상태(Running, Ready, blocked), 프로세스가 running중 CPU를 반환하는 경우 (0) | 2022.01.06 |
---|---|
운영체제 - 커널 주소 공간과 구성요소(code, data, stack), 유저모드와 커널모드 (0) | 2022.01.05 |
운영체제 - 동기식 입출력, 비동기식 입출력의 차이점, 공통점 (0) | 2022.01.03 |
운영체제 - 인터럽트 종류(trap, exception, 시스템콜, 하드웨어 인터럽트) (0) | 2022.01.03 |
운영체제 - 특권 명령과 일반 명령, mode bit, 모니터 모드, timer interrupt (0) | 2022.01.03 |
댓글