iamrootbug / iamroot

Iamroot study
0 stars 0 forks source link

2020.09.12.Meeting Sync #6

Open iamrootbug opened 3 years ago

iamrootbug commented 3 years ago

커널 소스 버전

v5.9-rc2

다음주 진도

p166~p.246 (80p)

다다음주 계획

모기향

참고자료 프로그래머 가이드 https://developer.arm.com/documentation/den0024/a/ 레퍼런스 메뉴얼 https://developer.arm.com/documentation/ddi0487/fc/

time schedule

한시간씩 진행 (50분 진행 / 10분 휴식) 15:00 - 18:00 18:00 - 19:00 휴식 19:00 - 21:30 21:30 - 22:00 정리 & 다음주 진도 계획 이번주 진도 p115~163

ch4 :: 5.가상 메모리와 물리 메모리의 연결 및 변환

x86 cr3 register

가상메모리->물리메모리로 변환할 때 필요한 페이지 디렉토리의 시작위치를 저장하고 있습니다. https://stackoverflow.com/questions/23230959/how-to-get-control-register-cr2-value

This instruction can be executed only when the current privilege level is 0.

일반 ring 3 권한에서는 보이지 않는다.

x86-64 virtual address length

64bit가 모두 쓰이지 않는다. 예) i7 - 48bit virtual address https://ascslab.org/courses/ec413/reading/BO-CSPP-R5.pdf

linux shared memory internal (?)

페이지 테이블 엔트리를 공유함으로써 IPC :: shared memory를 구현하지 않을까?? 궁금증이 생겼고 나중에 다시 만나기로... 비슷한 질문 https://stackoverflow.com/questions/17503653/how-does-linux-kernel-implement-shared-memory-between-2-processes/17503877 http://jake.dothome.co.kr/map64/

slub, slob

slub : slab대비 성능향상.

Slab과 다르게 메모리 오버헤드를 줄이기 위해 Slab object 큐 대신 단순히 한 페이지의 slub page를 지정하여 사용한다.

http://jake.dothome.co.kr/slub/

ch5 파일시스템과 가상 파일시스템

ext3 저널링 체크섬 :: Ordered

파일구조 -> 테이블(메타데이터)를 저장한다. 테이블 = inode table. https://se.uzoogom.com/204

VFS

file_operations, inode_operations. 특정 파일시스템에 맞는 함수들을 저장하고 있음. 리눅스 커널에서 말하는 객체지향의 개념이다. https://lwn.net/Articles/444910/ https://lwn.net/Articles/446317/

Page Cache Info

free -m

https://www.thomas-krenn.com/en/wiki/Linux_Page_Cache_Basics