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.


Themen - Sannaj

Seiten: [1]
1
OS-Design / Higher Half
« am: 30. October 2013, 22:34 »
Ich würde gerne einen High Half Kernel schreiben. Wie krieg ich dann hin, dass die Addressen dann entsprechend Angepasst werden? Ich meine jetzt nicht, wie setzte ich das Paging auf, sonderen allgemein. Weil wenn ich im Link file andere Angeben mache denkt der Bootloader er müsste den Code wirklich an die hohen Addressen laden.
2
Lowlevel-Coding / Befehl zum Graphikspeicherrefreshen
« am: 27. October 2013, 13:15 »
Muss man im Textmodus dem Computer irgendwie sagen, das man den Graphikspeicher geändert hat, weil bei mir ist es so, das qemu irgentwann einfach aufhört, den Text auszugeben.
3
Mich würde mal interessieren, wie lange genau so verschiedene Syscallvarianten so brauchen. Also Interrupts, CallGates, Sysenter/Sysexit bzw. Syscall/Sysleave.

Weil für mich sehen Call Gates eigentlich ziemlich cool aus.
4
Lowlevel-Coding / Segmentierung im Long Mode
« am: 19. October 2013, 17:08 »
So wie ich weiß kennt der Long Mode ja auch noch den, Compatibility Mode. So weit ich weiß, werden außerdem die Base und Limit Angaben im 64 bit Mode nur noch bei fs,gs unterstützt. Mich würde jetzt mal interessieren, wie das im Compatibility Mode aussieht. Werden da Bases und Limits berücksichtigt.
5
OS-Design / Verrückte Idee
« am: 22. December 2011, 17:34 »
Mir ist grad eine ziemlich verückte Idee gekommen:
Und zwar:
Was haltet ihr davon, wenn ich ein Programm schreibe, das das BIOS und die IVT ausließt und den BIOS Code (Besonders die wichtigen Teile) dann so umschreibt, das er auch im PM läuft (Addresse müssen natürlich relokalisiert werden und Segmentladebefehle werden durch Interrupts ersetzt.)

Was haltet ihr davon?
6
Softwareentwicklung / FAT Versionen expizit unterscheiden
« am: 22. November 2011, 21:08 »
Gibt es eigentlich eine Möglichkeit explizit festlegen zu können, welche FAT Version man verwenden möchte, ohne das von der Plattengröße abhängig machen zu müssen?
7
Das Wiki / Vandalenarlarm
« am: 19. November 2011, 17:05 »
Die Vandalen sind wieder da:
http://www.lowlevel.eu/wiki/Thing_-_local_dating_sites - Seite am besten gegen Wiederanlegen sperren.
8
Offtopic / Registrierung bei OSdev.org
« am: 13. November 2011, 22:25 »
Weiß jemand wie man sich bei OSdev Registriert? Weil irgendwie wollen die meine Mail-Adresse nicht schlucken.
9
Offtopic / Rückgabe von 128bit Datentypen
« am: 30. October 2011, 17:39 »
Da ich ja bekanntlich kein OS sonder einen Compiler plane hab ich mir schon mal über alle Möglichen Dingen Gedanken gemacht. Ein Aspect sind ist die Rückgabe von 128 bit Daten (die mit int128 und Gleitkommazahlen vierfacher Genauigkeit unterstützt werden sollen.)

Bei der Rückgabe solcher Zahlen von Funktionen gibt es folgende Ansprüche
- ecx ist für die Fehlerrückgabe reserviert und mussfreigehalten werden
- Die xmm Register werden nicht Vorrausgesetzt.

Es gibt folgende Möglichkeiten:

edi:esi:edx:eax
        Vorteil: Logische Erweiterung zu 64 bit
   Nachteil: Verletzung der "Nur eax, ecx, edx und der Gleitkomma dürfen verändert werden"-Regel.

st(1):st(0) {64 bit Integer lassen sich sicher in Gleitkommaregister laden.}
   Vorteil: Die Register bleiben frei.
   Nachteil: Daten können quasi nur direkt in den Speicher kopiert werden.

Speicherstelle mit Pointer in eax
   Vorteil: Die Register bleiben frei, Kompatibel zur Übergabe von structs
   Nachteil: Es muss zuerst eine geeignete Speicherstelle reserviert werden.

Ich wollt mal fragen, was ihr da für das beste haltet.
10
Ich hab mich in letzter Zeit gefragt, was eigentlich schwieriger ist, eine Compiler zu bauen, oder ein Betriebssystem zu entwickeln.

Mir persönlich kommt Compilerbau sogar noch schwieriger vor, was sagt ihr dazu?
11
OS-Design / Schnellste Möglichkeit des Syscalls
« am: 11. July 2011, 19:21 »
Im Wiki werden Syscalls zumeist mithilfe eines Interrupt implementiert, seltener auch mit der sysenter/sysextit-Instruktion. Beide Methoden halte ich nicht für das wahre. Interrupts prüfen zu viel Unfug vor der Ausführung. Die sysenter/sysextit-Instruktion hingegen ist auf Intel Plattformen beschränkt und stellt zudem einige Ansprüche. Im Englische Wiki wurden noch die Möglichkeit über die Invalid Opcode Fault und über far Jump aufgeführt. Diese beiden Möglickeiten erscheinen mir schon interessanter.

Darum frage ich mal: Welche Vorteile bieten die beiden Varianten und wie lässt sich die far Jump Version einsetzten? Kennt jemand noch andere Syscall Methoden?
Seiten: [1]

Einloggen