Was bedeutet Gate im Multics-Betriebssystem?

Was bedeutet Gate im Multics-Betriebssystem?

Ich habe das Betriebssystem Multics gelesen. Im Segmentdeskriptorwort (Buch) gibt es einen Teil für die Anzahl der Gates für das Segment. Was bedeutet Gate? Ich weiß, dass der Prozess einen Ring mit höheren Privilegien betreten kann, wenn die Gates dies zulassen (verwenden Sie eines der gültigen Segment-Gates als Eintrittspunkt), aber ich weiß nicht genau, was Gate bedeutet.

Danke.

Antwort1

Ein Gate ist einfach ein speziell deklarierter Einstiegspunkt (in der heutigen Sprache würde ein Einstiegspunkt als Routine, Funktion oder Prozedur bezeichnet werden). Der Compiler oder Assembler generiert zusätzliche Informationen für Einstiegspunkte, die Gates sind. Ein Gate-Einstiegspunkt kann von Code aufgerufen werden, der in einem weniger privilegierten Ring als dem des Gates ausgeführt wird. Nicht-Gate-Einstiegspunkte können nicht von Code aufgerufen werden, der in höher nummerierten (weniger privilegierten) Ringen ausgeführt wird.

Weitere Einzelheiten finden Sie in Abschnitt 8 des AL-39-Handbuchs und in der Beschreibung der Anweisung call6. Hier ein Auszug:

Gates sind Prozeduren, die sich in einem bestimmten Ring befinden und einen kontrollierten Zugriff auf den Ring ermöglichen sollen. Ein Programm, das sich in Ring R befindet, kann einen inneren Ring r nur betreten, indem es eine der Gate-Prozeduren aufruft, die diesem inneren Ring r zugeordnet sind. Gates müssen sorgfältig codiert sein und dürfen keinen Daten vertrauen, die vom Aufrufer in einem weniger privilegierten Ring erstellt oder geändert wurden. Insbesondere müssen Gates alle Argumente validieren, die ihnen vom Aufrufer übergeben werden, um den Schutz eines im inneren Ring befindlichen Segments nicht zu gefährden.

Antwort2

Zu Ihrer Information: Ein sehr ähnlicher Call-Gate-Mechanismus für den Ringübergang, wie er in Multics verwendet wurde, ist auch in allen Intel x86-Systemen verfügbar, die den „geschützten Modus“ unterstützen, also ab 80286.

verwandte Informationen