Diskussion:Privilegienstufe

aus Wikipedia, der freien Enzyklopädie
Letzter Kommentar: vor 1 Jahr von Y2kbug in Abschnitt Vorschlag: Lemma umbenennen in "Privilegienstufe"
Zur Navigation springen Zur Suche springen

Allgemeinverständnis

[Quelltext bearbeiten]

Welches System verwendet denn mal auch die Ringe 1 und 2...? Linux und windows tun dies ja nicht.

ensteht dadurch nicht ungenutzter speicherbereich, oder ähnliches? oder bekommen programme einfach nur zugesagt: "so, du gehörst jetzt auf den ring 3"?

danke, --Abdull 14:16, 15. Feb 2005 (CET)

Ringe sind Berechtigungslevel für Prozesse und haben nichts direkt mit Speicherbereichen zu tun. Ich kenne kein System, dass alle Ringe auf dem x86 nutzt. Soweit ich weiss, gehört auch nicht direkt ein Prozess zu einem Ring - sondern ein Speicherbereich wird als solcher definiert. Wenn ein Prozess in so einem Bereich abläuft, läuft er halt in diesem Ring. -cljk 16:48, 15. Feb 2005 (CET)
Das Betriebssystem OS/2 ist wohl das einzige, das alle Ringe verwendet(e).
Dass die Ringe auf x86-CPUs "nichts mit Speicherbereichen" zu tun haben, ist falsch. Ein wesentlicher Teil der Prozesstrennung ist die Virtuelle Speicherverwaltung der MMU.
Selbstverständlich gehört "ein Prozess direkt zu einem Ring", da z.B. die Assemblerbefehle IN/OUT/CLI/STI nichts mit Speicher zu tun haben, aber einem Ring-3-Prozess nicht erlaubt sind.
--arilou (Diskussion) 14:41, 24. Jun. 2012 (CEST)Beantworten

OS/2

[Quelltext bearbeiten]
OS/2 benutzt auch Ring 2. Sollten wir das unterbringen? Quelle: [1] --MushroomCloud 00:56, 4. Mär. 2007 (CET)Beantworten
Mir ists jetzt zu aufwändig, das komplett zu lesen - aber wenn du das getan hast, füg doch ruhig ein, zwei Sätze diesbzgl. ein. cljk 13:43, 4. Mär. 2007 (CET)Beantworten

Hardwarezugriff

[Quelltext bearbeiten]

"Da die unprivilegierten Prozesse nicht auf Hardware direkt zugreifen können [...]", das ist so nicht ganz richtig. Eine Addition beispielsweise wird auch direkt auf dem Prozessor ausgeführt und nicht über einen Gate oder Syscall. Das ist die Beschreibung wie sie der Artikel darstellt. [2]
Vielmehr müsste sie aber so sein: [3]
Quellen: www.galileocomputing.de/openbook ich ändere das wenn niemand was dagegen hat --Jungerkrieger89 12:40, 3. Apr. 2008 (CEST)Beantworten

Dass ist ein Missverständnis. Eine Addition o.ä. im Prozessor ist kein "Hardwarezugriff", sondern eine Rechenoperation, welche der Prozessor (ohne externe Hardware) durchführen kann.
Für "Hardwarezugriffe" gibt es spezielle Assemblerbefehle, wie z.B. IN/OUT/CLI/STI, dabei geht es um "externe/angebaute" Hardware, also alles was nicht CPU/Ram/FPU ist: Tastatur, Festplatte, Grafikkarte, Sound(karte), Maus, USB-Anschluss usw.
--arilou (Diskussion) 14:45, 24. Jun. 2012 (CEST)Beantworten
  • Userland wird auf diesen Artikel weitergeleitet. Hier wird mir aber nicht klar, was userland ist... --dStulle 11:16, 31. Okt 2005 (CET)
  • Habe das selbe Problem. Wurde von Userland hierher umgeleitet, habe keine Ahnung, was Userland ist und im Artikel, zu welchem man umgeleitet wird, kommt das Wort "Userland" nicht einmal vor. Kann das mal ein Sachkundiger umbauen? --Steven 13:19, 1. Nov 2005 (CET)
    • Ich hab gerade keine wirklich brauchbaren Quellen zur Hand: Userland ist doch eigentlich nur die Bezeichnung für das Sammelsurium all jener Applikationen, die im Usermode laufen und nur Speicher aus dem Userspace nutzen, oder nicht? --mnh 06:46, 5. Feb 2006 (CET)
      • Versuchts mal mit dem Begriff "user-mode".... Ich denke die beiden sollten äquivalent sein. Das geht aber aus dem Text noch nicht hervor. Hmmm... mal schaun. -cljk 11:07, 5. Feb 2006 (CET)

