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.
quelle
Antworten:
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
ls
odercat
ein 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.quelle
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.
quelle