Guillermo Austin Kim
Posts
998 posts[리눅스커널] 메모리 관리: 가상 메모리 기법은 왜 적용할까?
리눅스를 비롯한 대부분 운영체제에서 가상 메모리를 기본 메모리 관리 기법으로 적용합니다. 이번엔 가상 메모리 시스템을 운영 체제에 적용한 이유에 대해 알아봅시다. 대부분 운영체제에서 메모리(RAM)를 탑재합니다. 다음 그림은 가상 메모리 기법을 적용하기 전 상황입니다. [그림] 물리 메모리 종류와 메모리 시스템의 관계 물리 메모리가 A부터 D까지 있습니다. 만약 물리 메모리 타입에 따라 주소 오프셋을 변경하거나 추가 제어를 해야 한다면 시스템 복잡도가 늘어날 수 있습니다. 또한 메모리 시스템을 개발자 입장에서 물리 메모리에 대한 예외 상황을 점검해야 한다면 골치가 아플 것입니다. 하드웨어 관점으로 다양한 메모리 벤더가 있습니다. 삼성, 하이닉스 그리고 도시바를 예를 들 수 있습니다. 이 밖에도 다양한
[LinuxKernel][Debug] T32: How to restore callstack in userspace?
T32: How to restore callstack in userspace? Overview Everytime we attempt to attach target with T32 equipment, we have to use below command to configure mmu setting in ARMv8 architecture(ARM64).//...snipRegister.Set NS 1Data.Set SPR:0x30201 %Quad 0xA3E2D000 // TTBR1_EL1 MMU registerData.Set SPR:0x30202 %Quad 0x00000032B5193519 // TCR_EL1 MMU registerData.Set SPR:0x30A20 %Quad 0x000000FF440C0
[리눅스커널] 메모리 관리: 가상 메모리 기법의 주요 개념 소개
가상 메모리의 주요 개념 소개 가상 메모리의 주요 개념을 다음 그림을 보면서 배워 보겠습니다. [그림 1] 가상주소와 물리주소 및 페이지와의 관계 위 그림과 함께 가상 주소를 물리 주소로 변환하는 실행 흐름을 배워봅시다. 가장 왼쪽에 보이는 주소 맵이 가상 메모리입니다. 가장 윗 부분에 0x0000_0000 주소가 있는데 아랫 방향으로 주소가 커집니다. 가장 아랫 부분은 0FFF0_0000 주소입니다. 즉, 가상 주소 범위는 0x0~0xFFFF_FFFF 이며 전체 크기는 4GB입니다. CPU에서 구동 중인 프로세스가 보는 주소는 가상 주소입니다. 우리가 분석한 모든 커널 함수는 이 가상 물리 메모리 공간에서 실행하는 것입니다. 가상 메모리 박스 오른쪽 화살표를 눈으로 따라가면 주소 변
[라즈베리파이] 라즈비안(Raspbian) 리눅스 커널(LinuxKernel) 전처리 파일 생성하기
전처리 코드 생성해보기 이번 소절에서는 리눅스 커널 빌드 과정에서 전처리 코드 생성 방법을 소개합니다 리눅스 커널 소스 코드를 분석하다 보면 수 많은 매크로를 만납니다. 그런데 이 매크로가 소스 분석의 큰 걸림돌입니다. 리눅스 커널에서 캡슐화와 다형성과 객체지향 방식을 구현하다 보니 매크로로 구현된 코드가 많습니다. 전처리 코드는 이 매크로를 모두 풀어서 표현합니다. 따라서 훨씬 편하게 소스 코드를 분석할 수 있습니다. 리눅스 커널 코드를 분석할 때 전처리 코드를 함께 보시기를 희망합니다. 전처리 코드는 GCC 컴파일 오브젝트를 생성하는 과정에서 추출됩니다. 먼저 리눅스 커널 전체 소스 코드를 전처리 파일로 추출하는 방법을 소개합니다. 01 diff --git a/Makefile b/Makefi
[라즈베리파이] 라즈비안(Raspbian) 리눅스 커널(LinuxKernel) 빌드하기
이번 절에서는 라즈베리파이에서 라즈비안 리눅스 커널 소스 코드를 내려받고 빌드하는 방법을 알아보겠습니다. 필자는 라즈베리파이를 쓸 때 다음 명령어로 root로 변경해 커널 빌드를 합니다.$ sudo su 명령어 입력 과정에서 불필요한 권한 설정을 피하기 위해서입니다. 라즈비안 커널 소스 코드 내려받기 리눅스 커널 소스 코드를 다운로드 받는 방법을 소개합니다. 다음 명령어를 입력하면 라즈비안 최신 커널 소스를 내려 받을 수 있습니다.git clone --depth=3000 위 명령어를 라즈베리파이 터미널에서 입력하면 다음 화면을 볼 수 있습니다.root@raspberrypi:/home/pi/RPi_kernel_src# git clone --depth=3000 into 'linux'...remote



![[1년 전 오늘] 250608 인천 무의도 덕점방파제 바다루어낚시 - 장대, 광어](https://img.zoomtrend.com/2026/06/10/1781084366-20250608122254.jpg)
![[CV] [Comi] '終末のハーレム ファンタジア' (종말의 하렘 판타지아) 17권. 그동안 SAVAN에 무슨 일이 있었던 거냐](https://img.zoomtrend.com/2026/06/10/1781084386-ECA484EBA6ACEC9790.jpg)