Kernel-Framework?
Den Linux-Kernel kann man ja sehr tiefgehend konfigurieren.
Aber gibt es eigentlich auch eine Art Kernel-Framework, bei dem man noch deutlich tiefer ins System eingreifen kann (d.h. bis hin zur Speicher- und Prozessverwaltung)? Sodass man u.a. den Speicherschutz, das Paging, Multihreading (gar Multitasking) abstellen kann oder statt präemptiven auch kooperativen Multitasking einsetzen kann? Ein Framework, mit dem man seine eigene Philosophie in das Betriebssystem einbringen kann, d.h. was nicht zwingend unixod sein braucht, sondern ganz im Sinne des Entwicklers? Das heißt, dass man "auf die Schnelle" ein hochmodernes Betriebssystem wie Linux entwickeln kann, ein Betriebssystem nach seinen ganz eigenen Philosophien oder auch ein so derart einfaches wie DOS.
2 Antworten
Da wirst du keine einfach realisierbare Lösung finden. Im Kernel von Linux ist nicht so ein einfach abschaltbares Multitasking, Paging oder sonst ein System drin, das man einfach mit einem Mausklick umschalten könnte. Der Kernel ist erst mal ein recht komplexes Werk / System, bei dem jedes Teil zum anderen passt und auch passen muss.
Vergleichbar mit einem Uhrwerk. Jedes Zahnrad hat seine eigene, definierte Aufgabe, und muss sich verlassen, dass alle anderen Zahnräder exakt ihre Aufgabe erfüllen. Nimmst du ein Zahnrad raus, dann kannst du nur ein exakt passendes Ersatzteil reinbauen, sonst bleibt die Uhr stehen.
Mal nur als Idee: der DOS-Kernel hatte wenige Kilobytes. Kein Multitasking, keine sonderliche Speicherverwaltung etc.
So ein Linux-kernel sind etliche Megabytes.
Du könntest dir aber mal - das sollte es als OpenSource geben - den Quellcode einer DOS-Variante holen und analysieren.
Nein, ein Framework in der Art gibt es nicht - Wenn Du einen nicht vorhandenen Scheduler willst, dann wirst Du ihn auch implementieren müssen - aber:
statt präemptiven auch kooperativen Multitasking einsetzen
Du kannst ohnehin das preemption model wählen.
Auch sonst kannst Du an vielen Stellen Dinge wählen - Nur weil es einen default gibt, bedeutet das nicht, daß man diesen nutzen muß.
Du kannst wenn Du willst Multiuser-Support ausschalten, oder auch Posix Clocks&Timers.
Die Frage ist dann halt, wie gut Dein Userland noch funktioniert :-D.
Weitere Standardfeatures und Einstellungen hängen an der Auswahl für embedded-systeme.
Allerdings lässt sich natürlich nicht jeder Wunsch erfüllen udn auf Paging oder Multitasking zu verzichten wäre ein so abweichender Entwurf, daß sich das so einfach nicht realisieren lässt.