Hm - im übrigen seh ich grad, dass der Artikel allgemein nicht wirklich gut erklärend wirkt. Ich schau die Tage nochmal nach. cljk 11:09, 5. Feb 2006 (CET)

Der X86er

[Quelltext bearbeiten]
  • Die Priveligierung steht beim x86er im Seitendeskriptor(1bit -> 2 Ebenen) und im Segmentdeskriptor(2bit -> 4 Ebenen) also in der Segmenttabelle und in der Steitentabelle. Welche Privilegierungsmöglichkeit wird denn in aktuellen Systemen genutzt? --Essen-thomas
  • Wie ist das gemeint, daß die MMU das extern prüft? Die MMU sitzt doch im Prozessor. --Essen-thomas


[MMU im Prozessor] ~ erst seit AMD K8 bzw. bei Intel erst ab den Core-i's. Es ist also vergleichsweise neu, dass die MMU im Prozessor selbst steckt... --arilou (Diskussion) 18:33, 29. Apr. 2012 (CEST)Beantworten

Hurd

[Quelltext bearbeiten]

Wie ist das mit Hurd? Verwendet dieser auch nur 2 dieser 4 Ringe (bei x86-Architekturen)?

Dieser Abschnitt kann archiviert werden. arilou (Diskussion) 14:59, 24. Jun. 2012 (CEST)

Kommt ja doch keine Antwort mehr (seit Mitte 2006 unbeantwortet).

Da Hurd plattformunabhängig sein soll und andere Architekturen nur 2 Ringe unterstützen macht es keinen Sinn mehr als 2 Ringe zu nutzen. Also ja, Hurd verwendet auch nur zwei Ringe. --IT-Compiler (Diskussion) 22:45, 6. Mär. 2022 (CET)Beantworten

microkernel

[Quelltext bearbeiten]

laut artikel über microkernel laufen bei ihm die treiber nicht im kernel-modus, sondern im user-modus. die aussage, dass neben dem kernel auch alle treiber im kernel-modus laufen, trifft daher nur auf monolithische kernel zu.

hm, da scheinst du recht zu haben... cljk 21:43, 28. Feb. 2007 (CET)Beantworten
Bei einem monolith. Kernel müssen die Treiber mit im Ring-0 laufen (sind ja einkompiliert), beim Micro-Kernel können sie mit im Ring-0 laufen, müssen aber nicht. --arilou (Diskussion) 15:01, 24. Jun. 2012 (CEST)Beantworten

IA-32 & andere CPU

[Quelltext bearbeiten]

Zitat von der Seite:

"RISC-Prozessoren unterscheiden lediglich 2 Ringe: „system“ und „user“"

Die Unterscheidung in Supervisor (~System) / User, die von Nicht-IA-32 CPUs durchgeführt wird, erfolgt dort wie bei 386+ über die Pagingeinheit der CPU. Privileg Level 0, 1 & 2 zählen zu Supervisor, Privileg Level 3 ist User, bei der Auswertung der Zugriffe auf die Pages. Außer OS/2 nutzen die Betriebssysteme auf IA-32 die Segmentierungseinheit, die die 4 Privileg- stufen verwaltet, nicht, um den Speicher in einzelne Segmente zu teilen, sondern legen einfach ein Flat Memory Model an, das über Paging verwaltet und (mehr oder weniger erfolgreich) den Betriebssystemteil von den Anwendungsprogrammen zu schützen.

