아래 동영상을 시청하기 위해서는 구매하기를 진행 하신후,
본인 소유의 구글(gmail.com) 계정으로 로그인 되어 있어야 합니다.
커널연구회 공부모임에 참가하여 월회비를 납부하신 분은 추가적인 구매없이 바로 시청할 수 있습니다.
커널 메모리 소스 분석1(memory 주소 이해)
linux/pgtable.h
linux/pfn.h
asm/pgtable.h
arch/*/include/asm/pgtable.h
linux/mm_types.h
linux/page_table_check.h
linux/mm.h
유투브링크[kstudy 20250705] Kernel Memory Map 설명:
유투브 동영상 링크: https://youtu.be/x38NHGmgp8o
상영시간: 2시간 29분
커널 메모리 소스 분석2-1(memory mapping init flow)
리눅스 커널 메모리 매핑 설정(Init) 흐름:
물리 메모리 정보(주소)를 커널 가상 주소(CPU 논리 주소)로 연결하는 흐름 정리.
[kstudy 20250712-1] 리눅스 커널 메모리 매핑 설정 전체흐름 소개:
유투브 동영상 링크: https://youtu.be/nSo5OwLQleA
상영 시간: 48분
커널 메모리 소스 분석2-2(memory mapping init 소스분석1)
start_kernel()
//arch/x86/kernel/setup.c
setup_arch()
early_reserve_memory() 소스 분석
[kstudy 20250712-2] 리눅스 커널 메모리 매핑 설정 소스 분석1:
유투브 동영상 링크: https://youtu.be/Ss7hTbsZnho
상영 시간: 1시간 4분
커널 메모리 소스 분석3(물리 메모리 정보 수집 소스 분석)
early_reserve_memory():
memblock_reserve(_text, _end) //커널 _text 메모리 공간
memblock_reserve(0, SZ_64K) //BIOS 메모리 공간
early_reserve_initrd() //ramdisk 메모리 공간
reserve_bios_regions() //BIOS 데이터 메모리 공간
trim_snb_memory() //snb 문제 방지 메모리 공간
e820__memory_setup():
e820__memory_setup_default() //BIOS-e820 물리 메모리 주소 수집
e820__print_table() //BIOS-e820 물리 메모리 주소 출력
[kstudy 20250719] 리눅스 커널 물리 메모리 정보 수집:
유투브 동영상 링크: https://youtu.be/GXAjeoMrPcs
상영 시간: 2시간 45분
커널 메모리 소스 분석4(물리주소를 가상 논리 주소로 매핑)
//arch/x86/mm/init.c
init_mem_mapping(start, end) //물리 메모리 주소를 가상(논리) 주소로 매핑
__kernel_physical_mapping_init(start, end)
pgd, p4d, pud, pmd, pte(pages)
//arch/arm64/mm/mmu.c
paging_init()
map_mem(swapper_pg_dir) //물리 메모리 주소를 가상(논리) 주소로 매핑
__map_memblock()
pgd, p4d, pud, pmd, pte(pages)
//arch/riscv/mm/init.c
setup_vm_final()
create_pgd_mapping() //물리 주소를 가상(논리)주소로 매핑
create_pgd_next_mapping()
pgd, p4d, pud, pmd, pte(pages)
[kstudy 20250726] 리눅스 커널 물리주소를 가상(논리)주소로 매핑:
유투브 동영상: https://youtu.be/bs6jpLcbzRc
상영시간: 1시간 38분
공부모임 동영상 강의 (메모리 관리)