系譜は別だが内容は酷似?定義が難しいUNIXとLinuxの違いとはUNIXとは?背景と特徴、Linuxとの明確な違いを解説

最終更新日:2021年9月22日

レバテックキャリアは
ITエンジニア・Webクリエイター専門の転職エージェントです

UNIXはサーバーOSの始祖ともいえるOSです。現在でも商用サーバーOSとして広く使われています。また、UNIXからは多くの派生OS・互換OSが誕生し、「UNIX系OS」と呼ばれることもあります。そのためUNIXへの理解を深めることは、サーバーOSに対する汎用的な知識を得るきっかけになるでしょう。同時に、主要な互換OSであるLinuxの知識を得ることで、キャリアの選択肢が拡がっていきます。ここでは、UNIXの背景や特徴、Linuxとの違いなどを解説しています。

1. UNIXとは

まずUNIXの成り立ちや背景、特徴について解説します。

UNIXの概要

UNIXは、1969年にAT&Tベル研究所で誕生しました。UNIXが開発された目的は、ミニコンへの搭載です。1960年代からミニコン(特定の業務領域に特化した小型コンピュータ)が普及し始めたものの、大型の汎用コンピュータ向けOSを搭載することはできないため、よりシンプルでサイズの小さいOSが望まれていました。こうした背景から、UNIXは汎用コンピュータ向けOSから機能をそぎ落としつつ、開発されたのです。

1973年には、カーネルをC言語で記述しなおしたUNIXが登場します。カーネルとはOSの核であり、主にハードウェアに対する制御プログラムが集約されている部分です。開発当初、UNIXのカーネルはアセンブラで記述されていましたが、移植性を高めるためにC言語で書き直されたようです。

C言語によって移植性と汎用性を高められたUNIXは、1974年に教育・研究機関を対象としてソースコードの公開が進められます。

C言語でリファインされたあとのUNIXは、安定性と汎用性の高さが評価され、サーバーOSの定番として知られるようになりました。また、UNIX系OSと呼ばれる派生OS・互換OSが登場したことでUNIXの地位は不動のものとなり、特にWebサーバー向けのOSは、大半がUNIX系OSで占められているのが現状です。

UNIXの特徴

ここで、UNIXの特徴を整理しておきましょう。

コマンドラインインターフェース(CLI)

UNIXでは文字列による操作を基本とするUI(コマンドラインインターフェース、以下CLI)が採用されています。WindowsやMacOSなどで採用されている「GUI(グラフィカルユーザーインターフェース)に比べると、画面全体が黒く文字だけが強調されるCLIは、使いにくいと感じることがあるでしょう。また、すべての操作にコマンドを要することから、コマンドを覚える必要もあります。

しかし、ある程度の知識を身に着けて操作に慣れてくると、CLIは非常に効率が良い仕組みだと気づくでしょう。ドラッグアンドドロップやファイルの検索などは、CLIによるコマンド操作のほうが圧倒的に速いからです。また、GUIは描画のために一定のコンピュータリソースを必要とします。一方、CLIには描画性能がほとんど求められないため、より小さなリソースでコンピュータを操作することができます。

さらに、シェルスクリプトによる処理の自動化も容易なため、実際の運用や開発では今でもCLIを使用することが多いのです。

派生OS・互換OSの存在

UNIXには、多数の派生OS・互換OSが存在します。こうしたOSはUNIXに機能を付与したり、使いやすくカスタマイズが施されていたりするため、現在でもサーバーOSとして活用されています。派生OSや互換OSの数という意味では、UNIXの右に出るOSは存在しないと言っても良いでしょう。ここでは代表的な派生OS・互換OSを紹介します。

BSD(Berkeley Software Distribution)
BSDは、米国カリフォルニア大学バークレー校の開発者グループが開発していたUNIX系OSです。厳密に言えばBSDはOSの名称というよりも「ソフトウェア群」の名称です。BSDから派生したOSとしてはFreeBSDが有名で、TCP/IPをサポートし、インターネットへの対応が進められたOSでした。

