Xdu-Os-Course-Design
Aufgrund der Auswirkungen von Covid-19 muss die Betriebssystemklasse zu Hause durchgeführt werden. Nach Konvention sollte es im Computerraum durchgeführt werden, da der Computerraum von den Schülern gemildert wurde und relativ stabil sein sollte und der Computerraum im Allgemeinen mit der vom Lehrer bereitgestellten Software übereinstimmt.
Jemand hat diese Kurseinstellung zu Hause mit VMware15 und Ubuntu18.04 abgeschlossen, die er bereits installiert hatte, was mit der Kursvideoversion ernsthaft unvereinbar war. Er trat auf unzählige Fallstricke und installierte sie mehr als zehnmal neu. Jetzt benutze ich meine schmerzhafte Erfahrung, um das Loch für alle zu füllen.
Starten Sie im Moment des Betriebsfehlers einen weiteren Tag . Bevor Sie das $ k $ -Experiment durchführen, setzen Sie bitte das $ i $ Experiment ( $ forall i, i leqslant k $ ) Lesen Sie alle Leitfäden.
Pre-Pre-Experiment und Vorsichtsmaßnahmen!
Es gibt einige kleine Experimente vor dem formalen Experiment. Hier sind einige Vorsichtsmaßnahmen. Wenn Sie es nicht begegnen, bedeutet dies nicht, dass Sie in den nachfolgenden Experimenten nicht begegnen werden:
- Speicher 2-4G (Wenn der Computer häufig eingeschaltet wird, wird empfohlen, dass der Kernel schwarzen Bildschirm hat, der Kernel schwarze Bildschirm boten), 4-6 Kerne, mindestens 35 g für Festplatten (Experten können nicht 35 g haben), Netzwerkbrückenmodus.
- VMware verwendet Versionen 14 und 15, und Ubuntu 18+ Versionen können sich stetig vorwärts bewegen. Die obige Datei enthält einen Ubuntu -Spiegel , und VMware kann sie selbst herunterladen.
- Die Installation von VMware -Tools funktioniert wahrscheinlich nicht. Klicken Sie bitte auf den vorherigen Artikel, um ihn zu verarbeiten.
- VMware -Tools Dragdateien können festgefahren sein. Bitte starten Sie den Kill -Prozess neu. Wiederholen Sie die n -mal und Sie werden immer einmal erfolgreich sein. Denken Sie daran, den Screenshot in den Bericht zu schreiben.
- Wie überträgt ich Dateien, wenn VMware -Tools häufig stecken? Onkel wen wird dorthin gehen;
- VMware ist in "Inside the Wall" langsam und retten Sie sich bitte.
Ein Ort jenseits des Gesetzes Die Download -Geschwindigkeit ist berührt und die Maschine kann eingeben Ein Ort jenseits des Gesetzes Siehe den vorherigen Artikel; - Versäumnis der Wiederherstellung der virtuellen Maschine: Menüleiste -> Datei -> scannen Sie den virtuellen Computer (scannen im Installationspfad Ihrer ursprünglichen virtuellen Maschine);
- Wenn die Festplatte nicht groß genug ist, sehen Sie sich die virtuelle VMware -Maschine an.
Warum nicht die Schulversion verwenden ?
- Ihre Computerumgebung! = Die Computerumgebung der Schule;
- Die von der Schule bereitgestellten Software- und Kernelversionen sind extrem alt, und es gibt keine Garantie für Probleme.
- Wenn Sie teilweise Schulversionen verwenden, machen Sie teilweise nicht-Schule-Versionen Sie normalerweise wütend und schwierig, Ihre Emotionen zu unterdrücken.
Lab1 -Kernel Compilation
Tipps:
Kompilieren Sie den von der Schule bereitgestellten Kernel nicht. Laden Sie die neueste von der offiziellen Website herunter oder verwenden Sie sie von mir im Ordner „Lab1 -Kernel -Kompilierung“ (ansonsten gibt es Inkonsistenzen in der GCC -Version, Kompilierungsfehler usw.). Es wird dringend empfohlen, die 4 -Version auszuwählen (es gibt nicht zu viele Fehler im Vergleich zur unteren Version, und die Vorteile im Vergleich zur 5 -Version werden im zweiten Experiment widerspiegelt).
Es wird empfohlen, das Schulvideo zuerst anzusehen, die Schritte zu verstehen und dann auf den CSDN Tutorial 4 Versionskernel und das CSDN Tutorial 5 -Versionskernel zu verweisen, um die Kernel -Kompilierung zu vervollständigen.
Um 5 Versionen unter Ubuntu in Umwelt 18.04 zu kompilieren:
sudo apt-get install gcc make libncurses5-dev openssl libssl-dev
sudo apt-get install build-essential
sudo apt-get install pkg-config
sudo apt-get install libc6-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install libelf-dev
- Effizienzverbesserungsinstrument : Multi -Thread -Zusammenstellung (vorausgesetzt, Sie haben beim Konfigurieren mehrere Kerne), tun Sie dies bitte bei der Erstellung (wenn 4 Kerne geschrieben sind -J4, wenn X -Kerne geschrieben sind -jy, wobei y ≤ x):
- Warum sehen Sie die Option nicht, wenn Sie den Computer starten: Befolgen Sie die Operation ". Lab1 Kernel Compilation", finden Sie "/etc/Standard", geben Sie Grub ein und zählen Sie die 7. Zeile von oben nach unten grub_timeout_style = versteckt mit # Annotation.
- Warum verschiedene Kerne zusammenstellen?
- Es ist schwierig, die vollständige Arbeit der Schule zu erledigen. Verschiedene Kernel -Versionen haben Bonuspunkte, und die neue Kernelversion ist einfach.
Lab2 -Systemanruf
Tipps:
- Es wird dringend empfohlen, den 4. Versionskernel zur Kompilierung zu verwenden, da die Änderungen der Systemaufrufcode der höheren Version unterschiedlich sind, während es nur wenige Tutorials für die 5. Version gibt.
- Nachdem Sie sich das Schulvideo angesehen haben, sehen Sie sich den Systemanruf an, der auf Ubuntu 18.04 hinzugefügt wurde.
Lab3 Kernel -Modul
Es gibt zwei Teile dieses Experiments. Der erste ist wie folgt, was der Lehrer gesagt hat, und die Hauptsache ist der zweite.
Der größte Vorteil dieses Experiments besteht darin, dass der Kernel nicht kompiliert werden muss.
In den beiden Methoden zum Hinzufügen von Systemaufrufen unter Linux/Ubuntu18.04 (Kernel -Kompilierungsmethode | Modul Addition) und [Verwendung der Kernel -Modulmethode, um einfache Systemaufrufe hinzuzufügen;
HINWEIS: Befolgen Sie zunächst die Blog -Eingabeaufforderungen, um die verfügbare Systemanrufnummer zu finden, die Adresse der Systemanruftabelle über den vom Blog angegebenen Befehl (falls mehrere Tabellenadressen vorhanden sind, den normalsten Namen anzusehen) und stellen Sie sicher, dass Sie den Blog -Code direkt basierend auf dem zuerst ausgeführten Blog -Code ändern.
LAB4 -Gerätetreiber
- Es ist wichtig zu verstehen, was der Lehrer vor dem Start gesagt hat.
- Unlocked_ioctl-Fehler (Warnfehler ist Fehler), int-> Long, beziehen Sie sich auf die Funktionen von IOCTL und Unlock_ioctl, um zu diskutieren;
- Wenn die Funktionsparametertabelle leer ist, denken Sie daran, Leere zu schreiben, manchmal meldet sie auch einen Fehler.
- Ich habe relevante Quellcode nur als Referenz bereitgestellt. Es handelt sich um Informationen wie Name und Schülernummer, und die Variablennamen sind etwas Besonderes, daher muss ich sie mit dem Lehrer schreiben.
- Lab4 ist der Testcode und auch nur als Referenz .