Bei dem Artikel frage ich mich: geht es hier um den IA-32 spezifischen Protected Mode (Artikel liest sich zumindest in meinem Augen so) oder um den bei (fast) allen heutigen Prozessoren verbreiteten Schutz über das Seitenverwaltungssystem?

*ahem* Neue Kommentare nach unten. Unterschreiben. Zitate sind wörtliche Wiedergaben. Und es geht hier -- theoretisch -- um den allgemeinen Fall, aber da wir hier eine frei Enzyklopädie sind, entscheiden die Kenntnisse der Nutzer. --MushroomCloud 03:58, 25. Mai 2007 (CEST)Beantworten
Außerdem werden die Ringe nicht nur über Paging unterschieden, sondern auch darüber, ob ein Prozess Hardware-Zugriffe darf - und welche. Das hat mit Virtueller Speicherverwaltung gar nix zu tun. --arilou (Diskussion) 15:06, 24. Jun. 2012 (CEST)Beantworten
Der Grund warum die anderen Betriebssysteme wie bspw. Microsoft Windows oder Linux nicht mehr als 2 Ringe benutzen liegt schlichtweg daran, dass sowohl der Windows NT Kernel als auch der Linux Kernel plattformunabhängig sein soll. Und auf den anderen Architekturen gibt es eben nur 2 Modi, nämlich System und User.
Dass OS/2 nun alle 4 Ringe nutzt ist mir persönlich zwar neu, aber wenn man bedenkt, dass OS/2 ausschließlich nur für den protected Mode fähigen IBM AT mit 286-er Prozessor oder besser entwickelt werden sollten, dann ist diese architekturspezifische Bindung des OS an die verfügbaren 4 Ringe verständlich. --IT-Compiler (Diskussion) 22:43, 6. Mär. 2022 (CET)Beantworten

Userspace

[Quelltext bearbeiten]

Die Seite Userspace verweist hierher. Aber was ist denn nun "Userspace"? --85.180.68.251 06:24, 10. Feb. 2008 (CET)Beantworten

Hi, ich hab dazu gerade ein Referat in der Schule gehört, das sind laut dem Referenten alle Prozesse, die auf das Betriebssystem zugreifen. Aber keine Systemprozesse. (nicht signierter Beitrag von 87.175.76.136 (Diskussion) 20:45, 18. Nov. 2010 (CET)) Beantworten

Lieber 87.175..., das ist deutlich zu kurz gegriffen, da es keinerlei Aspekte von Privilegien/Schutzfunktion beschreibt. --arilou (Diskussion) 15:08, 24. Jun. 2012 (CEST)Beantworten
Dieser Abschnitt kann archiviert werden. arilou (Diskussion) 15:08, 24. Jun. 2012 (CEST)

Assembler-Befehlssätze

[Quelltext bearbeiten]

Interessant wäre welche Befehle in welchen Ringen jeweils erlaubt sind. Bisher fand ich nur allgemeine Auflistungen ohne solch eine Differenzierung.. wäre doch schon wichtig wenn man Assembler programmiert. --Its me mike 02:45, 15. Mär. 2008 (CET)Beantworten

Wesentlich interessanter wäre es noch überhaupt zu wissen, was die einzelnen Ringe dürfen (gerne auch Anfängerfreundlich formuliert). Hier hat der Artikel noch deutliche Schwächen. --FUZxxlD|M|B 22:18, 10. Feb. 2010 (CET)Beantworten
1. Bitte exakter formulieren, welche Schwächen genau der Artikel noch haben soll.
2. Bei den meisten CPU's gibt's nur Kernel-mode(/-ring) und User-mode(/-ring). Kernel-mode-Prozesse dürfen alles, User-mode-Prozesse
  • dürfen keine direkten Hardwarezugriffe (z.B. x86-Assembler-Befehle IN/OUT/CLI/STI) und müssen für Operationen, welche Hardware-Zugriffe benötigen, Betriebssystem-Funktionen aufrufen
  • unterliegen der Virtuellen Arbeitsspeicher Verwaltung, was ihren Adressraum gegen alles andere abgrenzt.
