일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- React
- 스레드
- Android
- 운영체제
- 안드로이드 디자인 패턴
- OS
- 리액트
- MVVM
- Database
- 코틀린
- Kotlin
- 앱개발
- db
- 안드로이드 개발
- 프로세스
- 리액트네이티브
- reactnative
- 안드로이드
- 앱 개발
- cs
- 액티비티
- 데이터베이스
- 디자인패턴
- CS지식
- 앱
- 디자인 패턴
- Operating System
- 개발
- github
- 메모리
- Today
- Total
Tech Log
[Operating System] 메모리 계층 본문
메모리 계층
휘발성 메모리
- 레지스터 : CPU 안에 있는 작은 메모리, 속도 가장 빠름, 기억 용량이 가장 적다
- 캐시 : L1, L2 캐시를 지칭하나 L3 캐시도 있다. 속도 빠름, 기억 용량이 적다
- 주기억장치 : RAM을 가리킨다. 속도 보통, 기억 용량이 보통. 하드디스크로부터 일정량의 데이터를 복사해서 임시 저장하고 이를 필요할 때마다 CPU에 빠르게 전달하는 역할
레지스터
CPU가 요청을 처리하는데 필요한 데이터를 일시적으로 저장하는 저장장치.
CPU 내에 있으므로 가장 빠르다.
캐시
메모리와 CPU 간의 속도 차이를 완화하기 위해 메모리의 데이터를 미리 가져와 저장해두는 임시 장소.
필요한 데이터를 모아 한꺼번에 처리하는 버퍼의 일종.
CPU가 앞으로 사용할 것으로 예상되는 데이터를 미리 가져다 놓는다.
*버퍼 : 속도 차이가 있는 두 장치 사이에서 그 차이를 완화하는 역할을 하는 장치
메모리와 CPU 사이의 속도 차이가 매우 크기 때문에 중간에 레지스터 계층을 둬서 차이를 해결한다.
이렇게 속도 차이를 해결하기 위해 계층과 계층 사이에 있는 계층을 캐싱 캐층이라 한다.
예를 들어 캐시와 보조기억장치 사이에 있는 주기억장치는 캐싱 계층이라 볼 수 있다.
*레지스터와 캐시의 차이 : 레지스터에 들어오는 데이터는 처리되기 위해서 들어오는 것이며 저장되기 위해 들어오는 것이 아니다.
레지스터는 데이터 처리를 위한 구성요소이며 CPU 의 필수 구성요소이지만, 캐시는 저장을 위한 메모리로 CPU 의 보조 구성요소이다.
레지스터는 데이터 연산을 위해 반드시 필요하지만, 캐시는 버퍼 역할로 있는 것이기 때문에 부가적 요소로 보는 것 같다.
비휘발성 메모리
- 보조기억장치 : HDD, SSD를 일컬으며 비휘발성, 속도 느림, 기억 용량이 많다
이러한 계층을 두고 이야기하는 이유는 경제성과 캐시 때문이다.
속도가 빠르고 값이 비싼 메모리를 CPU 가까운 쪽에 두고,
값이 싸고 용량이 큰 메모리를 반대쪽에 배치하여 적당한 가격으로 빠른 속도와 큰 용량을 동시에 얻기 위함이다.
이를 통해 CPU와 가까운 쪽에 레지스터나 캐시를 배치하여 CPU가 작업을 빨리 진행할 수 있다.
메모리에서 작업한 내용을 하드디스크와 같이 저렴하고 용량이 큰 메모리에 영구적으로 저장할 수 있다.
게임 실행 중에 '로딩 중'과 같은 메시지를 나오는데,
이는 하드 디스크 또는 인터넷에서 데이터를 읽어 메모리 계층에 따라 RAM으로 전송하는 과정이 아직 끝나지 않은 것이다.
참조
- 주홍철, 면접을 위한 CS 전공지식 노트, 길벗(2022)
- 조성호, 쉽게 배우는 운영체제, 한빛아카데미(2018)
- Jay's Blog
'Computer Science > Operating System' 카테고리의 다른 글
[Operating System] 메모리 할당 (1) | 2023.01.28 |
---|---|
[Operating System] 가상 메모리 (2) | 2023.01.28 |
[Operating System] 캐시 (0) | 2023.01.28 |
[Operating System] 컴퓨터의 요소 (0) | 2023.01.27 |
[Operating System] 운영체제 개요 (0) | 2023.01.27 |