Dies ist meine Kursarbeit in den 5. Semester für das Thema "Betriebssysteme" an der Abteilung für Informatik und Technologien der Bauman Moscow State Technical University.
Das Hauptziel ist es, das Prinzip des OS -Kernelbetriebs auf niedrigem Niveau kennenzulernen. Entwickeln Sie als Sequenz minimale C -Bibliotheken für E/A -Aufgaben (z. B. Funktionen wie Putchat, Printf, Get, Scanf) und Speicherverwaltung (Malloc, kostenlos usw.). Schreiben Sie schließlich eine App, die ihre Effizienz demonstriert. Die Kursarbeit wurde in Mark 5/5 bewertet.
Projektgebäude mit Werkzeug. Makefile enthält die gesamte Logik. Hier sind Hauptschritte:
Holen Sie sich die Bilddatei (disk.img) aus der neuesten Version und schreiben Sie sie einfach in einen USB oder führen Sie sie mit X86 -Emulator aus. Für QEMU ist es der folgende Befehl:
spam@eggs: ~ $ sudo qemu-system-i386 -hda disk.imgLinux . Derzeit entwickeln und Tests auf Ubuntu 18.04 LTS Minimal.
Stellen Sie zunächst sicher, dass alle Tools im Abhängigkeitsblock installiert sind. Dann machen Sie Folgendes:
spam@eggs: ~ $ git clone https://github.com/nexterot/develop-os-free
spam@eggs: ~ $ cd develop-os-free
spam@eggs: ~ $ makeBei Fehlern oder nur um das Verzeichnis zu reinigen:
spam@eggs: ~ $ make clean Der folgende Befehl ist auch ein Alias für make clean && make :
spam@eggs: ~ $ make rebuildUm es mit Qemu -Emulator zu testen, rennen Sie:
spam@eggs: ~ $ make run losetup: bin/disk.img: failed to set up loop device: Device or resource busy
Finden Sie geschäftige Schleifengeräte:
spam@eggs: ~ $ losetup -aBearbeiten Sie dann die nächsten Zeilen in Makefile, ändern Sie '/dev/loop2' oder und '/dev/loop3' in jedem kostenlosen Schleifengerät:
loop_first = /dev/loop2
loop_second = /dev/loop3
Endlich tun:
spam@eggs: ~ $ make rebuild