Das seh' ich als verständlich und ausführlich an, oder?
3. Eine Auflistung der Assemblerbefehle ist keine sinnvolle Info in einer Enzyklopädie. Dafür gibt's Programmier-Kurse für Assembler. Außerdem wäre eine solche Liste CPU-spezifisch. Das hier ist ein allgemeiner Artikel. (Auch wenn's ziemlich x86-lastig zugeht.)
--arilou (Diskussion) 15:19, 24. Jun. 2012 (CEST)Beantworten

Abschnitt "Voraussetzung"

[Quelltext bearbeiten]

1. Ich sehe nicht, warum unbedingt eine komplette MMU notwendig sein sollte, um Ringe für Kernel- und User-Mode bieten zu können. Ein simple Schaltung "alles unterhalb 2GB ist User-mode, alles darüber BS" reduziert die MMU auf genau 1 AND-Gatter:

Hardware_Trap := AND( Adress_Bit_32 , Ring_Usermode )

Wenn ein Usermode-Prozess versucht, Speicheradressen mit Bit32-gesetzt anzusprechen, löst diese "MMU" eine Fehlermeldung aus, die den Kontextwechsel zum Kernelmode auslöst. Nicht mal virtueller Speicher ist notwendig, geht auch mit physikalischen Adressen.

2. Ich sehe auch nicht, warum die CPU unbedingt die Fähigkeit haben muss, den letzten Befehl erneut ausführen zu können. Das ist nur notwendig bei virtuellem Speicher, wenn der Prozess in eine Page läuft, die gerade rausgeswappt ist. Ansonsten war der letzte Befehl entweder der Softwareinterrupt um das BS aufzurufen - den will hoffentlich niemand wiederholten - oder es war eine illegale Aktion des Prozesses, z.B. direkt auf Hardware zuzugreifen - dann bricht das BS ihn besser ab.

Keine Notwendigkeit, unbedingt "den letzten Befehl wiederholen zu können".

Soweit ich das sehe, ist der Abschnitt "Voraussetzungen" praktisch komplett für den A****. --arilou (Diskussion) 15:55, 3. Mai 2012 (CEST)Beantworten

Die MMU brauchst du, damit du im 64 Bit Modus auch mehr als 2 GB ansprechen kannst, wenn du für alle Adressen ab 2 GB nämlich alles dicht machen würdest, dann hättest du das gleiche Problem wie damals beim Real Mode wo man nicht mehr als 1 MiB adressieren konnte und was dann entwicklungstechnisch eine Sackgasse war mit unter DOS so negativen Behelfslösungen wie EMS, XMS Speicher und DOS Extendern.
D.h. deine Lösung würde nur auf reinen 32 Bit Betriebssystemen funktionieren, wo es diese Einteilung, alles über 2 GB gehört dem Betriebssystem gibt (wobei das nicht zwingend sein muss, man kann bspw. Windows auch so einstellen, dass man für User Space Prozesse auch bis zu 3 GB zur Verfügung hat), aber es wäre entwicklungstechnisch eine Sackgasse. Mit der MMU fällt dieses Problem weg und die MMU wurde deswegen auch ab dem 386er und dessen Protected Mode eingeführt. --IT-Compiler (Diskussion) 22:36, 6. Mär. 2022 (CET)Beantworten

Umsetzung & Bild

[Quelltext bearbeiten]

Im Abschnitt "Umsetzung" sowie im Bild wird nur Ring-0 als "Kernel" bezeichnet, alles andere als "Userspace". Ich meine mich zu erinnern, dass Ring-0 und Ring-1 als Kernel-Bereich betrachtet werden: Das einzige OS, welches außer Ring-0 und Ring-3 noch die anderen verwendet(e), OS/2, hat afaik den Kernel auf Ring-0, und die Gerätetreiber auf Ring-1, beides als "Kernel mode" bezeichnet. Ring-2 waren dann "privileged applications" und Ring-3 "normal applications".

