Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> UnixとLinuxのオペレーティングシステムの違いの分析

UnixとLinuxのオペレーティングシステムの違いの分析

  


:UnixとLinuxのオペレーティングシステムの違いの分析、Un​​ixとLinuxのオペレーティングシステムは同じオペレーティングシステムですか?はい、いいえ。おそらくこの答えは矛盾する点がありますが、それはより合理的な答えです。以下の記事で、作者はUnixとLinuxの2つのオペレーティングシステムの違いを分析します。このトピックに興味があるなら、著者のフォローアップ記事に注意を払ってください。


まず、UnixとLinuxのオペレーティングシステムのソースコードが異なります。

UnixとLinuxには同じコマンドがたくさんありますが、それらのソースコードは異なります。つまり、Linuxオペレーティングシステムの開発プロセスでは、多くのUnixシステム設計概念が採用され、UnixオペレーティングシステムのPOSIX仕様に準拠しています。ただし、Unixオペレーティングシステムのソースコードを使用せず、Unixオペレーティングシステムを使用しません。この観点から、この2つは異なるオペレーティングシステムです。

現在、Unixオペレーティングシステムは商品化されており、そのソースコードは保護されています。これは、いかなるソーシャルグループや個人も、Unixオペレーティングシステムのソースコードを盗用または恣意的に改変することができないことを意味します。クルマを開発するというコンセプトでは、ソースコードは書き直されているので、著作権に制限はありません。個人であろうとビジネスグループであろうと、特定の仕様に従う限り、Linuxのソースコードを変更またはコピーすることができます。著作権の問題はありません。したがって、Linuxオペレーティングシステムは真のオープンソースオペレーティングシステムです。

次に、UnixとLinuxは同じシステムコールを使用しているため、これは同じオペレーティングシステムです。

Unixは現在まで発展しており、多くのバージョンがあります。 BSDやHP-Uinxオペレーティングシステムなど。それらはすべてUnixオペレーティングシステムです。なぜあなたはこれを言うのですか?それは彼らのソースコードの起源が同じであるということではなく、彼ら全員が同じシステムコールを使用するということです。 Unixオペレーティングシステムでは、最も優れた機能はコマンドによる関連操作の完了です。 Unixシステムでは、1000以上のコマンドがあります。しかし、驚くべきことに、非常に多くのコマンドが、システムコールと呼ばれるいくつかの関数呼び出しを介してシステムカーネルと通信するということです。

これはオフィスビルのようなもので、ドアの前面と背面は2つしかありません。しかし、この2つの門に通じる道は何百もあります。その後、各アプリケーションはこれら2つのドアの通信規則に従うだけでよく、オフィスの内部スタッフと通信できます。たとえば、UNIXカーネルには、主に関連情報をファイルに保存するためのWrite関数があります。多くのアプリケーションは、テキスト処理ファイル、データベースシステムなど、ハードディスク上のファイルに情報を保存する必要があります。ただし、これらのアプリケーションシステムは最終的にWrite関数を呼び出して情報をファイルに保存するため、これらのアプリケーション開発者はWrite関数を理解するだけでよく、ファイルをハードディスクに正常に保存できます。これは、誰もが同じシステムコールを使用しているためであり、アプリケーションをさまざまなUNIXバージョンに正常に移植できることが原因であることがわかります。

LinuxシステムはUnixオペレーティングシステムと同じシステムコールを使用し、POSIX仕様に従います。この観点から、LinuxオペレーティングシステムはUnixオペレーティングシステムですが、開発者は異なります。このため、彼らのソースコードは異なりますが、それはこの質的に影響しません。 2つのオペレーティングシステムは同じシステムコールを使用するので、Unixオペレーティングシステム上で開発されたアプリケーションソフトウェアは別のLinuxオペレーティングシステムに簡単に移植できます。

つまり、UnixオペレーティングシステムとLinuxオペレーティングシステムは同じオペレーティングシステム(同じシステムコール)であり、同じオペレーティングシステムではありません(ソースコードが異なります)。この答えは矛盾しているように見えますが、実際には2つのオペレーティングシステム間の関係を反映しています。

第3に、カーネルファイルはシェルとは異なります。

UnixオペレーティングシステムでもLinuxオペレーティングシステムでも、基本的にはカーネル、シェル、およびアプリケーションで構成されています。言うまでもなく、カーネルはオペレーティングシステムの最も重要な部分であり、コンピュータハードウェアを直接扱います。エンクロージャとシステムハードウェア間の情報交換を担当します。この目的のために、何人かの専門家はカーネルが本当のオペレーティングシステムであると言います。

Unixオペレーティングシステムは、Linuxオペレーティングシステムのカーネルファイルとは異なります。たとえば、UNIXオペレーティングシステムのカーネルプログラムは/stand /unixファイルに対応し、SUNOS Unixオペレーティングシステムでは/kernel./genuixに対応します。オペレーティングシステムは起動時にカーネルをシステムメモリにロードします。 Linuxオペレーティングシステムのカーネルプログラムは、Unixオペレーティングシステムとはかなり異なります。 Linuxオペレーティングシステムで使用されるカーネルファイルは/boot /vlinuzです。システムエンジニアとプログラマの両方が最も基本的な違いを知っていなければなりません。たとえば、システムカーネルをアップグレードするときは、使用しているカーネルファイルを知っておく必要があります。

