저장장치의 두 가지 요건
- 단위 시간당 데이터 처리량 (throughput) = 입출력 속력
- 용량 (capacity) = 저장장치에 담을 수 있는 정보의 총량
메모리 계층 구조
빠른 저장 장치는 용량에 비해 가격이 비싸고, 용량이 넉넉한 저장 장치는 싸지만 처리 속도가 느리다. 컴퓨터가 행하는 작업은 매우 다양하기 때문에 빠른 속도가 필요한 상황도 있지만, 단순히 많은 내용을 천천히 읽고 쓰는 작업도 많다. 이러한 상황에 맞게 여러 종류의 저장 장치를 함께 사용해 최적의 효율을 낼 수 있도록 하여 싸고 성능 좋은 시스템을 구현하는 설계가 메모리 계층 구조이다.
CPU에 가까운 순서대로
레지스터 - 캐시 - 메모리 - 보조기억장치
(일반적으로 CPU와 직접 접근이 가능한 레지스터, 캐시, 메모리를 주기억장치라 부른다.)
메모리 계층 구조는 용량이 많고 느린 아래쪽에서 시작해서 용량이 작고 빠른 위쪽으로 올라가는 구조를 지니고 있다.
싼 메모리(저장장치)는 용량이 크지만 처리속도가 느리고, 비싼 메모리는 용량이 작지만 빠르다.
주 기억 장치(Main Memory)
CPU에서 직접 접근이 가능한 메모리.
CPU와 열심히 소통하며 빠르게 정보를 읽고 받아오는 주 기억장치는 휘발성 기억장치이다.
따라서 정보를 오랫동안 저장하는 기능에는 부적합.
ex) 빠르게 파일을 받아오며 볼 수는 있지만 저장은 되지 않는 동영상 스트리밍 서비스 같은 경우, 파일을 메모리에 저장한다고 생각하면 되겠다.
보조 기억 장치
CPU에서 직접 접근이 불가능한 메모리.
대용량의 자료를 영구적으로 보관하기 위해서는 저속, 저가, 대용량의 기억장치를 사용하게 된다.
ex) 다운로드 속도는 느리지만 핸드폰이나 컴퓨터에 파일을 저장해두고 볼 수 있도록 하고 싶은 경우, 보조기억장치에 저장하는 방법을 사용할 수 있다.
'컴퓨터시스템' 카테고리의 다른 글
http vs. https 차이 (0) | 2021.04.19 |
---|---|
[Programming Paradigm] 객체지향 vs. 절차지향 (0) | 2021.04.16 |
[Programming Paradigm] declarative(선언형) vs. imperative(명령형) programming (0) | 2021.04.01 |
소프트웨어 아키텍처 패턴 Software architectural pattern (0) | 2021.01.26 |
[데이터 처리] 동기식 비동기식 Synchronous Asynchronous (0) | 2020.12.21 |