logo

Linuxのアーキテクチャ

まずは Linux オペレーティング システムの基本的な知識から始めましょう。

Linux オペレーティング システム

オペレーティング システムは、コンピュータ ハードウェアとコンピュータのユーザーの間のインターフェイスとして説明できます。これは、コンピュータ ハードウェアのリソースを処理し、コンピュータ プログラムの基本サービスを容易にするソフトウェアのグループです。

オペレーティング システムは、コンピュータ システム内のシステム ソフトウェアの重要なコンポーネントです。オペレーティング システムの主な目的は、ユーザーが任意のプログラムを便利かつ効率的に実行できるプラットフォームを提供することです。

一方で、 Linux OSはUNIX OSの有名なバージョンの1つです。複数のパーソナル コンピュータ システム ユーザーに低コストまたは無料の OS を提供するために開発されました。驚くべきことに、これは次の機能を含む完全な OS です。 X Window System、Emacsエディタ、 IP/TCP 、GUI (グラフィカルユーザーインターフェース)など

果物はいくつありますか

Linux オペレーティング システムの歴史

1991 年、フィンランドの学生による特定のプロジェクトの開始から Linux の歴史が始まりました。 ライナス・トーバルズ 新しい無料を作成するための OSカーネル 。それ以来、歴史を通じて継続的な開発が行われ、最終的な Linux カーネルが完成しました。

  • Linux は 1991 年にフィンランドの学生 Linus Torvalds によって提案されました。
  • HP-UX ( ヒューレット・パッカード ) 8.0バージョンが公開されました。
  • Hewlett Packard 9.0 バージョンは 1992 年に公開されました。
  • FreeBSD 1.0 バージョンと NetBSD 8 バージョンは 1993 年にリリースされました。
  • Red Hat Linux は 1994 年に提案されました。Caldera は Ransom love と Bryan Sparks によって検出され、NetBSD 1.0 バージョンが公開されました。
  • HP-UX 10.0 バージョンと FreeBSD 2.0 バージョンは 1995 年にリリースされました。
  • Kデスクトップ環境を構築したのは、 マティアス・エトリッヒ 1996年に。
  • HP-UX 11.0 バージョンは 1997 年にリリースされました。
  • IRIX 6.5 バージョン (SGI UNIX の第 5 世代)、Free BSD 3.0 バージョン、および Sun Solaris 7 OS は 1998 年にリリースされました。
  • カルデラシステム プロフェッショナル サービス部門と SCO サーバー ソフトウェア部門との契約は 2000 年にリリースされました。
  • ライナス・トーバルズ2001 年に Linux バージョン 2.4 のソース コードを公開しました。マイクロソフトは 2001 年に Lindows.com に対して商標コレクションを提出しました。
  • リンドウズの名前は 2004 年にリンスパイアに変更されました。
  • 最初の出版物 Ubuntu 2004年に出版されました。
  • openSUSE プロジェクトがコミュニティから無料配布を開始しました。 ノベル 2005年。
  • オラクルは 2006 年に Red Hat ディストリビューションを公開しました。デルは、2007 年に Ubuntu をプリインストールしたラップトップの配布を開始しました。
  • Linux カーネル バージョン 3.0 は 2011 年にリリースされました。
  • Google の Linux ベースの Android は、2013 年の携帯電話の輸出台数に基づいて、スマートフォンの市場シェアの 75% を主張しました。
  • Ubuntu は 2014 年に 2000 万人以上のユーザーを主張しました。

Linuxシステムのアーキテクチャ

Linuxのアーキテクチャ

Linux オペレーティング システムのアーキテクチャには、主に次のコンポーネントが含まれています。 カーネル、システム ライブラリ、ハードウェア層、システム、 そして シェルユーティリティ