Da ich's aber nicht mehr ganz sicher weis, überlass' ich den Edit im Artikel lieber einem OS/2-Kenner. --arilou (Diskussion) 14:35, 24. Jun. 2012 (CEST)Beantworten

Unterscheidung Daten und Programmcode

[Quelltext bearbeiten]

Der folgende Satz ist falsch: "Mit der Einführung des AMD64-Opcodes, den auch Intel für einige seiner Prozessoren als Intel 64 übernommen hat, existiert im Speicherseitendeskriptor zusätzlich das NX-Flag (engl. „No eXecution“), das eine Unterscheidung zwischen Daten und Programmcode ermöglicht," Ich habe in der Literatur zum Intel 4004 einen Hinweis gefunden, dass bereits damals eine Unterscheidung zwischen Daten und Programmcode möglich war. Ob die Betriebssysteme das alle unterstützten, kann ich nicht beurteilen. --House1630 (Diskussion) 19:43, 12. Okt. 2013 (CEST)Beantworten

Ich hoffe, du meinst nicht die Segmentierung: da gibt es nämlich auch die Unterscheidung zwischen Code Segment und Data Segment (sowie Extra und Stack, siehe hier).
Andreas 20:20, 12. Okt. 2013 (CEST)Beantworten
Hm, ich meine mich zu erinnern, dass die ersten AMD-64bit-Chips noch ohne NX-Bit rauskamen - oder es war noch deaktiviert. Hat AMD das nicht von Intel übernommen? Bin mir aber nicht sicher.
--arilou (Diskussion) 13:15, 23. Jul. 2018 (CEST)Beantworten

kontextwechsel

[Quelltext bearbeiten]

an der stelle "Jeder Wechsel von einem Ring zum anderen..." Wer oder was wechselt? und warum?, frage ich mich. Könnte das jemand noch ergänzen?(denn ich weis es nicht) (nicht signierter Beitrag von 141.76.119.134 (Diskussion) 22:36, 8. Jul 2015 (CEST))

Einfach den nachfolgenden Absatz nach jenem Satz lesen, da steht's bereits ausführlich.
--arilou (Diskussion)
Hab's noch etwas deutlicher gemacht. --arilou (Diskussion) 15:02, 23. Sep. 2015 (CEST)Beantworten
[Quelltext bearbeiten]

GiftBot (Diskussion) 20:38, 3. Dez. 2015 (CET)Beantworten

Heißt es auf nicht-x86-Architekturen wirklich "ring"?

[Quelltext bearbeiten]

Ich kenne den Begriff "ring" aus der Dokumentation der Intel- und AMD-x86er CPUs. AFAIK benutzen andere Architekturen diese Bezeichnung nicht, sondern unterscheiden nur zwischen "system mode" und "user mode" oder "privileged/unprivileged mode" oder dergleichen, aber nennen dieses Konzept dann nicht "ring". Kann bitte jemand Belege dafür bringen, dass z.B. auf ARM, MIPS oder SPARC auch die Bezeichnung "ring" benutzt wird? Andernfalls gehört der Artikel umgearbeitet (und dann auf x86 beschränkt) oder umbenannt. --RokerHRO (Diskussion) 17:56, 14. Jul. 2018 (CEST)Beantworten

