1
pdflush, kjournald, swapd, interoperate ฯลฯ ทำอย่างไร?
เพิ่งเห็นคำถามที่จุดประกายความคิดนี้ ไม่พบคำตอบจริงๆที่นี่หรือผ่านเครื่อง Google โดยทั่วไปฉันสนใจที่จะรู้ว่าเคอร์เนลสถาปัตยกรรม I / O เป็นชั้น ตัวอย่างเช่นkjournaldส่งไปยังpdflushหรือในทางอื่น ๆ ? ข้อสันนิษฐานของฉันคือpdflush(เป็นแบบทั่วไปสำหรับ I / O ที่เก็บข้อมูลขนาดใหญ่) จะอยู่ในระดับที่ต่ำกว่าและเรียกใช้ SCSI / ATA / คำสั่งใดก็ตามที่จำเป็นในการดำเนินการเขียนจริงและkjournaldจัดการโครงสร้างข้อมูลระบบแฟ้มระดับสูงขึ้นก่อนการเขียน ฉันสามารถดูวิธีอื่น ๆ เช่นกันด้วยการkjournaldเชื่อมต่อโดยตรงกับโครงสร้างข้อมูลของระบบแฟ้มและpdflushตื่นขึ้นมาทุกขณะแล้วเขียนหน้า pagecache สกปรกไปยังอุปกรณ์ผ่านkjournald. อาจเป็นไปได้ว่าทั้งสองไม่โต้ตอบเลยด้วยเหตุผลอื่น โดยทั่วไป:ฉันต้องการวิธีที่จะเห็นภาพ (กราฟหรือเพียงคำอธิบาย) สถาปัตยกรรมพื้นฐานที่ใช้สำหรับการส่ง I / O ไปยังที่เก็บข้อมูลขนาดใหญ่ภายในเคอร์เนลลินุกซ์