일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- vue3
- Iperf3
- vue3 통신
- go리플렉션성능
- Golang디자인패턴
- GO부하테스트
- Go성능테스트
- GO벤치마킹
- 대역폭측정하기
- 디자인패턴학습필요성
- Golang부하테스트
- vue3-chartjs
- Golang벤치마킹
- go로드맵
- Golang성능테스트
- Line차트
- GObenchmark
- golang벤치마크
- snoflake
- Vue.js
- Golangbenchmark
- golang uuid
- line챠트
- Go디자인패턴
- pprof
- vue3 axios
- 디자인패컨
- 리플렉션성능
- 챠트그리기
- Go벤치마크
- Today
- Total
import ( "코딩", "행복", "즐거움" )
메모리페이징?? 본문
메모리 페이징은 컴퓨터가 데이터를 관리하는 방식 중 하나로, 이해하기 쉽게 설명하자면, 컴퓨터가 정보를 저장하고 가져오는 방법을 조금 더 효율적으로 만든 것이라고 할 수 있습니다. 이를 책을 읽는 것에 비유하면 이해하기 쉬울 것입니다.

예를 들어, 커다란 책을 읽을 때 우리는 책을 한 페이지씩 넘기며 읽습니다. 이때, 책의 전체 내용을 한 번에 보는 대신에, 필요한 부분만 찾아볼 수 있는 것이죠. 메모리 페이징도 비슷한 원리로 작동합니다.
컴퓨터는 정보를 메모리에 저장합니다. 그러나 메모리는 한정된 크기를 가지고 있기 때문에, 컴퓨터는 데이터를 작은 조각으로 나누어 저장하고 관리합니다. 이 작은 조각들을 '페이지'라고 부릅니다.
프로그램이 실행되면, 컴퓨터는 필요한 페이지만 메모리에 불러옵니다. 이후 프로그램이 다른 데이터에 접근할 필요가 생기면, 컴퓨터는 해당 페이지를 찾아 메모리에 불러옵니다. 이렇게 하면 메모리 공간을 효율적으로 활용할 수 있고, 프로그램 실행 속도도 빨라질 수 있습니다.
간단하게 요약하면, 메모리 페이징은 컴퓨터가 데이터를 작은 조각(페이지)으로 나누어 저장하고 관리하는 방식으로, 이를 통해 메모리 공간을 효율적으로 활용하고 프로그램 실행 속도를 높이는 기술입니다.
메모리 페이징의 구조는 크게 두 가지 주요 요소로 이루어져 있습니다
페이지 (Page)
메모리 페이징에서 데이터는 고정된 크기의 작은 블록으로 나누어집니다.
이 작은 블록들을 '페이지'라고 부릅니다. 페이지는 프로그램이 필요로 하는 데이터를 저장하기 위한 최소 단위입니다. 각 페이지는 메모리에서 연속적인 공간을 차지하며, 일반적으로 4KB, 8KB, 16KB 등의 크기로 설정됩니다.
페이지 테이블 (Page Table)
페이지 테이블은 페이지의 위치 정보를 저장하는 특별한 데이터 구조입니다. 페이지 테이블을 통해 컴퓨터는 가상 메모리 주소를 물리 메모리 주소로 변환할 수 있습니다. 이 과정은 주소 변환 (Address Translation)이라고 불립니다. 페이지 테이블은 주소 변환 과정에서 매우 중요한 역할을 수행하며, 컴퓨터가 빠르게 필요한 페이지를 찾아 메모리에 불러올 수 있게 합니다.
메모리 페이징 구조는 이러한 페이지와 페이지 테이블로 구성되어 있습니다. 프로그램이 실행되면, 필요한 페이지만 메모리에 불러옵니다. 페이지 테이블을 통해 주소 변환을 수행하며, 컴퓨터는 필요한 데이터를 빠르게 찾아 프로그램을 실행할 수 있습니다. 이 과정을 통해 메모리를 효율적으로 활용하고 프로그램의 실행 속도를 높일 수 있습니다.

'기본기' 카테고리의 다른 글
프로세스 메모리 사용 구조와 동작원리 (0) | 2023.03.23 |
---|---|
인덱스의 필요성 (0) | 2023.03.20 |
SSH? Secure Shell (0) | 2023.02.28 |
메모리 패딩? (0) | 2023.02.09 |
CPU 레지스터 (0) | 2023.02.03 |