3
ขนาดหน่วยความจำสำหรับการดำเนินการเคอร์เนล mmap
ฉันสนใจในวิธีที่ไฟล์ Linux mmaps ในหน่วยความจำหลัก (ในบริบทของฉันมันสำหรับการดำเนินการ แต่ฉันคิดว่ากระบวนการ mmap นั้นเหมือนกันสำหรับการเขียนและการอ่านเช่นกัน) และขนาดที่ใช้ ดังนั้นฉันรู้ว่าลินุกซ์ใช้เพจจิ้งโดยปกติ 4kB Pagesize (ที่เคอร์เนลฉันสามารถหาขนาดนี้ได้ที่ไหน) แต่สิ่งนี้มีความหมายอย่างไรสำหรับหน่วยความจำที่จัดสรรไว้: สมมติว่าคุณมีขนาดไบนารี่ขนาดไม่กี่ไบต์นับได้ว่าเพียง 5812B และคุณรันมัน จะเกิดอะไรขึ้นในเคอร์เนล: มันจัดสรร 2 * 4kB แล้วคัดลอก 5812B ลงในพื้นที่นี้เสียเปล่า> 3KB ของหน่วยความจำหลักในหน้า 2 หรือไม่? มันจะดีถ้าใครรู้ว่าไฟล์ในเคอร์เนลแหล่งที่มีการกำหนดขนาดหน้า คำถามที่สองของฉันก็ง่ายมากฉันเดาว่าฉันถือว่า 5812B เป็นขนาดไฟล์ ถูกต้องขนาดนี้ถูกนำมาจากไอโหนดหรือไม่?