1. カーネル:- カーネルは、オペレーティング システムの中核部分の 1 つです。 Linux OS の主要なアクションのそれぞれを担当します。このオペレーティング システムには、異なる種類のモジュールが含まれており、基礎となるハードウェアと直接連携します。カーネルは、低レベルのハードウェアまたはアプリケーション プログラムの詳細をシステムに隠すために必要な抽象化を容易にします。以下に挙げる重要なカーネル タイプがいくつかあります。

  • モノリシックカーネル
  • マイクロカーネル
  • Exo カーネル
  • ハイブリッドカーネル

2. システム ライブラリ:- これらのライブラリは、いくつかの特別な関数として指定できます。これらはオペレーティング システムの機能を実装するために適用され、カーネルのモジュールのコード アクセス権は必要ありません。

3. システムユーティリティプログラム:- 専門的なレベルおよび個別の活動を行う責任があります。

4. ハードウェア層:- Linux オペレーティング システムには、CPU、HDD、RAM などのいくつかの周辺デバイスで構成されるハードウェア層が含まれています。

私のコンピュータの画面はどれくらいの大きさですか

5.シェル:- これはカーネルとユーザーの間のインターフェイスです。カーネルのサービスを利用できるようになります。ユーザーを通じてコマンドを受け取り、カーネルの機能を実行できます。シェルは、さまざまな種類の OS で使用できます。これらのオペレーティング システムは 2 つの異なるタイプに分類されます。 グラフィカルシェル そして コマンドラインシェル

開発者モードを無効にする

グラフィカル ライン シェルはグラフィカル ユーザー インターフェイスを容易にし、コマンド ライン シェルはコマンド ライン インターフェイスを容易にします。したがって、これらのシェルは両方とも操作を実装します。ただし、グラフィカル ユーザー インターフェイス シェルは、コマンド ライン インターフェイス シェルと比べて動作が遅くなります。

これらのシェルにはいくつかの種類があり、次のように分類されます。

  • コーンシェル
  • ボーンシェル
  • Cシェル
  • POSIXシェル

Linux オペレーティング システムの機能

Linux OS の主な機能の一部は次のとおりです。

Linuxのアーキテクチャ
    ポータブル:Linux OS はさまざまなタイプのハードウェアを実行でき、Linux のカーネルはあらゆるタイプのハードウェア環境のインストールをサポートします。オープンソース:Linux オペレーティング システムのソース コードは無料で入手でき、Linux OS の機能を強化するために、いくつかのチームが協力して実行しています。マルチプログラミング:Linux OS はマルチプログラミング システムとして定義できます。これは、複数のアプリケーションを同時に実行できることを意味します。マルチユーザー:Linux OS はマルチユーザー システムとして定義することもできます。これは、複数のユーザーがシステムのリソースを使用できることを意味します。 アプリケーションプログラム、メモリ、 または ラム 同時に。階層型ファイルシステム:Linux OS では、ユーザー ファイルまたはシステム ファイルが配置される一般的なファイル構造が提供されます。安全:Linux OS は、特定のファイルへのアクセス制御、パスワード保護、データ暗号化などのさまざまな認証機能を利用して、ユーザー セキュリティ システムを容易にします。シェル:Linux オペレーティング システムは、独自のインタープリタ プログラムを容易にします。このタイプのプログラムは、オペレーティング システムのコマンドの実行に適用できます。アプリケーションプログラムの呼び出しなど、さまざまなタイプのタスクの実行に適用できます。

Linuxの欠点

Linuxのアーキテクチャ
    ハードウェアドライバー:Linux ユーザーのほとんどは、Linux の使用中に問題に直面します。さまざまなハードウェア会社は、Linux よりも複数のユーザーが含まれる Mac または Windows 用のドライバーを作成することを好みます。 Linux には、Windows よりも周辺ハードウェア用の小さなドライバーが用意されています。代替ソフトウェア:グラフィック編集用の有名なツールである Photoshop の例を見てみましょう。 Photoshop は Windows 用に存在します。ただし、Linux では使用できません。また、写真編集用のツールは他にもいくつかありますが、Photoshop ツールは他のツールと比較してより強力です。もう 1 つの例は、Linux ユーザーには存在しない MS Office です。学習曲線:Linux はあまりユーザーフレンドリーなオペレーティング システムではありません。したがって、多くの初心者にとっては混乱する可能性があります。 Windows を使い始めるのは、多くの初心者にとって効率的かつ簡単です。ただし、Linux の動作を理解するのは複雑です。
    コマンド ライン インターフェイスを理解する必要があり、新しいソフトウェアを見つけるのも少し複雑です。 OS で何らかの問題に直面した場合、解決策を探すのは非常に困難です。また、Linux と比較して、Mac や Windows にはさまざまな専門家がいます。ゲーム:いくつかのゲームは Windows 向けに開発されていますが、残念ながら Linux 向けには開発されていません。 Windowsというプラットフォームが広く使われているからです。そのため、ゲームの開発者は Windows に興味を持っています。