Äh - nö. Jeder WP-Artikel soll möglichst genau einen "echten Gegenstand" zum Thema haben. Es soll nicht zwei gesonderte Artikel zu einer Sache geben, nur weil es für diese Sache zwei verschiedene Begriffe gibt.
Man kann in der Einleitung schreiben: "Bei X- und Y-Architekturen werden innerer und äußerer Ring hingegen 'System mode' und 'User mode' genannt." Und fertig.
Der Artikel trägt im Allgemeinen die gebräuchlichste Bezeichnung als Lemma. (Ob das "Ring" oder "Execution Mode" oder oder oder ist, weis ich nicht. Wenn was anderes als "Ring" verbreiteter ist, dann eben umbenennen.)
--arilou (Diskussion) 13:11, 23. Jul. 2018 (CEST)Beantworten
Okay, da habe ich mich wohl missverständlich ausgedrückt. Tut mir leid.
Der Artikel wirkt so, als sei dieses "4-Ringe-Konzept" generisch (also unabhängig von der konkreten CPU-Architetur). Meines Wissens gibt es dieses Konzept mit den 4 "Ringen" aber nur auf x86, auf keiner anderen CPU-Architektur gibt es derartige 4 Privilegienstufen und auf keiner anderen CPU-Architektur werden die (meist nur 2) Privilegienstufen "Ringe" genannt.
Darum: Entweder jemand bringt einen Beleg, dass es das Konzept von "4 Ringen", wie sie der Artikel beschreibt, auch auf nicht-x86-CPUs existiert, oder aber der Artikel gehört geändert.
Falls es "Ringe" nur auf x86 gibt, können wir diskutieren, ob wir den Artikel so umschreiben, dass dieser Sachverhalt klar herausgestellt wird und wir beschreiben hier dann nur das "4-Ringe-Konzept" von x86-CPUs (und dann gerne auch ausführlicher). Oder wir erweitern ihn und machen ihn generischer und beschreiben auch die Schutzkonzepte/Privilegienstufen von anderen CPU-Architekturen.
--RokerHRO (Diskussion) 09:19, 28. Jan. 2019 (CET)Beantworten
Ähm - hast du den Artikel wirklich gelesen, die aktuelle Fassung? Die ersten 4 Kapitel sind komplett generisch und überhaupt nicht "x86-spezifisch" oder auf ein 4-Ringe-System festgelegt. Darauf wird nur in einem eigenen Kapitel "x86-Prozessor-Systeme" explizit eingegangen - wo's ja wohl auch richtig ist; andere CPUs haben ebenfalls ein eigenes Kapitel, wo deine Frage "Falls es "Ringe" nur auf x86 gibt" direkt beantwortet wird.
Das "erweitern ihn und machen ihn generischer und beschreiben auch die Schutzkonzepte/Privilegienstufen von anderen CPU-Architekturen." ist in den ersten 4 Kapitel bereits erledigt!
--arilou (Diskussion) 15:45, 29. Jan. 2019 (CET)Beantworten
Der Grund warum dich das vermutlich verwirrt liegt vermutlich daran, weil in der x86 Architektur für das Setzen der Privilegsstufen das IOPL Flag im Flagregister genau zwei Bit groß ist. Damit sind 4 Zustände möglich, nämlich 00, 01, 10 und 11. In den anderen Architekturen dürfte es ein vergleichbares Flag geben, dieses wird dort aber nur 1 Bit groß sein, womit nur zwei Zustände und damit nur zwei Privilegsstufen möglich sind, nämlich 0 und 1. In dem Artikel fehlt also die Information zum IOPL Flag, siehe die Diskussion darunter, welches zum Verständnis des Ring Models auf x86 Hardware nötig ist. --IT-Compiler (Diskussion) 22:28, 6. Mär. 2022 (CET)Beantworten

Input/Output Protection Level Flag (IOPL) des Flagregisters

[Quelltext bearbeiten]

Im Artikel fehlt eine Beschreibung des IOPL (en)Flags des Flagregisters, mit dem die CPU überhaupt in die entsprechenden Ring Zustände geschaltet wird. --IT-Compiler (Diskussion) 22:23, 6. Mär. 2022 (CET)Beantworten

Vorschlag: Lemma umbenennen in "Privilegienstufe"

[Quelltext bearbeiten]

Auch im Englischen spricht man heute eher vom privilege level, und eine Art das zu tun sind eben die "Ringe" bei x86. Da der Artikel ja ohnehin dieses Konzept auch prinzipiell für alle Architekturen beschreibt, und sich auch die Ringe bei x86 in den letzten Jahrzehnten geändert haben, sollte man nochmals darüber nachdenken, auch das Lemma dementsprechend in die Moderne zu holen. Nicht?

