3. 저장 장치의 계층 구조
- 저장 장치의 계층 구조는 속도가 빠르고 값이 비싼 저장장치를 CPU 가까운 쪽에 두고,
값이 싸고 용량이 큰 저장장치를 반대쪽에 배치하여
적당한 가격으로 빠른 속도와 큰 용량을 동시에 얻는 방법임
- 저장 장치의 계층 구조에서는 CPU와 가까운 쪽에 레지스터나 캐시를 배치하여
CPU가 작업을 빨리 진행할 수 있게 함
-> 또한 메모리에서 작업한 내용을 하드디스크와 같이 저렴하고 용량이 큰 저장장치에
영구적으로 저장할 수 있게 함
- 한편, 저장장치의 계층 구조는 중복되는 데이터의 일관성을 유지하는 것이 문제임
-> 예를 들어, CPU가 캐시에 저장된 데이터를 변경하면 메모리의 해당 주소에 있는 데이터도 갱신되어야 하는데,
변경된 내용을 즉시 반영하지 않고 일정 기간 모았다가 한꺼번에 메모리에 반영하는 지연 쓰기의 경우 문제가 됨
4. 인터럽트
4.1 인터럽트의 개념
- 오늘날의 컴퓨터에는 많은 주변장치가 있기 때문에 CPU가 모든 입출력에 관여하면
작업 효율이 현저하게 떨어짐
-> 이러한 문제를 해결하기 위해 등장한 것이 인터럽트(interrupt) 방식임
- 인터럽트 방식은 CPU의 작업과 저장장치의 데이터 이동을 독립적으로 운영함으로써
시스템의 효율을 높임
-> 즉, 데이터의 입출력이 이루어지는 동안 CPU가 다른 작업을 할 수 있음
4.2 인터럽트 방식의 동작 과정
인터럽트 방식의 동작 과정은 다음과 같음
(1) CPU가 입출력 관리자에게 입출력 명령을 보냄
(2) 입출력 관리자는 명령 받은 데이터를 메모리에 가져다놓거나
메모리에 있는 데이터를 저장장치로 옮김
(3) 데이터 전송이 완료되면 입출력 관리자는 완료 신호를 CPU에 보냄
- 입출력 관리자가 CPU에 보내는 완료 신호를 인터럽트라고 함
-> CPU는 입출력 관리자에게 작업 지시를 내리고 다른 일을 하다가
완료 신호를 받으면 하던 일을 중단하고 옮겨진 데이터를 처리함
-> 이처럼 하던 작업을 중단하고 처리해야 하는 신호라는 의미에서
인터럽트라고 불리게 됨
4.3 직접 메모리 접근
- 명령을 받은 입출력 관리자가 CPU가 요청한 데이터를 메모리에 가져다놓을 때, 문제가 있음
-> 메모리는 CPU만 접근 권한을 가진 작업 공간이라 입출력 관리자는 접근이 불가하다는 것임
-> 따라서 입출력 관리자에게는 CPU의 허락 없이 메모리에 접근할 수 있는 권한이 필요한데,
이러한 권한을 직접 메모리 접근(DMA)이라고 함
4.4 메모리 매핑 입출력
- 직접 메모리 접근은 인터럽트 방식의 시스템을 구성하는데 필수 요소임
-> 그러나 직접 메모리 접근을 사용하면 메모리가 복잡해짐
-> 메모리에는 CPU가 사용하는 데이터와 입출력 장치가 사용하는 데이터가 섞여 있음
-> 이를 막기 위해 메모리를 나누어 사용하는 방법이 도입됨
-> CPU가 사용하는 메모리 공간과 직접 메모리 접근을 통해 들어오거나 나가는 데이터를 위한 공간을
분리하는 것임
-> 이렇게 메모리의 일정 공간을 입출력에 할당하는 기법을 메모리 매핑 입출력이라고 함
참고
- 쉽게 배우는 운영체제
'OS' 카테고리의 다른 글
프로세스 개요 (0) | 2022.04.28 |
---|---|
병렬 처리 (1) | 2022.04.28 |
컴퓨터 성능 향상 기술(1) - 버퍼와 캐시 (1) | 2022.04.28 |
CPU와 메모리 (0) | 2022.04.28 |
컴퓨터의 기본 구성 (0) | 2022.04.28 |