개발 이론(2)
-
pintos VM 메모리 공부
Pintos와 운영체제 메모리 구조 총정리이 글은 운영체제 이론과 Pintos 프로젝트의 구현 내용을 바탕으로, 가상 메모리와 물리 메모리의 구조를 정리합니다. 1. 가상 메모리와 물리 메모리의 차이물리 메모리(Physical Memory): 실제 RAM가상 메모리(Virtual Memory): 프로세스에게 주어진 독립적인 주소 공간운영체제는 가상 주소를 물리 주소로 매핑하기 위해 페이지 테이블을 사용합니다.2. x86-64 기준 가상 주소 공간 구조User space: 0x0000000000000000 ~ 0x00007fffffffffff (128TB)Non-canonical: 0x0000800000000000 ~ 0xffff7fffffffffffKernel space: 0xffff80000000000..
2025.06.02 -
동적할당에 대한 정리
동적 할당이란?컴퓨터 프로그래밍에서 실행 시간 동안 사용할 메모리 공간을 할당하는 것을 이야기합니다.사용이 끝나면 운영체제가 쓸 수 있도록 반납하고, 다음에 요구가 온다면 다시 할당을 받을 수 있습니다.이는 프로그램 실행 전에 메모리 크기를 정하는 정적 메모리 할당과는 반대 개념입니다.실행 시간에 크기가 결정되는 동적 배열이나 리스트는 힙 메모리를 사용하게 되며, C언어에서는 free()를 통해 명시적으로 해제해야 합니다.이를 생략하면 메모리 누수(Memory Leak)의 원인이 됩니다. Java, Python과 같은 언어는 자동 메모리 해제를 지원하지만, 가비지 컬렉션(GC)으로 인해 성능이 저하될 수 있습니다.장점 (유연성과 효율성)유연한 메모리 사용프로그램 실행 중 필요한 만큼만 할당할 수 있어 고..
2025.04.17