Lernen Sie die Linux-Systemprogrammierung, indem Sie Projekte ausführen [geschlossen]


7

Ich habe nur eine sehr grundlegende Vorstellung von der Programmierung von Linux-Systemen. Ich habe keine wirklichen Projekte mit Linux-Systemprogrammierung gemacht. In meiner jetzigen Firma arbeite ich als Systemadministrator, interessiere mich aber mehr für die Linux-Systemprogrammierung. Ich möchte einige Projekte selbst durchführen, damit ich diese Projekte in meinen Lebenslauf aufnehmen kann, wenn ich mich bei einem anderen Unternehmen bewerbe. Bitte sagen Sie mir, ob es Projekte gibt, in denen ich mehr über Linux-Systemprogrammierung lernen könnte, indem ich einige echte Programmieraufgaben mache.

Bitte beachten Sie, dass ich nur Erfahrung in der C-Programmierung und nicht in der Linux-Systemprogrammierung habe. Aber ich weiß sehr grundlegende Dinge über die Programmierung von Linux-Systemen.

Vielen Dank.


1
Keine Antwort, aber ich empfehle die APUE2e , um die Unix-API zu lernen
Xenoterracide

Antworten:


8

C ist gut für die Systemprogrammierung. Als Ausgangspunkt können Sie sich die Bücher aus diesen Fragen ansehen . Da die Systemprogrammierung ein weites Feld ist, geben sie Ihnen vielleicht einen Hinweis, wo Sie anfangen könnten.

Das ultimative Projekt wäre definitiv der Linux-Kernel, aber es ist schwer wie Ihr erstes Projekt.

Ein reibungsloserer Zugang zum Feld wäre, einige Befehlszeilenwerkzeuge neu zu schreiben. Nehmen Sie lsoder catein anderes Befehlszeilenprogramm und versuchen Sie, es neu zu schreiben. Beginnen Sie mit den grundlegendsten Funktionen des Befehls, und versuchen Sie dann, im Laufe der Zeit weitere Funktionen hinzuzufügen. Während dieses Prozesses erhalten Sie möglicherweise Ideen, um die vorhandenen Tools zu verbessern oder selbst ein komplett neues zu erstellen.


3
+1 für die Neuimplementierung vorhandener Tools. Das Schreiben einer Shell eignet sich hervorragend zum Lernen - Arbeiten mit Dateien, Gabeln usw.
André Paramés

4

In Ihrem Systemadministrator Art der Arbeit, hat einige Aufgabe , die Sie entweder Sie Puzzle (Wie funktioniert die Arbeit?) Oder reizen Sie (sollten Sie nicht , dass Arbeit besser / schneller?)?

Finden Sie mehrere dieser Aufgaben, identifizieren Sie die grundlegende Funktion, die Sie nicht verstehen oder die Sie irritiert oder verwirrt. Versuchen Sie, die rätselhafte, irritierende oder langsame Funktion in C zu implementieren.

Sie erhalten eine gründlichere Ausbildung, wenn Sie etwas Praktisches haben, das Sie motiviert, und Sie haben einen Haltepunkt. Wenn Sie Ihre grundlegende Funktion in C implementiert haben, können Sie anhalten, bewerten, was Sie getan haben, und dann eine andere Aufgabe auswählen, die Sie immer noch verwirrt oder irritiert. In Anbetracht dessen, was Sie gelernt haben, werden einige Aufgaben jetzt anders aussehen als sie.


1
... und als Nebeneffekt können Sie, sobald Sie an einigen Dingen arbeiten und einige Dinge lernen, die Dinge, die Sie implementiert haben, überarbeiten und dabei mehr lernen. Dies lehrt Sie mehr für sich.
Pryftan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.