SunOS
SunOSは、サンマイクロシステムズ社がBSDをベースに開発したUNIX系OSです。SunOS5.0移行は「Solaris」という名称に変更されました。

Solaris
Solarisはサンマクロシステムズが開発したSunOSをベースに作られ、現在はオラクル社が所有しています。UNIXは学術・研究機関を対象にして開発されたOSですが、Solarisはビジネスユースを前提として開発が進められました。具体的には、信頼性や安定性を向上させる機能や、日々の運用に役立つ機能などが付与されています。

特に現在では当たり前になった「マルチコア・マルチスレッド対応」をUNIX系OSでいち早く取り入れたことは、注目に値する事実です。マルチコア・マルチスレッドに対応したことで、マルチコアCPUの持つ性能を存分に引き出し、複数のタスクを高速に処理できるようになりました。

Linux
Linuxは「UNIX系OS」として語られることもありますが、厳密に言えば「UNIXを参考にしながらゼロベースで開発されたOS」です。互換性はあるものの、全く別のOSであることを覚えておきましょう。

マルチタスク・マルチユーザーに対応

UNIXは、マルチタスク・マルチユーザーに対応したOSです。マルチタスクとは「複数の処理を1台のコンピュータで同時に実行すること」、マルチユーザーは「複数の人間が1台のコンピュータを同時に使用できること」を指します。

UNIXが開発された1960~70年代は、コンピュータが非常に高価だった時代です。1台あたり数千万円という価格であったため、できるだけコンピュータを効率よく使いまわすためにマルチタスク・マルチユーザーが実装されたと言われています。ちなみに現在、一般的なPCやスマートフォンにインストールされているOSは「シングルユーザー・マルチタスク」であることが大半です。

高い安定性

UNIXは構造がシンプルで、なおかつ軽量なCLI操作を基本とすることから、サーバーOSとして高い安定性を誇ります。サーバーは一般のPC向けよりも稼働時間が長く、システム内における重要度も高いため、安定性が最優先とされることが多いでしょう。

特定のハードウェアに依存しない

C言語で書き換えられる前のUNIXは、カーネルがアセンブラで記述されていたため、特定のコンピュータ以外では動作しない(=機種依存性が高い)OSでした。しかしカーネルを高級言語(C言語)で書き換えたことで機種依存性が低くなり、これを機に本格的な普及が始まったと言われています。

2. Linuxとは

次に、UNIXとよく似たOSであるLinuxについて解説します。

Linuxの概要

Linuxは1991年にリーナス・トーバルズ氏によって開発されたオープンソースのOSです。
Linuxは、UNIXとの互換性を維持しつつゼロベースで開発された「Linuxカーネル」を持つOSです。ちなみに狭義のLinuxは「Linuxカーネル」そのものを指し、これにGNU(UNIXと互換性を持つソフトウェア群)による機能が組み合わされ、Linux系OSとして成立しています。

Linuxの特徴

Linuxは、UNIXと同様に「コマンドラインインターフェース」「マルチユーザー・マルチタスク」「サーバーOSに適した安定性の高さ」といった特徴を持っています。また、機能拡張や更新が頻繁で、派生OSが豊富であることも見逃せません。

これはLinuxがオープンソースであることに由来しています。無償で公開されているLinuxカーネルを用いてさまざまなOSが生まれ、それぞれのコミュニティの中で熟成されていきました。現在ではサーバー用途のみならず個人向けのPC用OSとしても活用されています。ちなみに主な派生OSとしては、次のようなものが挙げられます。

Redhat系OS

Cent OS(Cent OS Stream)
Cent OSは商用版Linuxの代表格「Red hat Enterprise Linux (RHEL)」のクローンでありながら、無償利用が可能なOSとして人気を集めています。ビジネスユースを想定していることから安定性が高く、機能も豊富です。ちなみに、Cent OSは今後「Cent OS Stream」としてRHELへの統合がアナウンスされています。

Debian系OS

