เกตหมายถึงอะไรในระบบปฏิบัติการ Multics


4

ฉันอ่านระบบปฏิบัติการ Multics ในคำอธิบายส่วน (หนังสือ) มีส่วนหนึ่งสำหรับจำนวนประตูสำหรับส่วน ประตูหมายถึงอะไร ฉันรู้ว่ากระบวนการสามารถป้อนวงแหวนที่มีสิทธิพิเศษสูงกว่าได้ถ้าอนุญาตให้ใช้ (ใช้หนึ่งในเซกเมนต์ที่ถูกต้องเป็นจุดเริ่มต้น) แต่ฉันไม่รู้ว่าเกตหมายความว่าอะไร

ขอบคุณ

คำตอบ:


4

เกทเป็นเพียงจุดเริ่มต้นที่ประกาศเป็นพิเศษ (จุดเข้าจะเรียกว่ารูทีนฟังก์ชั่นหรือโพรซีเดอร์ในภาษาปัจจุบัน) คอมไพเลอร์หรือแอสเซมเบลอร์จะสร้างข้อมูลเพิ่มเติมสำหรับจุดเข้าที่เป็นประตู รหัสเข้าประตูสามารถเรียกได้ด้วยรหัสที่ใช้งานในวงแหวนที่มีสิทธิ์น้อยกว่าของประตู ไม่สามารถเรียกจุดเข้าประตูที่ไม่ใช่จากรหัสที่ทำงานในวงแหวนที่มีหมายเลข (มีสิทธิ์น้อยกว่า) ที่สูงกว่า

ดูส่วนที่ 8 ของคู่มือ AL-39 และคำอธิบายของคำสั่ง call6 สำหรับรายละเอียดเพิ่มเติม นี่คือตัวอย่างข้อมูล:

ประตูเป็นขั้นตอนที่อยู่ในวงแหวนที่กำหนดและมีวัตถุประสงค์เพื่อให้การเข้าถึงแหวนควบคุม โปรแกรมที่อยู่ในวงแหวน R สามารถเข้าสู่วงแหวนภายในได้โดยเรียกหนึ่งในขั้นตอนเกทที่เกี่ยวข้องกับวงแหวนภายในนี้ ประตูจะต้องถูกเข้ารหัสอย่างระมัดระวังและจะต้องไม่เชื่อถือข้อมูลใด ๆ ที่ได้รับการผลิตหรือดัดแปลงโดยผู้โทรในวงแหวนที่มีสิทธิ์น้อยกว่า โดยเฉพาะอย่างยิ่งประตูจะต้องตรวจสอบข้อโต้แย้งทั้งหมดที่ส่งผ่านพวกเขาโดยผู้โทรเพื่อที่จะไม่ประนีประนอมการป้องกันของส่วนใด ๆ ที่อยู่ในวงแหวน


0

FYI ซึ่งเป็นกลไกประตูเข้าออกที่คล้ายกันมากสำหรับการเปลี่ยนเสียงเรียกเข้าที่ใช้ใน Multics นั้นมีอยู่ในระบบ Intel x86 ทุกรุ่นที่รองรับ "โหมดป้องกัน" ดังนั้นตั้งแต่ 80286 เป็นต้นไป

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