UnixオペレーティングシステムとLinuxオペレーティングシステムは、カーネルファイルとは異なるだけでなく、使用されるシェルも異なります。これまでのところ、Unixオペレーティングシステムは主に4つのシェル、すなわちSH、CSH、KSHおよびBASHをサポートしています。ユーザーがオペレーティングシステムにログインすると、シェルが起動されます。通常、同時に起動できるシェルは1つだけです。システムエンジニアはシェルを介してシステムコアおよびハードウェアと通信します。 Linuxオペレーティングシステムは、これまでのところ3つのシェルしかサポートしていません。これらは、BASH(デフォルトシェル)、CSH、およびKSHです。これらは、Unixオペレーティングシステムより1つ少ないものです。この違いは、平均的なユーザーには影響しません。しかし、システムエンジニアが特定の作業を行うのであれば、非常に不便になる可能性があります。

4番目に、コマンドパラメータはさまざまな方法で表現されています。

UnixオペレーティングシステムとLinuxオペレーティングシステムのほとんどのコマンドは同じです。ただし、一部のパラメーターの表現には違いがあります。たとえば、lsコマンドは、現在のディレクトリ内のファイルとサブディレクトリに関する情報を表示するために使用されます。このコマンドは、より多くのパラメータを持つ両方のオペレーティングシステムで最も頻繁に使用されるコマンドを使用します。ただし、一部のパラメーターの具体的な表現には違いがあります。

これら2つのオペレーティングシステムで、コマンドの後に特殊な種類のパラメータを追加できる場合は、オプションのパラメータを指定できます。 Unixシステムでは、英語の文字を表すために単一のクロスバーが使用されています。 ls– lなどのように。このオプションはUnixコマンドのパラメータでもあります。これらのパラメータは、いくつかの特別な機能を実現するためにシステム内で事前定義されていることがよくあります。通常、コマンドはコマンドの柔軟性を向上させるために、ファイル名パラメーターやオプション・パラメーターなどのさまざまなタイプのパラメーターを取ることができるため、コマンドは複数の方法で実行できます。注意すべきもう1つの問題は、一般に、コマンドとパラメータの間にはそれらを区別するためのスペースが必要であるということです。コマンドと引数の間に複数のスペースがある場合は、コマンドインタープリタと呼ばれるツールをシェル内に圧縮して1つのスペースだけを残したままにします。もちろん、場合によっては、システムエンジニアはシステムの「自己知能」方式を好まないかもしれませんが、オペレーティングシステムがそうしないようにするためのいくつかの対策があります。

Linuxオペレーティングシステムでもオプションをサポートできますが、それが表す方法は異なります。 Unixオペレーティングシステムでは、オプションパラメータは主に単一のクロスバーで表されます。ただし、Linuxオペレーティングシステムでは、オプションが統一されていない場合もありますが、単一のクロスバーが必要なものと、このパラメーターがオプションのパラメーターであることを示すためにダブルクロスバーが必要なものがあります。さらに、Unixオペレーティングシステムでは、これらのオプションパラメータは単一の英字です; Linuxオペレーティングシステムでは、ls -allなどの特定の意味を持つ英語の単語を使用することがあります。 Linuxオペレーティングシステムでのこの矛盾のために、そのコマンドはUnixオペレーティングシステムよりも多くのメモリを持っています。特に作者のように、Unxiシステムのメンテナンスに責任があることが必要ですが、Linux関連のプロジェクトに参加する必要があるときは、これは特に混乱しやすいです。そのため、コマンドの正しい形式を判断するためにシステムのオンラインヘルプを確認しなければならないことがあります。

幸い、両方のオペレーティングシステム用のオンラインヘルプファイルがあります。たとえば、UnixオペレーティングシステムおよびRed Hat 9オペレーティングシステムでは、manコマンドを使用してコマンドのヘルプの説明を表示できますたとえば、man lsシステムではlsコマンドのヘルプが表示され、このコマンドの下にあるすべての使用可能なパラメータも表示されます。オプションのパラメータを含みます。実際、シングルクロスバーかダブルクロスバーかが指定されます。著者のような多くのシステムエンジニアは、このオンラインヘルプドキュメントに感謝したいと思います。そうすれば、UnixオペレーティングシステムとLinuxオペレーティングシステムのメンテナンスと開発の資格を得ることができます。コマンド間にはフォーマットの違いがいくつかありますが、ほとんどのコマンドは同じ名前です。そのため、このオンラインヘルプドキュメントを利用すれば、この違いを最短時間で確認できます。

これらの違いは、UnixオペレーティングシステムとLinuxオペレーティングシステムの違いのほんの一部です。著者は将来この点での違いを徐々に整理するでしょう。上記のように、UnixとLinuxは実際には同じオペレーティングシステムです。このため、システムエンジニアがこれらの違いを習得する限り、彼らはLinuxとUnixの両方のオペレーティングシステムで動作できなければなりません。あなたがUnixオペレーティングシステムを管理しながら、あなたが資格のあるLinuxエンジニアになることができるように、私はこれらの違いの著者の要約があなたを助けることができることを願っています。

Copyright © Windowsの知識 All Rights Reserved