Ich weiß, das ist ein Follow-Up auf #Heißt es auf nicht-x86-Architekturen wirklich "ring"? Weil ich aber nunmehr konkret Privilegienstufe als Lemma vorschlage, habe ich einen neuen Abschnitt begonnen.

Meinungen dazu? ‣Andreas 13:34, 30. Nov. 2023 (CET)Beantworten

Sofern es eine in deutscher Fachliteratur verbreiteten Begriff dafür gibt (bitte belegen ;-)) , hätte ich nichts dagegen. Die x86-spezifischen "Eigenheiten" werden dann auf ein Kapitel konzentriert, falls dieses zu umfangreich wird, kann man es gerne in einen separaten Artikel "Ring (x86-Architektur)" oder so auslagern. --RokerHRO (Diskussion) 11:53, 4. Dez. 2023 (CET)Beantworten
In der WP:LIB finden sich Fachbücher, beispielsweise (Hervorhebungen von mir):
  • Operating Systems – Betriebssysteme (Bilingual Edition, Englisch/Deutsch), Kapitel 7: Systemaufrufe, Unterkapitel 7.1: Benutzermodus und Kernelmodus (Seite 145): x86-kompatible Prozessoren enthalten vier Privilegienstufen, die auch Ringe heißen …
  • Technische Informatik 3; Grundlagen der PC-Technologie, Kapitel 2: Hauptspeicher- und Prozessverwaltung, Unterkapitel 2.4 Schutzmechanismen, Abschnitt 2.4.1 (Seite 115): Schutzebenen und Zugriffsrechte: Ein typisches System, das alle vier Privileg-Ebenen ausnutzt, ist in Abbildung 2.40 dargestellt. Dies Bild macht auch deutlich, warum man anstelle von Schutzebenen auch von Schutzringen (Protection Rings) spricht.
  • Grundkurs Informatik; Grundlagen und Konzepte für die erfolgreiche IT-Praxis – Eine umfassende, praxisorientierte Einführung:
    • Kapitel 5: Computerhardware und Maschinensprache, Unterkapitel 5.4: Die Funktion einer CPU am Beispiel des M68000, Abschnitt: 5.4.2 Der innere Aufbau der CPU M68000 (Seite 204): User-Mode und Supervisor-Mode – Viele Prozessoren, so auch der Der M68000, können in zwei Betriebsarten verwendet werden: dem User-Mode und dem Supervisor-Mode. Der Supervisor-Mode unterscheidet sich vom User-Mode dadurch, dass eine Reihe von privilegierten Befehlen ausgeführt werden können, die im User-Mode nicht zugänglich sind.
    • Kapitel 8: Betriebssysteme, Unterkapitel 8.6: Betriebssystem-Virtualisierung (Seite 333): Die älteren x86 CPUs … haben zwei wesentliche Betriebsmodi, in denen Prozesse ausgeführt werden können – im Zusammenhang mit x86 wird auch von Ringen gesprochen: Kernel-Modus (Ring 0) und Benutzer-Modus (Ring 3). Die Privilegienstufen Ring 1 und Ring 2 werden selten genutzt ….
  • In der neueren 7. Auflage desselben Buches, heißt es zusätzlich:
    • Kapitel 8: Betriebssysteme, Unterkapitel 8.2: Betriebssystem-Architekturen (Seite 325): Kernel-Modus (Supervisor-Modus) und Benutzermodus – Der Betriebssystemkern wird in einem besonders privilegierten Modus auf der CPU ausgeführt. Dieser privilegierte Modus (Kernel-Modus bzw. Supervisor-Modus, vgl. Abschnitt 5.4) erlaubt dem Kern direkten Zugriff auf alle Betriebsmittel des Systems, wie Hauptspeicher und Peripheriegeräte, sowie alle Daten und Bestandteile des Betriebssystemkerns. Im privilegierten Modus können alle Maschinenbefehle der CPU uneingeschränkt verwendet werden.
  • Konzepte der Betriebssysteme, aus 1989, also ein sehr altes Buch, nennt das Konzept noch Schutzringe:
    • Kapitel 7: Datenschutz, Unterkapitel 7.3: Schutz fur beliebige Objekte im System (Seite 145): In vielen Fallen ist der Aufruf einer Systemfunktion mit einem Wechsel in eine andere Domäne verbunden. Diese Möglichkeit wird von vielen Prozessoren durch ein entsprechendes Schutzkonzept unterstützt. Dabei werden Programme und Daten im System in n Klassen oder Ebenen gruppiert, wobei in der Ebene 0 der Systemkern agiert und Benutzerprogramme normalerweise auf Ebene n – 1 laufen. Da man sich diese Ebenen konzentrisch um den Kern angeordnet denkt, ist dafür auch die Bezeichnung Schutzringe gebräuchlich.
  • Grundkurs Betriebssysteme; Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation, Virtualisierung von 2020 verwendet auch Schutzringe, aber auch privilegierten und unprivilegierten Modus (sowie Benutzer- und Kernelmodus):
    • Kapitel 2: Betriebssystemarchitekturen und Betriebsarten, Unterkapitel 2.1: Zugriffsschutz in Betriebssystemen (Seite 20): Das Betriebssystem wird üblicherweise von den Anwendungen abgeschottet, damit es vor unprivilegierten Zugriffen geschützt ist. … Für diese Zwecke gibt es in der Regel einen privilegierten und einen nicht-­privilegierten Modus. Man spricht in diesem Zusammenhang auch von Benutzer- und Kernelmodus.
