Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Nachrichten - rejooh

Seiten: [1]
1
Das Wiki / Re: Zwei Verständisfragen zu Wikiinhalten
« am: 15. June 2013, 23:21 »
Vielen dank für die schnellen Antworten, damit haben sich beide Fragen erübrigt.
Gute Nacht!
2
Das Wiki / Zwei Verständisfragen zu Wikiinhalten
« am: 15. June 2013, 21:49 »
Zunächst mal einen wunderschönen guten Abend euch allen und ein gigantisches Lob für das Wiki, welches es mir ermöglicht hat, mit der Programmierung meines eigenen kleinen Betriebsystem zu beginnen. Vor Allem der ausführliche Erläuterungsstil der das Tutorial ergänzenden Artikel hat es mir ermöglicht fast jede Zeile nachzuvollziehen und selbstständig einige zusätzliche Features wie das auslesen der aktuellen Zeit der RTC und das verarbeiten von Tastatureingaben einzubauen. Aktuell bin ich dabei Multitasking (Tutorial Teil 6) hinzuzufügen und bin dabei bei folgenden Zeilen hängen geblieben, welche ich mir einfach nicht erklären kann:

        /* Ring-0-Segmentregister */
        .cs  = 0x08,


, sowie:

        /* Ring-3-Segmentregister */
        .cs  = 0x18 | 0x03,
        .ss  = 0x20 | 0x03,


woher kenne ich die Werte, auf welche ich die Segmentregister setzen muss? In der GDT habe ich doch festgelegt, dass alle Basis 0 und Limit 4GB haben. Oder rühren die Werte von einer anderen Quelle, die ich komplett übersehen, überlesen habe.

Meine zweite Frage bezieht sich auf die IDT. Im IDT Artikel sind Werte für die verschiedenen Interrupt Tyen angegeben. Interrupt Gate: 0b110 (0x6), Trap Gate: 0b111 (0x7), sowie Task Gate: 0b101 (0x5). Nutze ich diese allerdings in meiner IDT erhalte ich eine Global Protection Fault. Nach Recherche im Internet und Vergleich mit dem Beispiel Code bin ich neben diesen als 16Bit deklarierten Werten auch auf 32Bit Werte gestoßen: Interrupt Gate: 0xe, Trap Gate: 0xf. Mit diesen funktioniert alles einwandfrei. Jetzt habe ich die Frage, wo liegt der Unterschied?

Ich würde mich freuen wenn jemand meine Fragen beantworten könnte.
rejooh
Seiten: [1]

Einloggen