Linuxは何ですか?
Linuxは、以下の4つの部分に分けることができます。
Linuxのカーネル
GNUのツール
グラフィカルなデスクトップ環境
アプリケーションソフトウェア
Linuxシステムのフレームワーク
綿密な問い合わせのLinux カーネル
コアのLinuxシステムでは、カーネルです。必要であればカーネルは、コンピュータシステム上のすべてのハードウェアとソフトウェア、ハードウェアの配布を制御します
そして、ソフトウェアが実行するために必要。
カーネルは、以下の4つの機能があります。
システムメモリ管理
ソフトウェアプログラムマネージャ
ハードウェアのデバイス管理
ファイルシステムの管理
1. システムのメモリ管理
オペレーティングシステムのカーネルの主な機能の1つは、メモリ管理です。物理サーバカーネルだけでなく、経営上の使用可能なメモリが、また、
仮想メモリを作成して管理するには(つまり、実際にメモリには存在しません)。
ハードディスク上の仮想ストレージ空間を介してカーネルメモリは、この領域は、スワップ領域(スワップ領域)と呼ばれています。カーネルにはありません
繰り返し仮想メモリスワップスペースの内容をオフにし、実際の物理メモリとの間。これにより、システムは、それが利用可能な物理メモリより多くのメモリを持っていると思います。
Linuxシステムのメモリマップ
メモリのメモリセル群は、ページ(ページ)と呼ばれるこれらのブロックにより多くのブロックに分割されています。物理メモリまたはスワップ領域内の各カーネルメモリページ。その後、カーネルはディスクに取引されたページ、物理メモリにあるページを示してメモリページテーブルを維持します。
カーネルが使用されているメモリのページを記録し、自動的に(スワップアウト、スワップアウトと呼ばれる)の空き領域を交換するメモリページにアクセスしないように一定の期間をコピーします - 使用可能なメモリがある場合でも。プログラムは、それがメモリページのスワップアウトされたアクセスしたい場合は、カーネルは、スワップ領域から要求されたメモリページを変更し、それのための部屋を作るために、別のメモリページのうち、物理メモリから切り替える必要があります。明らかに、このプロセスは時間がかかり、実行中のプロセスが遅くなります。システム限りは、Linuxを実行しているプログラムメモリページが停止されませんプロセスをスワップアウト実行します。
2. ソフトウェアプログラムマネージャ
Linuxオペレーティングシステムは、プロセスと呼ばれるプログラムを実行します。プロセスがフォアグラウンドで実行することができ、出力が画面上に表示され、それはまた、舞台裏で非表示にするには、バックグラウンドで実行することができます。Linuxカーネルはシステムがシステム上で実行中のすべてのプロセスを管理する方法を制御します。
カーネルは、システム上の他のすべてのプロセスを開始する(initプロセスと呼ばれる)最初のプロセスを作成します。カーネルが起動すると、initプロセスの仮想メモリにロードされます。ブート時にカーネルの他のプロセスは、仮想メモリ内の新しいプロセスへのプロセスで用いられるデータやコードを格納するための特定の領域を割り当てています。
3. ハードウェアのデバイス管理
もう一つのコアの責任は、ハードウェアを管理することです。Linuxシステムは、それを通信するための任意のデバイスを必要とし、カーネルのコードが必要です
これはドライバのコードを追加しました。ドライバコード、アプリケーションとハードウェアデバイスの仲介に対応カーネルとデバイス間のデータ交換を可能にします。デバイスドライバのコードを挿入するためのLinuxカーネルに2つの方法があります。
デバイス・ドライバ・コードのカーネルにコンパイル
挿入デバイスドライバカーネルモジュール
デバイスファイルと呼ばれるハードウェアデバイス特殊ファイルなどのLinuxシステム。デバイスファイルカテゴリの3種類があります。
キャラクタデバイスファイル
ブロックデバイスファイル
ネットワークデバイスファイル
ファイルには、キャラクタデバイスは、データ処理装置の一つだけの文字を処理することができます。モデムやターミナルのほとんどのタイプは、作成されたキャラクタデバイスファイルのとおりです。ブロック・デバイス・ファイルをハードディスク等のたびに処理データを、データの大きなブロックを処理することができる装置です。
デバイスファイルを使用して、ネットワークデバイスは、様々なカードおよび特別なループデバイスを含むデータパケットの送信とデータの受信を、です。このループバックデバイスは、Linuxシステムは、その通信と共通のネットワークプログラミングの契約を使用できます。
システム上の各デバイスのためのLinuxは、ノードと呼ばれる特別なファイルを作成します。そして、すべての通信デバイスは、によって提供され
準備ノードが完了します。各ノードは、そのアイデンティティのためのLinuxカーネルのためのユニークな値を持ちます。値のペアは、メジャー番号とマイナー番号を備えます。同様のデバイスは、マスタデバイスの同じ数に分割されます。デバイスグループ内の特定のマスタ・デバイスを識別するためのマイナーデバイス番号。
4. ファイルシステムの管理
いくつかの他のオペレーティングシステムとは異なり、Linuxカーネルは、ファイルシステムの異なる種類によってハードディスクからのデータの読み書きをサポートしています。除きます
独自のファイルシステム外の多くは、Linuxはまた、読書とで使用されるファイルシステム(Microsoft Windowsなど)他のオペレーティングシステムからのデータの書き込みをサポートしています。カーネルがコンパイル時に使用されるすべてのファイルシステムをサポートしている必要がありましょう。表1-1に、データを読み書きするためのLinuxシステムの標準ファイルシステムを示しています。
すべてのLinuxサーバーのハードディスクへのアクセスは、表1-1ファイルシステムの種類に記載されている1種類にフォーマットする必要があります。
インターフェース、および各ファイルシステムの相互作用として、Linuxカーネルの仮想ファイルシステム(仮想ファイルシステム、VFS)。
これは、ファイルシステムの任意のタイプと通信Linuxカーネルのための標準インタフェースを提供します。各ファイルシステムをマウントして使用されると、VFS情報がメモリにキャッシュされています。
GNUのツール
カーネルによるハードウェアデバイスを制御するために、また、オペレーティングシステムは、このような制御ファイルやプログラムなどの標準機能を実行するためのツールが必要です。
GNUは(GNUはGNUのないUnixの略語である)Unixユーティリティの完全なセットを開発してきましたが、あなたは彼らのコア・システムを実行することはできません。これらのツールは、(オープンソースソフトウェア、OSS)ソフトウェアコンセプト開発中のオープンソースソフトウェアとして知られています。オープンソースソフトウェアの概念は、プログラマがソフトウェアを開発することを可能にする、無料リリース。誰もが、使用しているすべてのライセンス料を支払うことなく自分のシステムに統合されたソフトウェア、またはソフトウェアを変更することができます。ライナスLinuxカーネルとGNUオペレーティングシステムツールは、それが自由のための完全な、機能豊富なオペレーティングシステムを作成し、統合します。
あなたがインターネット上で表示されるLinuxカーネルとLinuxと呼ばれるGNUツールの通常の組み合わせが、しかし、Linuxの純粋主義者の一部は、GNU / Linuxシステムを呼ぶだろう、それによってトリビュートにGNU貢献。
1.コアGNUツール
スラストGNUプロジェクトは、Unixシステム管理者Unixライクな環境のセットを設計することです。目標は、プロジェクトを促しました
移植された多くの一般的なUnixシステムのコマンドラインツール。使用のLinuxシステムのためのツールのこのコアセットは、coreutilsの(コアと呼ばれています
ユーティリティ)パッケージ。
GNUのcoreutilsのパッケージには、3つの部分から構成されています。
ファイルを扱うためのツール
のテキストを操作するためのツール
ツールは、プロセスを管理します
メインツールの三組の各セットには、Linuxのシステム管理者やプログラマ不可欠なツールの数が含まれています。
2.シェル
GNU / Linuxのシェルが特殊なインタラクティブなツールです。これにより、ユーザーは、ファイルシステムおよびLinux上で実行されているファイルシステム内のプログラム、プロセス管理アプローチを開始しています。コアは、シェルコマンドラインプロンプトです。シェルコマンドラインプロンプトの一部は、相互作用の原因です。それはあなたがテキストコマンドを入力し、コマンドを解釈し、カーネルで実行することができます。内部シェルコマンドのセットが含まれ、これらのコマンドは、このようなコピーとして行われ、ファイルを移動し、ファイルの名前を変更し、プログラムには、運転中に終了操作システムを表示することができます。シェルはまた、あなたはそれを起動するためにカーネルプログラム名に渡されます、コマンドラインプロンプトでプログラムの名前を入力することができます。
また、複数の可能シェルは、プログラムの実行などのファイルにコマンド。これらのファイルは、以下のように知られているシェルスクリプト。あなたは、コマンドライン上で任意のコマンドを実行し、実行するコマンドのセットとして、シェルスクリプトに入れることができます。これが容易なものを作成するために一緒に動作するようにいくつかのツールが必要です。
Linuxシステムでは、一般的に利用可能ないくつかのLinuxシェルがあります。別のシェルは異なる特性を持っている、いくつかのスクリプトを作成するより助長している、いくつかは、管理プロセスにより助長しています。すべてのLinuxディストリビューションのデフォルトのシェルはbashシェルです。Bourneシェルの選択肢(作成者の名前の名前) - GNUプロジェクトによって開発されたbashシェルは、標準的なUnixシェルとして扱われます。bashシェルの名前が再びBourneシェルと呼ばれるゲームがプレイされているBourneシェルスペルの単語、です。
いくつかの異なるシェルでの一般的なLinux。
ほとんどのLinuxディストリビューションは、複数のシェルを含むが、彼らはしばしばデフォルトのシェルとしてそれらのいずれかを使用します。お使いのLinuxディストリビューションは、複数のシェルが含まれている場合は、あなたのニーズを満たすことができるかを確認するために、別のシェルをしようとお楽しみください。
Linux ディストリビューション
私たちはリリースと呼ばれるLinuxシステムのパッケージを完了します。存在する可能性があるコンピューティングのさまざまなニーズを満たすために、さまざまなLinuxディストリビューションがあります。ほとんどのディストリビューションは、ビジネスユーザー、マルチメディア愛好家、ソフトウェア開発者や平均的なホームユーザーなど、ユーザーの特定のグループに合わせて調整されています。各カスタムディストリビューションは、オーディオやビデオ編集ソフトウェアのための準備のマルチメディア愛好者などの特定の機能のために必要なサポートパッケージの様々な、ソフトウェア開発者のコンパイラと統合開発環境(IDE)の準備が含まれます。
一般的に3種類に分類別のLinuxディストリビューション:
完全なコアのLinux ディストリビューション
特定の目的のためにリリース
のLiveCDのテストリリース
コアのLinux ディストリビューション
コアのLinuxディストリビューションは、コア、一つ以上のグラフィカルデスクトップ環境だけでなく、ほぼすべてのLinuxアプリケーションを見るために、プリコンパイルが含まれています。これは、ワンストップの完全なLinuxのインストールを提供します。表1-4に、より人気のコアのLinuxディストリビューションの一部を示します。
特殊用途のLinux ディストリビューション
新しいサブグループのLinuxディストリビューションが浮上しています。これらは通常、主流のリリースに基づいていますが、唯一の主流のリリース、特定の目的のためのアプリケーションのごく一部が含まれています。
多くのLinuxディストリビューションは、DebianのLinuxの特定の使用に基づいています。そして、彼らは同じDebianのインストールファイルが、完全なパッケージはDebianシステムのほんの一部を使用します。
LinuxのLiveCDを
比較的新しい現象でLinuxの世界では、ブート可能なLinuxのCDリリースが発生しています。それはあなたがLinuxシステムの種類を見ることができますインストールする必要はありません。最近のほとんどのPCは、むしろ標準のハードディスクから起動するより、CDからブートすることができます。これに基づき、Linuxディストリビューションの数は、の(LinuxのLiveCDのとして知られている)ブート可能なLinuxのCD含むサンプルシステムを作成します。容量制限のシングルCDには、このサンプルでは、完全なLinuxシステムではありませんが、驚きは、あなたがソフトウェアの独自のさまざまなを追加することができるということです。その結果、あなたはCDを経由してPCを起動することができ、およびLinuxディストリビューションを実行することができますハードドライブに何もインストールする必要はありません。
これは、Linuxディストリビューションの様々なめちゃめちゃPCを体験するための優れた方法です。ただ起動することができますCDを挿入!すべてのLinuxソフトウェアは、CDから直接実行されます。あなたは、LinuxのLiveCDのさまざまなをダウンロードし、インターネットから燃え、その後、経験することができます。
LinuxのLiveCDディストリビューション
あなたは、この表でおなじみの顔を見ることができます。多くのLinuxディストリビューションのLinuxのLiveCDのバージョンは、対応する特定の目的を持っています。Ubuntuなど一部のLinuxのLiveCDディストリビューションは、LiveCDのから直接、全体のリリースのインストールを許可します。あなたが好きならそれはハードディスクにインストールされる前に、これはあなたが、このLinuxディストリビューションを体験する最初の、CDから起動することができます。この機能は非常に使いやすいです。
すべての良いもののように、LinuxのLiveCDのは、いくつかの欠点があります。CDからすべてのものにアクセスできますので、アプリケーションは、よりゆっくりと実行され、その後、古い遅いPCとドライブと、それが遅くプラス遅い場合。また、以降のデータは、Linuxシステムへの変更は、再起動後に期限切れになります作るために、CDに書き込むことができません。