만약 그렇다면 주소변환을 안해도 되니 접근이 더 빠른가?
[질문] 근데 커널안에선 물리 메모리 주소로 직접 읽고쓰기 가능함?
ㅇㄹ(rerereq)
2020-03-04 01:04
추천 0
댓글 6
다른 게시글
-
깃허브 갤러리 공식 마스코트 [5][⚠애니짤] 익명(104.238) | 20.03.04추천 2
-
개인플젝 CMakeLists.txt 날림 [6][%] 노이ㄴ(liliilli) | 20.03.04추천 0
-
최초의 인간은 어떻게 생겨났을까 [8][%] 익명(104.238) | 20.03.03추천 8
-
최초의 os는 어떻게 설치되었을까 [11][%] 익명(211.36) | 20.03.03추천 0
-
메모리 할당 os 차원에서 지원하는 거임? [20][%] ㅈㄴㄱㄷ(118.235) | 20.03.03추천 0
-
컴퓨터가 무섭다 [2][⚠애니짤] 익명(ekqkdmlqlc) | 20.03.03추천 0
-
rust move가 메모리 전송이라면 [2][%] 익명(112.216) | 20.03.03추천 0
-
첨에 공부할때 뭐하면서 공부함? [7][%] 익명(106.102) | 20.03.03추천 0
-
(파이썬) 아니 시벨 별 미친 [3][%] ㅇㅇㅇㅇ(114.200) | 20.03.03추천 0
-
자바 개극혐하면서 제트브레인 좋아하는 애들 뭐냐 [5][%] 익명(175.223) | 20.03.03추천 0
링커,로더 때문에 어차피 재배치해야함. 메모리 가상 페이지도 있구
페이징 유닛같은건 하드웨어 회로로 구현되어 있어서 직접 접근은 안되지 않나? 아키텍처마다 다를듯
armv8 같은 경우, 커널 내에 가상메모리=물리메모리+ofs로 유지되는 영역이 있음. 여기 접근하면 사실상 물리메모리에 쓰는 셈이 됨.
하지만 mmu가 한 번 켜지면 주소변환을 건너뛰는 경우는 없음. 그래서 커널 처음 올라갈 때 mmu 켜지기 전에 일단 써먹을 수 있는 메모리 매핑 (=페이지 테이블 엔트리) 만들려고 똥꼬쇼함
그리고 TLB 때문에 많은 경우에 주소 변환은 없을 걸로 예상됨