Operationssystem -Designkurs der Wuhan University Hausaufgaben: Reproduktion eines Betriebssystemkernels
Referenz: 30-tägiges hausgemachtes Betriebssystem
Alle Prozesse dieses Experiments und die Probleme in der Mitte, die Prinzipien und Lösungen werden hier aufgezeichnet. Die Aufgaben und Codeinhalte eines jeden Tages werden im entsprechenden Ordner aktualisiert. Das entsprechende Verzeichnis ist nur die endgültige Codedatei, die am Tag abgeschlossen wurde.
Jeder Ordnerinhalt kann direkt ohne zusätzliche Installation ausgeführt und unter dem Windows -Betriebssystem ausgeführt werden
Führen Sie das Programm am Tag {Tag} aus
make -C day{DAY}Zum Beispiel am 10. Tag laufen
make -C day10Löschen Sie die generierte Datei
make -C day{DAY} cleanQEMU wird in meinem Computer Fehler in einer Betriebssimulation des Betriebssystems haben, und es wird eine Ausnahmeunterbrechung am Tag 10 und am Tag11 zum Ausscheiden geben.
Der Tastatureingang von Day7 ist festgefahren und die Eingabe von Buchstaben wird wiederholt und kann in Zukunft nicht unterbrochen werden. Dies ist auf die chinesische Eingangsmethode zurückzuführen. Wenn Sie auf die englische Eingangsmethode wechseln, wenn die Eingabe es lösen kann, tritt diese Situation auf meinem Mitbewohner- und Klassenkamerad -Computer nicht auf. Es erscheint nicht im Win10 -Betriebssystem meiner VMware Virtual Machine, sodass dieser Fehler nicht reproduziert werden kann. Wenn Sie auf diesen Fehler stoßen, können Sie die IMG -Diskette -Dateidatei erstellen und die virtuelle VMware -Maschine importieren. Siehe den Blog von Day1 für verwandte Nutzungsmethoden.
Bitte wechseln Sie bei der Eingabe der Tastatur auf die englische Eingangsmethode, ansonsten treten abnormale Situationen auf.
Tag1
Grundlegender Startbereich
Tag10
Eingabe- und Ausgangspuffer, GDT -IDT, Interrupt -Verarbeitung, Speicherverwaltung, Grafikzeichnung, Mauseingang, Overlay -Verarbeitung
Tag20
Fensteroptimierung, Timer, Interrupt-Verarbeitungsoptimierung, Multi-Task-Prozessplanung, Befehlszeilenfenster, Tastatureingangsoptimierung, Anwendungsausführung, API
Unterstützen Sie Dir Mem Typ CLS Hallo Richtlinie
Tag 30
Grundnutzung
Befehlszeilenbezogene Befehle
DIR: Verzeichnisdatei anzeigen
MEM: Speicher anzeigen und verbleiben
CLS: Inhalt der Konsole löschen
NCST: Verwenden Sie NCST + den folgenden Befehl, um das Programm auszuführen, ohne die Eingabe der aktuellen Konsole zu beeinflussen
Star1: Zeichnen Sie ein wenig (Stern)
Sterne: Zeichnen Sie ein paar Punkte
Walk: Bewegen Sie den Cursor (oben, unten, links und rechts)
Farbe, Color2: Zwei Farbscheiben
Notrec: Ein Nicht-REC-Fenster
Bball: Ein von einer Linie gezogener Kreis
Invader: Eine außerirdische Masturbations -App
Langmode + {Modus}: Sprachmodusumschaltung, Langmode 0 ist der englische Modus, 1 ist der japanische Modus und 2 ist der japanische EUC -Modus
Geben Sie + {Dateiname} ein: Zeigen Sie den Dateiinhalt an (Beachten Sie, dass LangMode, Langmode in verstümmelter Code angezeigt wird, wenn er falsch ist, und versuchen Sie nicht, einige seltsame Formatbilder anzuzeigen).
TView + {Dateiname}: Erstellen Sie ein neues Textfeld, um den Dateiinhalt anzuzeigen
mmmlplay + {Dateiname}: Öffnen Sie den Musikplayer
mmlplay daigo.mmlGView + {Dateiname}: Vorschau des Bildes Vorschau
gview night.bmp
gview fujisan.jpgCalc + {Format}: Taschenrechner
Meine eigene Tastatureingabe scheint ein kleines Problem zu sein, ein bisschen seltsam
Die folgende Abbildung ist eine Funktionsdemonstration
Kursversuche verwandte Informationen