1、古い文化を捨て、新たな文化のLinuxコマンドを満たします
Linuxの最初のステップはLinuxに切り替えるには、Windowsから考えて、「ファイルのコマンドライン+」モード
Linuxでは、適切なコマンドは何ですか。通常、ビンやsbinディレクトリ、膨大な量で存在します。コマンド事前にわからない場合の方法を列挙することによって見つけることは困難です。そのため、統一入り口が存在しないこのケースでは、あなたは、いくつかの基本的なコマンドを習得する必要があります。
コマンドラインを見つけたら、入力ボックスを交換する様々な起動パラメータです。
これらのパラメータを記入する方法、
- 一般的なヘルプは-hで表示することができ、あなたは適切な設定項目を見つけることができるようになります
- また、人によってビューの文書を注文することができます
どのようなコマンドラインツール、最終的な構成は、一般的にファイルに分類されます、限り、ファイルが見つかったとして、ファイルがコメントを持って、あなたはまた、子供一人ずつで読むことができます、あなたは基本を構成する方法を知っています。
最初の困難を克服します。この時間は、あなたがそのようないくつかの非常に熟練したコマンドのsedやawkのように、いくつかの非常に美しい景色を見ることができ、正規表現は素晴らしい、柔軟パイプとgrep、強力なbashのです。あなたは鍵が一連の操作を完了するために、バックグラウンドで小さな箱を行うことです、に迅速かつ正確にあなたよりExcelを使用し、そのようないくつかのデータを処理するようにいくつかのことを、行うことを自動化することができます。データを処理している間、あなたはまた、データを処理し、次の朝を報告するために電子メールを送信するために他のもの、夜の真ん中を行うことができ、これは、Excelを行うには非常に困難なことです。
2またはglibcのプログラミングを習得するために、システムを介してコール
コマンドラインツールは、プログラム、他の誰かによって書かれただけのプログラムです。独自のプログラムを書くことができるようにするために、他の誰かによって書かれたプログラムからは、Linuxが動作するプログラムを通じて、これは困難を克服するための第二です。
コード内のLinuxの操作は、直接使用することができますLinuxシステムコールはまた、glibcのライブラリを使用することができます。
Linuxシステムは非常に大きい呼び出して、各機能は、道の呼び出しの着信パラメーター、戻り値、非常に複雑であり、そのためストレスをたくさん持っています。
そこのLinuxオペレーティングシステムの原則の多くを持っている必要がある、またはこれが呼ばれるべき理由を理解することはできません。
ただ、Linuxのプログラミングを学ぶために始めたとき、あなたはそれがコマンドラインよりもはるかに複雑でわかります。
あなたのキャラクターが再び変化するため。
人々がパンを食べて、コマンドラインを使用している場合は、その書き込みコード操作コマンドは、パンをやっている人。シンプルなパンを見ると、それはNプロセスを蒸しすることができますかかる場合があります。また、あなたが通常使用して、簡単なコマンドラインを見つけるだろうが、それが完了するまでにNシステムコールの組み合わせを必要とします。各システムコールは、綿密な調査を実施すべきである場合には、ドキュメントを読んで、実験を行います。
学習の期間の後、あなたはこれらの事を克服します。この時点で、あなたは、オペレーティングシステムの原則に非常に近くなってきた、あなたは風景の別のラウンドを見ることができます。
学ぶために、これらの理論の大学は、あなたが見に戻ってくる、と今の気持ちを持っているために開始されます。
- フォークと呼ばれるプロセスツリー、
- セマフォを呼び出したプロセスの同期メカニズム、
- 回線網のアプリケーション層とトランスポート層、コールソケットを割ます
すべて理解して!
図3は、再びLinuxカーネルを探索します
Linuxを使用して動作するコードを持っている場合、あなたは確かにベールを明らかにして見てほしい何が行われたかを最終的にはシステムコールの後ろに。
コードは、Linux大きすぎるので、コマンドラインおよびプログラムの設計をより有効に利用するのに役立つ次のレベルにあなたのインタビューや開発のレベルを作りますが、ソースコードを直接見てお勧めしませんでしょうコア原則の詳細情報、それがあります迷子やすいです。
最良の方法は、最初にすることです基本原則とプロセスを知るために、Linuxカーネルの仕組みを見てください。
しかし、Linuxカーネルのメカニズムは非常に複雑であり、そしてそれはお互いに関連しています。
例えば、プロセスが読み取りと書き込みのファイルは、ブロック・デバイスを経由したファイルからプロセスを実行するためにコードをロードする必要があり、メモリ協会、関係するメモリマップファイルを割り当てることを実行します。知識は整理して、コントロールに繰り返されます。
しかし、一度克服!あなたは、Linuxがアップクリアするために始めたこの複雑なシステムがあります。
あなたが運転・保守、または開発されているかどうか、あなたはおそらく、後に何が起こったのかを知ることができ、異常の場合には、より正確に問題を見つけます。
Linuxカーネルのメカニズム我々の研究の焦点である、コア最新の4.xベース。
支援学習は、「Linuxカーネルの深い理解を。」を推奨しました
この本は簡潔メインカーネルのメカニズムを説明しています。この本を読んだ後、あなたはLinuxカーネルの全体的な理解を持つことになります。しかし、本の少し古いカーネルのバージョンが、懸念される原理の理解のためには、問題はありません。
4、Linuxカーネルのコードを読んでコア・ロジック・シーンに焦点を当て
この問題の書籍のコア原則を見たとき、多くの場合、理解することは困難であるいくつかの場所では、遭遇した、または同じではありません別のブック、今回はどのようにそれを行うには?非常によく行う実際には、Linuxはオープンソースであるええ、ええ、私たちは、コードが正確である、コードを見ることができます。問題がある場合は、そのコードを見て、方法がある多くの問題を見つけます。
それはカーネルを必要とする場合はまた、必要なときにあなたが仕事で技術の特定の側面に焦点を当てたときに、この時間は、もはや十分なだけの原則を理解するには、このセクションのコードを見てする必要があります。
しかし、オープンソースソフトウェアのコードは確かにかすかな、迷子に見始めて、複雑。ここでのトリックだ、各行が、それはやっていることは明らかでなければならないが、コアロジックと使用のシナリオに焦点を当て、市内のプールの長所と短所をしませもつれないようにコードを読み始めることです。
一度あなたがより明確に把握する必要があり、オペレーティングシステムの原則の斜面を登ります。好きな人は心でパンの小麦粉の処理手順を蒸しています。この時間は、あなたがターゲットにトピックを行うことができるでしょう、あなたが学び、物事は今、大きなブレークスルーを兼ね備えています。
- 研究の仮想化は、我々は、フォーカスKVMを見て
- 研究ネットワーク、カーネルスタック上の集中表情
オススメの「Linuxカーネルのソースコードのシナリオ分析を」
この本は、最大の利点は、シーン解析、可視光、有形、非常に直感的な、唯一の欠点は、カーネルの古いバージョンでの組み合わせです。
5つの実験カスタマイズされたLinuxコンポーネント
これは大きなバケツで、始めるために、カーネルのコードを見てからカーネルのコードを変更します。
Linuxのソースコードなので、多くの場所は既存の実装、カスタマイズ独自のモジュールを参照することができます。
たとえば、ように自分で独自のシステムコールを達成するためのデバイスドライバを実装するか、独自のファイルシステムを実装し、することができます。
戦闘開発のための6
あなたは、操作および保守されている場合は、上記の基本的な動作にのみ馴染みが十分ではありません、本番環境はなおさら制御不能な要因、特に大規模なクラスタの多くを持って、実際の戦闘経験の多数の操作やメンテナンスが来ることで、読書に頼ることはできません。あなたが開発者であれば、カーネルへの軽微な変更は簡単ですが、実際の場面に直面したとき、同時並列、ロックと保護、スケーラビリティとの互換性、様々な要因を考慮することが、あなたはそれを実際のプロジェクトを練習する必要があります。