Ubuntu
UbuntuはDebian系OSで、一般のPCで利用することを想定して作られました。2004年に公開されたUbuntuは、2005年10月の「Ubuntu Japanease Team」発足を経て日本語化が進み、近年は日本国内でも急速に知名度が向上しています。視覚的・直感的に認識しやすいGUIを備え、無償OSでありながらWindowsやMacOSと同じような操作感を得られる点が評価されています。

3. UNIXとLinuxの違い

では、UNIXとLinuxの違いについて整理していきましょう。前述したようにUNIXとLinuxは全く別系統のOSです。しかしこれは、開発の時系列が繋がっていないというだけで、実際には非常によく似ているのです。

例えばOSの核である「カーネル」がメモリ管理・プロセス管理・I/O管理といった機能を提供するという点は、UNIXもLinuxも同じです。さらにカーネルとの対話(コマンド操作)を「シェル」と呼ばれるソフトウェアを介して行う点も共通しています。加えて、主要なコマンドの多くが共通しているため、一般的なコマンドライン操作を行う上での操作感に大きな差はありません。このようにUNIXとLinuxは、設計や機能などの点で明確に違いを述べることが難しいのです。

ただし、実際の使用を想定した場合には、いくつかの相違点が浮かび上がってきます。それは、次のようなものです。

想定環境の違い

UNIXは、特定領域に特化した小型コンピュータでの利用を想定し、開発されました。また、学術機関や研究機関を対象として公開されており、当初はビジネスユースを想定していなかったと考えられます。

これに対してLinuxはビジネスユースを想定して開発されているため、想定環境の面で違いがあると言えるのです。

ただし、両者ともに複数の派生OSが登場しているため、派生OS同士を比較すると想定環境の違いはわかりにくいかもしれません。なぜなら、UNIX系OSの中にもビジネスユースを想定したOSが存在し、現在はUNIXもLinuxも商用利用が進んでいるからです。

ライセンスの違い

UNIXとLinuxの明確な違いのひとつが「ライセンスに対する考え方」です。UNIXは、2005年にSolarisが無償化されたことから、「無償利用が可能なOSである」と認識されることがあります。しかしこれは誤りで、原則としてUNIXは「ソフトウェアライセンス(使用許諾)が必要な有償OS」です。

UNIXのライセンスはAT&T社が保有しており、UNIXにまつわる開発はライセンス許諾を受けた企業が行っています。これに対してLinuxは、原則として「ライセンスフリー」です。OS本体(Linuxカーネル)は誰もが自由に入手でき、ライセンス料も発生しません。

このように、「UNIXのライセンスは特定の企業が保有している」、「Linuxはライセンスフリーである」という違いがあるわけです。

ただし、一部の商用版Linuxではサポートやアップデートの利用権料が発生します。つまり、「ソースコードの利用料は無償であっても、アップデートやサポートを受ける権利は有償」というスタンスです。

ファイルシステムの違い

ファイルシステムとは、データが格納されている場所を管理する仕組みを指します。ファイルシステムには複数の種類があり、「ファイル名の長さ」「格納できるファイルの数」「最大サイズ」「権限など属性情報を格納できるか」という点で違いがあります。つまり、どのファイルシステムを使用するかで、使い勝手に差が出るわけです。

UNIXとLinuxでは、使用されるファイルシステムに違いがあります。以下は、それぞれで使用されているファイルシステムの一例です。

UNIXで使用されるファイルシステムの代表例

FFFS
「Fat Fast File System」の略称で近年のUNIX のベースとなっています。

ZFS
Solaris10で採用されたファイルシステムで、エクサバイトレベルのファイルを扱えるほか、チェックサムによる訂正機能、RAID機能などもサポートしています。

Linuxで使用されるファイルシステム

ext4
旧バージョン(ext3)との互換性を維持しつつ、ファイルサイズや最大ボリュームの拡張、読み書きの高速化などが施されています。

デフォルトシェルの違い

UNIXとLinuxの共通点として「シェル」の存在が挙げられます。シェルはカーネルとの対話を可能にするソフトウェアで、人間とカーネルとをつなぐ「窓口」としての機能を提供します。人間が入力したコマンドは、シェルを介してカーネルに伝えられ、カーネルはコマンドに応じたプログラムを呼び出して実行しているのです。