Linux オペレーティング システム アプリケーション

Linux は今日では 10 億ドル規模の企業です。お金、時間、ライセンス料が安く、手頃な価格であるため、世界中で何千もの政府や企業が Linux オペレーティング システムを使用しています。 Linux は、さまざまなタイプの電子デバイス内で使用できます。これらの電子デバイスは、世界中のユーザーが簡単に入手できます。有名な Linux ベースの電子デバイスのいくつかを以下に示します。

  • ヤマハ モーティブ キーボード
  • ボルボ車載ナビゲーションシステム
  • TiVo デジタル ビデオ レコーダー
  • ソニーリーダー
  • ソニー ブラビア テレビ
  • 子供 1 人につき 1 台のラップトップ XO2
  • Motorola MotoRokr EM35 電話機
  • レノボ IdeaPad S9
  • HP ミニ 1000
  • Google Android 開発用電話 1
  • ガーミン Nuvi 860、880、および 5000
  • Dell Inspiron Mini 9 および 12

Linuxディストリビューション

これは、Linux カーネル上のソフトウェアベースのコレクションで構成される OS であり、ディストリビューションには Linux カーネルが含まれていると言えます。サポートするソフトウェアとライブラリです。 Linux ディストリビューションをダウンロードすることで、Linux ベースの OS を入手できます。これらのタイプのディストリビューションは、次のような異なるタイプのデバイスに対して存在します。 パーソナルコンピュータ、組み込み機器 約 600 以上の Linux ディストリビューションが存在しており、有名な Linux ディストリビューションのいくつかを以下に示します。

  • ディーピン
  • OpenSUSE
  • フェドーラ
  • のみ
  • デビアン
  • Ubuntu
  • 小学校
  • リナックスミント
  • マンジャロ
  • MX リナックス

UbuntuとLinuxは違うのでしょうか?

はい。

window と Linux の主な違いは、window はオープンソースで無料の OS および Debian ベースの Linux ディストリビューションであるのに対し、Linux は Linux カーネルに基づいて動作するオープンソース OS の大規模なコレクションであることです。

さらに、Ubuntu は Linux のディストリビューションであり、Linux はコア システムです。 Ubuntu は Canonical Ltd によって統合され、2004 年に公開されました。Linux は Linus Torvalds によって統合され、1991 年に公開されました。

ユーザーモードとカーネルモード

カーネル コンポーネントのコードは、次のような独自の特権モードで実行されます。 カーネルモード すべてのコンピュータ リソースへの完全なアクセスも可能です。このコードは個別のプロセスを示し、個別のアドレス空間で実行され、コンテキスト スイッチを必要としません。したがって、非常に高速かつ効率的です。

SVNチェックアウトとは何ですか

カーネルはすべてのプロセスを実行し、プロセスに対するシステムのさまざまなサービスを容易にします。また、ハードウェアへのプロセスへの安全なアクセスも容易になります。

カーネル モードでの実行に必要のないサポート コードは、システム ライブラリ内にあります。ユーザープログラムやその他のシステムプログラムはユーザーモードで実装されます。

これには、カーネル モードおよびシステム ハードウェアへのアクセスは含まれません。ユーザー ユーティリティ/プログラムは、システム ライブラリを使用してカーネル関数にアクセスし、システムの低レベル タスクを取得します。