반응형

VirtualMemory 2

Page table과 TLB로 이해하는 OS memory 관리

프로그램에서 pointer 값을 출력하면 마치 실제 memory 주소를 직접 보는 것처럼 느껴질 때가 있습니다.하지만 현대 운영체제에서 application이 보는 주소는 대부분 Virtual address입니다.실제 Physical memory의 어느 위치를 쓰는지는 MMU, Page table, 운영체제 memory manager가 함께 결정합니다. Virtual memory는 Process가 독립된 address space를 가진 것처럼 보이게 만드는 모델이고, Page fault는 필요한 page가 현재 Physical memory에 없을 때 운영체제가 개입하는 사건입니다. 이번 글에서는 Virtual memory, Page table, Page fault, TLB가 각각 어떤 역할을 하는지, 그..

CS 2026.07.10

Stack Overflow와 Memory Leak의 차이

C++에서 지역 변수는 stack에 잡히고, new로 만든 객체는 heap에 잡힌다는 설명을 한 번쯤 들어봤을 것입니다.그런데 실무에서 memory 문제를 볼 때는 이 문장만으로 부족합니다.stack overflow, memory leak, dangling pointer, large allocation, recursion, global object 초기화 문제는 모두 Process memory layout을 이해해야 제대로 해석할 수 있습니다. Process memory layout은 프로그램 코드, 전역 데이터, 동적 할당 객체, 함수 호출 정보를 운영체제가 한 Process의 Virtual address space 안에서 어떻게 구분해 관리하는지 보여주는 지도입니다. 이번 글에서는 Text, Data..

CS 2026.07.03
반응형