Es ist also grundsätzlich beides okay,
  1. Schutzring
  2. Privilegienstufe
Allein schon um Klammerlemmata zu vermeiden, sollte es zumindest in Schutzring umbenannt werden, allerdings heißt dasselbe Konzept eigentlich nur auf der x86-Architektur "Ring", weshalb ich mich eher für Privilegienstufe entschieden hätte. Quellen gibt es schließlich für beides.
Zusätzlich sollte man auch den "User-Mode" und den "Kernel-Mode" durch die Artikel hinweg
  1. Kernelmodus oder Kernel-Modus, privilegierter Modus
  2. Benutzermodus oder Benutzer-Modus, unprivilegierter oder nicht-privilegierter Modus
nennen. Auch das ist belegt.
Dass man überall auch die englische Bezeichnung bei der Erstverwendung erwähnen muss, ist auch klar.
Die zweite Frage, die sich mir stellt, ist die des Numerus beim Lemma: wegen der Singularregel WP:Sing muss es also "Privilegienstufe" oder "Schutzring" heißen, obwohl das Konzept "Privilegienstufen" und "Schutzringe" heißen müsste...
Daher wäre mein Vorschlag, mit den Quellen und den eben angeführten Argumenten: Privilegienstufen.
Andreas 13:00, 4. Dez. 2023 (CET)Beantworten
+1 Der Begriff "Ring" ist m.E. etwas eigentümlich (wie vieles in x86), die Begriffe "Exception Level" von ARM oder "Priviledge Mode" von RISC-V sind da schon deutlich besser. Privilegienstufen eignet sich als Lemma am besten. Man verbannt am besten zudem die x86-Aspekte in einen Unterabschnitt und vermeidet, dass sie sich zu sehr auf den gesamten Artikel ausbreiten, wie es aktuell der Fall ist. Gerade ARM, RISC-V und andere historisch wichtige Architekturen sollten noch genauer beschrieben werden. Kleinesfilmröllchen (Diskussion) 12:15, 13. Dez. 2023 (CET)Beantworten
@Y2kbug habe den Artikel jetzt mal verschoben, eine Überarbeitung des Inhalts ist (auch nach den Anpassungen, die ich gleich vornehme) weiterhin nötig. Kleinesfilmröllchen (Diskussion) 16:14, 14. Dez. 2023 (CET)Beantworten
Danke. ‣Andreas 16:41, 14. Dez. 2023 (CET)Beantworten