Linux の概要
Linux は、Linux カーネル上のオープンソースの Unix に似たオペレーティング システム ベースのファミリーであり、OS カーネルは 1991 年 9 月 17 日に初めて公開されました。 ライナス・トーバルズ 。通常、Linux は Linux ディストリビューションとしてパッケージ化されており、これにはサポート ライブラリ、システム ソフトウェア、カーネルが含まれており、そのうちのいくつかは GNU プロジェクトによって提供されています。いくつかの Linux ディストリビューションではこの用語が使用されています 「リナックス」 タイトルにありますが、Free Software Foundation は 「GNU/Linux」 タイトルは GNU ソフトウェアの必要性に焦点を当てたもので、いくつかの論争を引き起こしました。
有名な Linux ディストリビューションには、Ubuntu、Fedora Linux、Debian があります。Debian は、Xubuntu や Lubuntu など、いくつかの異なる修正とディストリビューションで構成されています。商用ディストリビューションは、SUSE Linux Enterprise および Red Hat Enterprise Linux です。 Linux のデスクトップ ディストリビューションは、Wayland や X11 などのウィンドウ システムと、KDE Plasma や GNOME などのデスクトップ環境です。
- 元々、Linux は Intel x86 アーキテクチャ ベースのパーソナル コンピュータ用に設計されましたが、その後、他のオペレーティング システムよりも多くの環境に移行されてきました。
- 2022 年 5 月現在、Linux ベースの Android がスマートフォン上で制御されているため、Android を含め、Linux はあらゆる汎用オペレーティング システムの中で最大のインストール ベースを持っています。
- ただし、2022 年 11 月の時点で、Linux を使用しているデスクトップ コンピューターはわずか約 2.6% です。
- また、Linux は多くの組み込みシステム、つまり OS が通常ファームウェアに組み込まれ、システムに合わせて非常にカスタマイズされたデバイス上で実行されます。
- これには、宇宙船 (パーサヴィアランス探査車、ドラゴン乗組員カプセル、ファルコン 9 ロケット)、自動車 (トヨタ、ヒュンダイ、メルセデスベンツ、アウディ、テスラ)、テレビ (LG および Samsung スマート TV)、ビデオゲーム機、スマートホームデバイス、自動化制御とルーター。
Linux は、オープンソースとフリー ソフトウェアのコラボレーションの最も優れた例の 1 つです。ソース コードは、GNU GPL (General Public License) などのそれぞれのライセンスの条件に基づいて、誰でも非営利または商業的に配布、変更、使用することができます。たとえば、Linux カーネルは GPLv2 に基づいてライセンスされています。
Linux OSの歴史
Unix ベースのオペレーティング システムは、1969 年に実装および考案されました。 AT&T のベル 米国の Joe Ossanna、Douglas Mcllroy、Dennis Ritchie、Ken Thompson の研究室。 1971 年に初めて公開された Unix は、当時の基本的な慣行と同様に、完全にアセンブリ言語で書かれていました。これは、1973 年にデニス リッチーによって重要な先駆的な方法で C 言語で更新されました。Unix 高水準言語の実装が利用可能になったことにより、別のコンピューター プラットフォームへの移植が容易になりました。
トーバルズ氏は 1990 年代の秋にヘルシンキ大学を訪れた際に Unix コースに登録しました。このコースでは、Ultrix を実行する MicroVAX ミニコンピューターが使用され、必要なテキストの 1 つは、Andrews S. Tanenbaum 著の『Operating Systems: Design and Implementation』でした。教科書には Tanenbaum の MINIX オペレーティング システムのコピーが含まれていました。 Torvalds が最初に Unix にオープンになったのは、このコースと一緒でした。彼は 1991 年にオペレーティング システムに興味を持ち始めました。当時、教育用途のみに限定されていた MINIX ライセンスに不満を抱き、オペレーティング システム カーネルの開発に取り組み始めました。これが最終的に Linux カーネルとなりました。
Torvalds は MINIX 上で Linux カーネル開発を開始し、MINIX 用に書かれたソフトウェアは Linux でも同様に使用されました。その後、Linux が発展し、Linux カーネルの開発が Linux システムに登場しました。また、GNU アプリケーションは、新しい OS で GNU プロジェクトを通じて無料コードを使用することが有益だったので、すべての MINIX コンポーネントを置き換えました。 GNU GPL に基づいてライセンスされたコードは、互換性のあるライセンスまたは同じライセンスに基づいて公開されている限り、他のコンピュータ機能に再適用できます。
Torvalds は、商用配布を禁止する実際のライセンスから GNU GPL への切り替えを開始しました。開発者は Linux カーネルを使用して GNU 要素を開発し、無料で完全に機能するオペレーティング システムを作成しました。
Linux カーネルの主任メンテナは次のとおりです。 グレッグ・クローア・ハートマン その開発を指導するのは誰か。 Free Software Foundation のエグゼクティブ ディレクターは次のとおりです。 ウィリアム・ジョン・サリバン 、これにより GNU コンポーネントがサポートされました。企業や個人はついに非 GNU サードパーティ コンポーネントを開発します。
サードパーティ コンポーネントは幅広い作業内容で構成されており、ユーザー ライブラリとアプリケーション、およびカーネル モジュールの両方が含まれる場合があります。 Linux コミュニティとベンダーは、カーネル、非 GNU コンポーネント、および GNU コンポーネントと追加のパッケージ管理ソフトウェアを Linux ディストリビューションの形式で配布し、組み合わせます。
実稼働環境では、Linux の採用は、愛好家だけが使用するのではなく、1990 年代半ばからスーパーコンピューティング コミュニティで本格的に始まり始めました。そこでは、NASA のような組織が、高価なマシンを Linux を実行する安価な汎用コンピューター クラスターに置き換えることが増え始めました。商用利用は、デスクトップOS市場におけるMicrosoftの独占から逃れるために、Hewlett-Packardに追われたIBMとDellがLinuxサポートを提供し始めたことから始まった。
Linux システムは、組み込みシステムからあらゆるスーパーコンピューターに至るまで、今日のコンピューティングで完全に使用されており、有名な LAMP アプリケーション スタックのようなサーバー インストールでの地位を確保しています。企業や家庭のデスクトップでの Linux ディストリビューションの使用は発展しています。
また、Linux ディストリビューションはネットブック市場でも有名になり、カスタマイズされた Linux ディストリビューションがインストールされた状態で動作するデバイスがいくつかあり、Google はネットブック用に開発した ChromeOS を公開しています。
Linux OSの設計
さまざまなオープンソース開発者は、Linux カーネルが開発されたのではなく、自然選択から進化したことを認めています。 Linux ベースのシステムは互換性のある Unix に似た OS であり、その共通設計の多くは 1970 年代から 1980 年代に Unix で作られた原理に基づいています。このようなシステムは、ファイル システム、周辺機器アクセス、ネットワーキング、およびプロセス制御を管理するモノリシック カーネルである Linux カーネルを適用します。デバイス ドライバーは、カーネルに直接統合されるか、デバイスがアクティブなときにロードされるモジュールとして組み込まれます。
インストールされている Linux システム コンポーネントには次のものが含まれます。
- あ ブートローダー 例: systemd-boot、SYSLINUX、LILO、GNU GRUB。これは、ファームウェアのログインが実行された後、コンピュータの電源がオンになったときにコンピュータによって実行されることによって、Linux カーネルをコンピュータのメイン メモリにロードできるプログラムです。
- アン プログラムに入る 、従来の sysvinit や新しい Upstart、OpenRC、systemd などです。これは、Linux カーネルとプロセス ツリー ルートによって発表される最初のプロセスです。つまり、すべてのプロセスは init から開かれます。ログイン プロンプトやシステム サービス (ターミナル モードかグラフィカル モードかを問わず) などのプロセスを開始します。
- C 標準ライブラリは、標準である GNU C ライブラリを使用するシステム上で C プログラムを実行するために必要です。 uClibc (uClinux 用に開発)、EGLIBC (かつて Debian で使用されていた glibc フォーク)、musl などの代替手段が開発されています。ただし、最初の 2 つは現在メンテナンスされていません。 Android は、として知られる C ライブラリを使用します。 バイオニック 。
- GUI シェルは、デスクトップ システムで最も有名なユーザー インターフェイスであり、Xfce、Pantheon、LXDE、Cinnamon、MATE、GNOME、KDE Plasma などの広範なデスクトップ環境にパッケージ化されていますが、さまざまなユーザー インターフェイスが利用可能です。
- 最も有名なユーザー インターフェイスは、X Window System として知られる概念に基づいて動作しています。 'バツ' 。
- これはネットワークの透過性を提供し、あるシステム上でアクティブなグラフィカル アプリケーションを別のシステム上に表示して、ユーザーがそのアプリケーションと共同作業できるようにします。
- ただし、特定の X Window System 拡張機能はネットワーク上では動作しません。
- 多くの X ディスプレイ サーバーは X.Org Server で利用でき、リファレンス実装が最も有名です。
また、ユーザーインターフェースをシェルと呼びます。これは、組み込みシステムでは通常の、GUI (グラフィカル ユーザー インターフェイス)、CLI (コマンドライン インターフェイス)、または関連ハードウェアに接続されたコントロールのいずれかです。デスクトップ システムのデフォルトのユーザー インターフェイスはグラフィカルです。ただし、CLI はターミナル エミュレータ ウィンドウまたは独立した仮想コンソールで使用できます。
コマンドライン インターフェイス シェルはテキストベースの UI であり、出力と入力の両方にテキストを利用します。主要なシェルは Linux で使用される bash (Bourne-Again Shell) で、元々は GNU プロジェクト用に設計されました。いくつかのユーザーランド部分を含む、Linux のほぼすべての低レベル コンポーネントは、CLI のみを使用します。特に、CLI は遅延または反復的なタスクの自動化と互換性があり、プロセス間通信が非常に簡単になります。
現在、Linux には、ビデオ入力デバイスを処理するための 2 つのカーネル ユーザー空間 API があります。テレビ受信用の DVB API と、ラジオおよびビデオ ストリーム用の V4L2 API です。
このインフラストラクチャは、さまざまなデバイスの多様性と複雑さ、およびそれらの API によって管理される多数の標準と形式のため、他のデバイスにさらに適合するように進化する必要があります。より優れたユーザー空間デバイス ライブラリは、デバイスがサポートするあらゆる形式で動作するユーザー空間アプリケーションを実現するための成功の鍵でもあります。
Linux OSの用途
オープンソース/フリー ソフトウェアに関するいくつかの定量的研究は、信頼性や市場シェアなどのトピックに焦点を当てており、多くの研究では特に Linux を調査しています。 Linux 市場は発展しており、Linux OS 市場規模は 2019 年の 38 億 9 千万ドルと比較して、2027 年までに 19.2% 成長し、156 億 4 千万ドルに達すると予想されています。支持者やアナリストは、連想 Linux の成功はその自由さと低コストのおかげであると考えています。 、信頼性、ベンダーロックインによるセキュリティ。
W3Cook は、上位 1,000,000 の Alexa ドメインを利用した統計を発表しています。これによると、2015 年 5 月の時点で、Web サーバーの 96.55% が Linux を使用し、1.73% が Windows を使用し、1.72% が FreeBSD を使用していると推定されています。
Web サーバーの統計によると、2022 年 5 月の時点で、デスクトップ コンピューターにおける Linux 市場シェアは約 2.5% と推定されています。 Microsoft Windows の市場シェアは約 75.5% ですが、macOS のシェアは約 14.9% です。
Android は Linux カーネルベースのスマートフォン用 OS の主流となっています。 2022 年 7 月時点で、インターネットを利用する世界中のスマートフォンの 71.9% が Android を使用していました。また、Androidはタブレット向けOSとしても有名で、2013年時点でテーブル売上の6割以上を占めています。
Linux は、映画業界で長年にわたって好まれているプラットフォームです。 Linux サーバー上でリリースされた最初の大作映画は 1997 年のタイタニックでした。それ以来、Industrial Light & Magic、Weta Digital、Pixar、DreamWorks Animation などの大手スタジオが Linux に移転しました。
Linux ディストリビューションは、いくつかの国や地方自治体でも人気があります。ケーララ州では、すべての州立高校のシステムで Linux を使用することが義務付けられています。中国は、技術の独立性を達成するために、Loongson プロセッサ ファミリの OS として Linux を独占的に利用しています。
スペインではいくつかの地域で Linux ディストリビューションが統合されており、公的機関や教育機関で広く使用されています。また、ドイツとフランスも Linux の採用に向けた取り組みを進めています。北朝鮮の Red Star OS は、2002 年から開発された Fedora Linux バージョンをベースにしています。
Linux OSの動作
Linux オペレーティング システムは、いくつかのディストリビューションやバリエーションの鍵となる標準設計に従っています。すべての Linux ディストリビューションは Linux カーネルに基づいていますが、次のような要因によって異なる場合があります。
- デバイス ドライバー: リンクされたデバイスの動作を管理するコードを利用します。
- ファイル システム ドライバー。カーネルが個別のファイル システムでどのように動作するかを管理するコードを利用します。
- システム コール。プログラムがカーネルを通じてサービスを要求する方法を管理するコードを利用します。
- Linux カーネルを起動してロードします。
- カーネルは、起動後にすべてのシステム出力と入力を処理します。システムが起動し、プロセスを初期化できます。
- このシステムは、コマンド ライン、ネットワーク サーバー機能、デスクトップ アプリケーション、またはシステム プロセスの起動時に任意のプログラムやアプリケーションによって対話的に入力されるコマンドを含むプロセスに利用できます。
カーネルは、Linux を実行するすべてのシステムに共通して存在するものの 1 つです。 Linux は次のように動作します。
ユーザー エクスペリエンスは、Linux システムの利用方法に応じて大きく異なります。カーネルは、コンパイルの違いや構成の相違はあるもののほぼ同一である場合があります。たとえば、独特のユーザー エクスペリエンスを持つ Linux の使用例をいくつか示します。
Linux をデスクトップ環境で GUI として使用する場合、Linux は GUI ベースのオペレーティング システムとほぼ同じように動作します。アプリケーションやその他の多くのリソースはアイコンを押すことで起動でき、ファイルはトラックパッドやマウスを使用して削除、コピー、移動できます。
Linuxディストリビューション
Linux は、開発開始以来、GNU GPL を作成した Free Software Foundation のコピーレフト条項を受け入れてきました。 GPL では、改変目的で無料で入手したものはすべて自由に配布しなければならないと規定しています。
ディストリビューションまたはディストリビューションとも呼ばれる、何百もの Linux バージョンが利用可能です。通常、ディストリビューションは、特定の目標、対象市場、機能、または理念を定義することで、パックを通じて差別化を図ります。
セキュリティ、ゲーム、デスクトップ、サーバー、または Raspberry Pi システムなどの組み込みデバイスなど、特定のターゲット機能向けに作成されたディストリビューションが多数あります。ほとんどすべての最新のディストリビューションはすぐに使用でき、プリコンパイルされていますが、Gentoo Linux などの他のディストリビューションは、ユーザーがインストール開始時にローカルでコンパイルしてシステム構成を使用できるソース コードで構成されています。
Linux OSの長所と短所
Linux を使用する利点のいくつかを以下に列挙し、説明します。
Linux には次のような欠点があります。