このシェルにも複数の種類があり、UNIXとLinuxで使われるシェルに違いがあります。

UNIXでよく使われるシェル

Bsh(Bourne Shell:ボーンシェル)
BshはAT&Tベル研究所によって開発されたシェルです。長年UNIXに携わっている人材であれば「シェル=Bsh」というイメージを持つことが多いでしょう。Bshをベースに多数の派生シェルが生まれています。

tcsh
Bshをベースに、C言語に似たスクリプト構文を持たせたシェルが「csh」です。さらにcshをを元に、UIのブラッシュアップしたシェルが「tcsh」です。FreeBSDに標準搭載されたことで普及しました。

Linuxでよく使われるシェル

bash
Redhat系のLinuxに標準で搭載されているシェルです。GNUプロジェクトの一部で、オープンソースソフトウェアとして公開されています。オプションや変数が豊富で、柔軟なカスタマイズが可能なシェルです。また、シェルプログラミング環境も手厚くサポートされています。ただし、機能の豊富ゆえに動作がやや重いという弱点もあります。

コマンドの違い

UNIXとLinuxは共通したコマンドを持つ一方で、同じ動きを実現するために全く異なるコマンドが必要になることもあります。そこで、UNIXは「Soralis」、Linuxは「Led hat Linux」を例に挙げ、コマンドの実例を紹介します。

パッケージ取得、更新時のコマンド

UNIXやLinuxにアプリケーションをインストールするときは「パッケージ」と呼ばれるデータの塊を利用します。パッケージにはプログラム本体・ライブラリ・設定ファイル・ドキュメントなどが含まれており、パッケージを展開・更新することでアプリケーションを利用できるようになるわけです。このパッケージを管理するコマンドは、SoralisとLed hat Linuxで以下のように違いがあります。

・Soralis
pkgコマンド

・Led hat Linux
RPMコマンド
yumコマンド

即時シャットダウン後、再起動する場合のコマンド

サーバー構築・運用でよく発生するオペレーションとして「シャットダウン」「再起動」があります。このオペレーションを実行するコマンドも、SoralisとLed hat Linuxでは異なります。

・Soralis
shutdown -i6 -g0 -y
シャットダウンを意味するコマンド(shutdown)に、OSの動作レベルを指定するオプション(-i)で6(再起動)を指定し、シャットダウンまでの秒数(-g)も0を指定します。末尾の「-y」は対話式の答え(シャットダウンしますか?の問いにyesと答える)を先に指定する場合のオプションです。

・Led hat Linux
shutdown -r now
シャットダウンを意味するコマンド(shutdown)に、再起動表すオプション(-r)と即時実行を表すオプション(now)を組合せることで実行されます。

ITエンジニア・Webクリエイターの転職ならレバテックキャリア

レバテックキャリアはIT・Web業界のエンジニア・クリエイターを専門とする転職エージェントです。最新の技術情報や業界動向に精通したキャリアアドバイザーが、年収・技術志向・今後のキャリアパス・ワークライフバランスなど、一人ひとりの希望に寄り添いながら転職活動をサポートします。一般公開されていない大手企業や優良企業の非公開求人も多数保有していますので、まずは一度カウンセリングにお越しください。

転職支援サービスに申し込む

また、「初めての転職で、何から始めていいかわからない」「まだ転職するかどうか迷っている」など、転職活動に何らかの不安を抱えている方には、無料の個別相談会も実施しています。キャリアアドバイザーが一対一で、これからのあなたのキャリアを一緒に考えます。お気軽にご相談ください。

「個別相談会」に申し込む

プロのアドバイザーがあなたのお悩みや疑問にお答えします

- 転職個別相談会開催中 -

相談内容を選択してください

※転職活動や求人への応募を強制することはありません

人気の求人特集

内定率が高い

人気の記事

スキルアップ記事トップへ

Unixの求人・転職一覧