Operating-system-os-linux
提供:Dev Guides
オペレーティングシステム-Linux
Linuxは、UNIXオペレーティングシステムの一般的なバージョンの1つです。 ソースコードは自由に入手できるため、オープンソースです。 無料で使えます。 Linuxは、UNIXの互換性を考慮して設計されました。 その機能リストは、UNIXの機能リストと非常に似ています。
Linuxシステムのコンポーネント
Linuxオペレーティングシステムには、主に3つのコンポーネントがあります
- カーネル-カーネルはLinuxのコア部分です。 このオペレーティングシステムのすべての主要なアクティビティを担当します。 さまざまなモジュールで構成され、基盤となるハードウェアと直接対話します。 カーネルは、システムまたはアプリケーションプログラムに対して低レベルのハードウェア詳細を隠すために必要な抽象化を提供します。
- システムライブラリ-システムライブラリは、アプリケーションプログラムまたはシステムユーティリティがカーネルの機能にアクセスするための特別な機能またはプログラムです。 これらのライブラリは、オペレーティングシステムのほとんどの機能を実装し、カーネルモジュールのコードアクセス権を必要としません。
- システムユーティリティ-システムユーティリティプログラムは、専門的な個々のレベルのタスクを実行する責任があります。
カーネルモードとユーザーモード
カーネルコンポーネントコードは、*カーネルモード*と呼ばれる特別な特権モードで実行され、コンピューターのすべてのリソースに完全にアクセスできます。 このコードは単一のプロセスを表し、単一のアドレス空間で実行され、コンテキスト切り替えを必要としないため、非常に効率的で高速です。 カーネルは各プロセスを実行し、プロセスにシステムサービスを提供し、プロセスへのハードウェアへの保護されたアクセスを提供します。
カーネルモードで実行する必要のないサポートコードは、システムライブラリにあります。 ユーザープログラムと他のシステムプログラムは、システムハードウェアとカーネルコードにアクセスできない*ユーザーモード*で動作します。 ユーザープログラム/ユーティリティは、システムライブラリを使用してカーネル機能にアクセスし、システムの低レベルタスクを取得します。
基本的な機能
Linuxオペレーティングシステムの重要な機能の一部を次に示します。
- Portable -移植性とは、ソフトウェアが異なる方法のハードウェアで同じように動作できることを意味します。 Linuxカーネルおよびアプリケーションプログラムは、あらゆる種類のハードウェアプラットフォームへのインストールをサポートしています。
- オープンソース-Linuxのソースコードは無料で入手でき、コミュニティベースの開発プロジェクトです。 Linuxオペレーティングシステムの機能を強化するために、複数のチームが共同で作業し、継続的に進化しています。
- マルチユーザー-Linuxはマルチユーザーシステムであり、複数のユーザーが同時にメモリ/RAM/アプリケーションプログラムなどのシステムリソースにアクセスできます。
- マルチプログラミング-Linuxはマルチプログラミングシステムであり、複数のアプリケーションを同時に実行できます。
- 階層ファイルシステム-Linuxは、システムファイル/ユーザーファイルが配置される標準のファイル構造を提供します。
- シェル-Linuxはオペレーティングシステムのコマンドを実行するために使用できる特別なインタープリタープログラムを提供します。 さまざまなタイプの操作を実行したり、アプリケーションプログラムを呼び出したりするために使用できます。 etc.
- セキュリティ-Linuxは、パスワード保護/特定のファイルへのアクセスの制御/データの暗号化などの認証機能を使用してユーザーセキュリティを提供します。
建築
次の図は、Linuxシステムのアーキテクチャを示しています-
Linuxシステムのアーキテクチャは、次の層で構成されています-
- ハードウェア層-ハードウェアはすべての周辺機器(RAM/HDD/CPUなど)で構成されます。
- カーネル-オペレーティングシステムのコアコンポーネントであり、ハードウェアと直接対話し、上位層コンポーネントに低レベルのサービスを提供します。
- Shell -カーネルの機能の複雑さをユーザーから隠すカーネルへのインターフェース。 シェルはユーザーからコマンドを受け取り、カーネルの機能を実行します。
- ユーティリティ-オペレーティングシステムのほとんどの機能をユーザーに提供するユーティリティプログラム。