Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
kernel:start [2008/10/13 23:04] dirtyoerti |
kernel:start [2022/09/22 19:58] (aktuell) |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== LowLevel- und Kernelprogrammierung ====== | ====== LowLevel- und Kernelprogrammierung ====== | ||
| - | In diesem Abschnitt des Wikis ist ein Tutorial zum Programieren eines eigenen Kernels zu finden. | + | In diesem Abschnitt des Wikis ist ein Tutorial zum Programmieren eines eigenen Kernels zu finden. |
| Außerdem wird hier mit der Zeit eine Art Informationsdatenbank zu Themen der Kernelprogrammierung entstehen. | Außerdem wird hier mit der Zeit eine Art Informationsdatenbank zu Themen der Kernelprogrammierung entstehen. | ||
| Zeile 7: | Zeile 7: | ||
| Das [[kernel:tut:start|Tutorial ist hier]] zu finden. | Das [[kernel:tut:start|Tutorial ist hier]] zu finden. | ||
| - | Eine [[kernel:index|Indexseite steht dir hier]] zur Verfügung. | + | Es existiert auch eine [[kernel:knowledge:start|Knowledgebase]] in der nach und nach Informationen zu allerlei Gebieten gesammelt werden. |
| + | |||
| + | Eine (noch nicht benutzbare!)[[kernel:index|Indexseite steht dir hier]] zur Verfügung. Es wird noch etwas dauern, bis diese Seite sinnvoll genutzt werden kann. | ||
| Parallel zum Tutorial möchte ich hier auch noch eine kleine Vorstellung meines eigenen Projekts geben. Durch dieses Projekt bin ich an das Wissen gekommen und das Tutorial wird auch nach dem Prinzip meines Kernels aufbauen. | Parallel zum Tutorial möchte ich hier auch noch eine kleine Vorstellung meines eigenen Projekts geben. Durch dieses Projekt bin ich an das Wissen gekommen und das Tutorial wird auch nach dem Prinzip meines Kernels aufbauen. | ||
| - | Die Informationen und das Wissen dazu habe ich ([[http://forum.proggen.org/memberlist.php?mode=viewprofile&u=65|Dirty Oerti]] - [[mailto:daniel@proggen.org|Mail]]) mir beim Programmieren meines eigenen Kernels angeeignet. | ||
| - | Dieser Kernel befindet sich natürlich noch in Entwicklung, wer Interesse daran hat sollte sich den Code aus dem SVN-Repository laden und mich im [[http://forum.proggen.org/viewforum.php?f=56|passenden Brett im Forum]] kontaktieren. | ||
| - | Bei Fragen stehe ich auch gerne zur Verfügung. | ||
| - | SVN: __svn.proggen.org/kernel__ | ||
| + | ---- | ||
| - | |||
| - | =====Grundlegendes zum Tutorial===== | ||
| - | |||
| - | |||
| - | ====Aufbau==== | ||
| - | Die einzelnen Kapitel bauen auf einander auf. Es ist also empfehlenswert, das Tutorial von vorne an zu lesen. | ||
| - | Ich versuche dennoch, die einzelnen Kapitel möglichst allgemein zu halten, sodass man auch ohne genaue Kenntnis der vorherigen Kapitel etwas versteht. Allerdings wird und kann mir das nicht immer gelingen. | ||
| - | |||
| - | Wenn du eine Übersicht möchtest, dann steht dir die [[kernel:index|Übersichtsseite]] zur Verfügung, in der du alle Kapitel der Reihe nach aufgelistet vorfinden wirst. | ||
| - | |||
| - | ====Inhalt==== | ||
| - | Inhaltlich möchte ich sowohl stark auf den theoretischen Teil als auch stark auf den praktischen Teil eingehen. Viel Theorie aus dem Grund, da dieses Tutorial das Wissen über Kernelprogrammierung vemitteln möchte und nicht einfach nur ein Workshop dazu sein möchte. | ||
| - | Viel Praxis, da man manche Sachen einfach am besten mit Codebeispielen erklärt. Außerdem denke ich, dass viel Praxis hilfreich ist, sich in die Thematik einzugewöhnen. | ||
| - | |||
| - | |||
| - | =====Los geht's===== | ||
| - | Damit könnte es eigentlich auch schon losgehen! | ||
| - | |||
| - | Das du eine funktionierende Arbeitsumgebung hast, setze ich vorraus. | ||
| - | |||
| - | Ich compiliere meinen Code auf einem Ubuntu-Linux mit dem gcc.\\ | ||
| - | Für Assembler verwende ich NASM.\\ | ||
| - | Als Linker nehme ich ld.\\ | ||
| - | Den Code selber schreibe ich mit Kate, einem Editor.\\ | ||
| - | Die Codebeispiele sind auf eine solche Arbeitsumgebung angepasst und ich empfehle auch eine solche oder eine ähnliche Arbeitsumgebung. | ||
| - | |||
| - | Fangen wir mit den [[kernel:necessary_utilities|benötigten Werkzeugen]] an! | ||
| - | |||
| - | ---- | ||
| - | **[[kernel:index|<Index>]] | [[kernel:necessary_utilities|<Weiter>]]** | ||