ทำไมต้องเลือกโหมดเคอร์เนลแทนที่จะแยกสิทธิพิเศษ


12

การตั้งค่าโหมดเคอร์เนลเป็นเรื่องที่เจ็บปวดมากในตอนแรกที่ใช้งาน Linux แต่ตอนนี้มันยอดเยี่ยมมาก ฉันหมายถึง X ไม่จำเป็นต้องเรียกใช้ในฐานะรูท? ฮาร์ดแวร์ความละเอียดสูงเร่งคอนโซล สิ่งที่เย็น.

ปัญหาคือแพลตฟอร์ม UNIX จำนวนมากไม่มีการตั้งค่าไดรเวอร์เคอร์เนลในโหมดใด ๆ ดังนั้นฮาร์ดแวร์ที่ต้องใช้ KMS จึง จำกัด เฉพาะ Linux เท่านั้น

คำถามของฉัน: ทำไมใช้งานจริงในเคอร์เนล?

หากจำเป็นต้องใช้การเข้าถึงฮาร์ดแวร์เพื่อตั้งค่าความละเอียดของหน้าจอทำไมไม่ใช้ daemon ที่มีสิทธิ์แยกต่างหากหรือ setuid binary ขนาดเล็ก สิ่งนี้จะรักษาความได้เปรียบของการแยกรหัสสิทธิพิเศษและให้เซิร์ฟเวอร์การแสดงผลทำงานแบบผู้ใช้ จำกัด ในขณะที่กำจัดข้อกำหนดพิเศษของไดรเวอร์และทำให้การสนับสนุนข้าม UNIX ง่ายขึ้น ขวา? หรือฉันขาดสิ่งสำคัญที่นี่


นั่นคือแนวคิดเบื้องหลังสถาปัตยกรรมmicrokernel OS
Barmar

ในกรณีนี้ฉันไม่ได้คิดรูปแบบชนิดของเคอร์เนลความสะดวกในการพกพาระหว่างเมล็ดที่แตกต่างกันมากขึ้น
DanL4096

1
KMS ยังถูกใช้งานโดย OpenBSD และ FreeBSD และ Solaris ยังมี KMS ในงานอีกด้วย วิธีนี้เมื่อนักพัฒนาสร้างไดร์เวอร์ที่ใช้งานได้สำหรับ Linux ดังนั้นการสนับสนุนไดร์เวอร์จะไหลไปยังผู้อื่นที่ใช้ KMS
hspaans

1
มันเป็นสิ่งสถาปัตยกรรม การเข้าถึงฮาร์ดแวร์เป็นสิ่งหนึ่งถ้าไม่ใช่ THE งานของเคอร์เนล การแยกการทำงานระหว่างเคอร์เนลและผู้ใช้สเปซนั้นอึดอัดเพราะคุณจะต้องมีสององค์ประกอบที่จริง ๆ แล้วจะทำงานเพียงชิ้นเดียวด้วยอินเทอร์เฟซที่พร่ามัว ในที่สุดคุณจะทำงานภายในโดเมนของเคอร์เนลดังนั้นจึงเป็นกรณีที่ดีสำหรับการวางสิ่งทั้งหมดลงในเคอร์เนล แน่นอนว่าคุณสามารถใช้งานได้ทุกที่ที่คุณต้องการ สถาปัตยกรรมที่แข็งแกร่งนั้นเกี่ยวกับสถาปัตยกรรมและส่วนต่อประสานที่กำหนดไว้อย่างชัดเจน (!) ทุกอย่างสั่นคลอน
Bananguin

1
มีระยะเวลาค่อนข้างนานซึ่งความผิดพลาดหลายประเภทจะออกจากคอนโซลในโหมดที่แปลกประหลาดซึ่ง X ไม่ทำงานอีกต่อไป แต่การเข้าถึงแบบ Conole แบบ TTY นั้นไม่ได้รับการกู้คืนจริง ปัญหาการเร่งความเร็ว IIRC GL และการขัดข้องที่ใช้ในการกระตุ้นสถานการณ์นี้ค่อนข้างบ่อย KMS หมายความว่าเคอร์เนลรู้วิธีแก้ไขปัญหาและกู้คืนสถานะของคอนโซล ส่วนหนึ่งคือการปรับปรุงการใช้งาน ในขณะที่บางคนอาจแย้งว่าเคอร์เนลอาจขอให้ userspace daemon ทำเช่นนี้ แต่ฉันคิดว่ามันอาจจะไม่ได้ผลดีนัก การใส่ไว้ในเคอร์เนลก็หมายความว่าไม่มีปัญหาเรื่องการปิดแหล่งที่มา
James Youngman

คำตอบ:


1

เคอร์เนลจัดการฮาร์ดแวร์เครือข่ายฮาร์ดแวร์เสียงแฟน ๆ และฮาร์ดแวร์อื่น ๆ อยู่แล้วดังนั้นจึงเหมาะสมที่ฮาร์ดแวร์กราฟิกได้รับการจัดการโดยเคอร์เนล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.