- UNIXとは
- Linuxとは
- UNIXとLinuxの違い
- UNIX系OSとWindows系OSの違い
- UNIX系・Windows系OSそれぞれのメリットとデメリット
- UNIXに関するよくある質問
- まとめ
\ITエンジニア・クリエイター専門/
\ITエンジニア・クリエイター専門/
UNIXとは
UNIXとは、OS(オペレーティングシステム)の1つです。古くから存在するOSで、UNIXは移植性が高いという特徴から多くの派生OSを生みました。
ここでは、UNIXの概要や成り立ち、特徴について解説します。UNIXの成り立ちや特徴を知ることは、OSの歴史や仕組みを理解することにもつながります。
UNIXの概要
UNIXとは、多くのコンピューターで利用されているOSの1種です。OSとは、ユーザーとハードウェアやソフトウェアを仲介する役割をもつ基本ソフトで、あらゆるコンピューターが動作するのはOSが存在しているからです。UNIXは、現存する中で最も古いOSといわれており、ハードウェアに依存せず、さまざまなコンピューターに移植しやすかったことから多くの派生OSが存在します。
UNIXの派生OSは「UNIX系OS」と呼ばれ、多くの種類が存在します。たとえば、MacOSやLinuxはUNIX系OSです。
UNIXは非常にシンプルな構成で安定しており、世界中の多くのシステムで採用されています。
UNIXの成り立ち
UNIXは、ケン・トンプソン、デニス・リッチーらによって、1969年にAT&Tベル研究所で誕生しました。UNIXが開発された目的は、ミニコン(特定の業務領域に特化した小型コンピュータ)への搭載です。1960年代からミニコンが普及し始め、シンプルでサイズの小さいOSが望まれていました。こうした背景から、UNIXは汎用コンピュータ向けOSから機能をそぎ落としつつ、開発されたのです。
1973年には、カーネルをC言語で記述し直されました。開発当初、UNIXのカーネルはアセンブラで記述されていましたが、移植性を高めるためにC言語で書き直されたようです。
C言語によって移植性と汎用性を高められたUNIXは、1974年に教育・研究機関を対象としてソースコードの公開が進められます。
C言語でリファインされたあとのUNIXは、安定性と汎用性の高さが評価され、サーバーOSの定番として知られるようになりました。また、UNIX系OSと呼ばれる派生OS・互換OSが登場したことでUNIXの地位は不動のものとなり、特にWebサーバー向けのOSは、大半がUNIX系OSで占めているのが現状です。
UNIXの特徴
UNIXはシンプルな構造でありながら、さまざまな特徴を備えています。
たとえば、CLIが採用されていることや派生OS・互換OSが多いこと、マルチタスク・マルチユーザーに対応することなどです。また、安定性が高いことや特定のハードウェアに依存しないことも人気の理由です。以下では、これらのUNIXの特徴について詳しく説明していきます。
コマンドラインインターフェース(CLI)
UNIXでは、文字列による操作を基本とするCLI(コマンドラインインターフェース)が採用されています。WindowsやMacOSなどで採用されているGUI(グラフィカルユーザーインターフェース)に比べると、画面全体が黒く文字だけが強調されるCLIは、使いにくいと感じることがあるでしょう。
しかし、ドラッグアンドドロップやファイルの検索などは、CLIによるコマンド操作のほうが圧倒的に速いです。
また、GUIは描画のために一定のコンピュータリソースを必要とします。一方、CLIには描画性能がほとんど求められないため、より小さなリソースでコンピュータを操作することができます。サーバーではWebサーバーやメールサーバーなどのサービスにリソースを多く使うため、OSを小さなリソースで動かすことができるのは大きなメリットです。
さらに、シェルスクリプトによる処理の自動化も容易なため、実際の運用や開発ではCLIを使用することが多いです。
派生OS・互換OSの存在
UNIXには、多数の派生OS・互換OSが存在します。こうしたOSはUNIXに機能を付与したり、使いやすくなるようカスタマイズが施されていたりするため、現在でもサーバーOSとして活用されています。派生OSや互換OSの数では、UNIXの右に出るOSは存在しないといっても良いでしょう。代表的な派生OS・互換OSは以下の通りです。
・BSD
BSDは、カリフォルニア大学バークレー校の開発者グループが開発しているUNIX系OSです。厳密にいえばBSDは「ソフトウェア群」の名称です。ネットワークインフラやサーバーなどで利用されています。
・Solaris
Solarisはサンマイクロシステムズが開発したSunOSをベースに作られたOSです。Solarisはビジネスユースを前提として開発が進められたため、エンタープライズレベルのサーバーやビジネスアプリケーションなどで用いられています。
・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言語)で書き換えたことで機種依存性が低くなり、これを機に本格的な普及が始まったといわれています。
\ITエンジニア・クリエイター専門/
\ITエンジニア・クリエイター専門/
Linuxとは
UNIXとよく比較されるOSとしてLinuxがあります。Linuxは、UNIXの派生OSとされていますが、実際には「UNIXを参考にゼロから開発されたOS」です。UNIX系OSの中でも最も普及しているOSであり、世界中のサーバーOSで高いシェアを誇っています。
以下では、Linuxの概要や特徴について解説します。Linuxも多くの種類が存在するので、それらも含めて理解しておくと良いでしょう。
Linuxの概要
Linuxは1991年にリーナス・トーバルズ氏によって開発されたオープンソースのOSです。
Linuxは、UNIXとの互換性を維持しつつゼロベースで開発された「Linuxカーネル」を持つOSです。ちなみに狭義のLinuxは「Linuxカーネル」そのものを指し、これにGNU(UNIXと互換性を持つソフトウェア群)による機能が組み合わされたものをLinuxディストリビューションと呼びます。Linuxは利用目的に応じてさまざまなディストリビューションが存在します。
Linuxの特徴
Linuxは、UNIXと同様に「コマンドラインインターフェース」「マルチユーザー・マルチタスク」「サーバーOSに適した安定性の高さ」といった特徴を持っています。また、機能拡張や更新が頻繁で、派生OSが豊富であることも見逃せません。
これはLinuxがオープンソースであることに由来しています。UNIXと異なりLinuxは、ソースコードが無償で公開されています。これにより多くの開発者によってLinuxカーネルを用いてさまざまなOSが生まれ、コミュニティの中で熟成されていきました。現在ではサーバー用途のみならず個人向けのPC用OSとしても活用されています。
Linuxの派生OS
LinuxがオープンソースのOSであったことから、そこからさらにさまざまな派生OSが生まれました。Linuxの派生OSは大きく分けると「RedHat系」と「Debian系」の2つが挙げられます。RedHat系OSは有償ですがサポートが厚く、反対にDebian系OSは無償ですがサポートなどは提供していません。
以下では、それぞれのメリットデメリットも含めて、Linuxの派生OSの種類や機能について詳しく紹介していきます。
RedHat系OS
RedHat系OSとは、その名の通りRedHat社が開発している有償の派生OSです。エンタープライズアプリケーションでの利用を目的として開発されており、ミッションクリティカルなシステムで使われています。有償ライセンスのため、サポートも行われており、企業システムなどで採用されることが多いです。代表的なRedHat系OSは以下の通りです。
・Red Hat Enterprise Linux(RHEL)
RedHat社が開発する代表的なRedHat系OSです。長期間のサポートサイクルと、厳格なテストプロセスを経て、高い安定性と信頼性を誇ります。また、広範囲のハードウェアとソフトウェアをサポートし、多様なアプリケーションやサービスで利用できます。
・Cent OS(Cent OS Stream)
Cent OSは「Red Hat Enterprise Linux(RHEL)」のクローンでありながら、無償利用が可能なOSとして人気を集めています。ビジネスユースを想定していることから安定性が高く、機能も豊富です。ちなみに、Cent OSは2024年6月30日をもってサポートが終了するため注意が必要です。
Debian系OS
Debian系OSとは、Debianプロジェクトによって有志で開発されている派生OSです。RedHat系OSより歴史が長く、無償で提供されています。しかし、Redhat系OSのような企業によるサポートはないので個人利用向けといえます。Debian系OSで最も有名なUbuntuの概要は以下の通りです。
・Ubuntu
UbuntuはDebian系OSで、一般のPCで利用することを想定して作られました。2004年に公開されたUbuntuは、2005年10月の「Ubuntu Japanease Team」発足を経て日本語化が進み、近年は日本国内でも急速に知名度が向上しています。視覚的・直感的に認識しやすいGUIを備え、無償OSでありながらWindowsやMacOSと同じような操作感を得られる点が評価されています。
\ITエンジニア・クリエイター専門/
\ITエンジニア・クリエイター専門/
UNIXとLinuxの違い
UNIXとLinuxの違いについて整理していきましょう。UNIXとLinuxは全く別系統のOSですが、開発の時系列が繋がっていないというだけで、非常によく似ています。
たとえばOSの核である「カーネル」がメモリ管理・プロセス管理・I/O管理といった機能を提供するという点は、UNIXもLinuxも同じです。さらにカーネルとの対話(コマンド操作)を「シェル」と呼ばれるソフトウェアを介して行う点も共通しています。
加えて、主要なコマンドの多くが共通しているため、一般的なコマンドライン操作を行う上での操作感に大きな差はありません。このように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で使用されるファイルシステムの代表例
UNIXで使用されるファイルシステムの代表例としては以下の2つが挙げられます。
・FFFS
FFFSは「Fat Fast File System」の略称で近年のUNIX のベースとなっているファイルシステムです。UFS(Unix File System)を改良して開発されており、パフォーマンス向上を目的として設計されています。主にBSD系のUNIXシステムで用いられています。
・ZFS
Solaris10で採用されたファイルシステムで、FreeBSDやLinuxでも利用できます。エクサバイトレベルのファイルを扱えるほか、チェックサムによる訂正機能、RAID機能などもサポートしています。高いデータ保護を誇り、大規模なストレージシステムでも使用できるのが特徴です。
Linuxで使用されるファイルシステム
Linuxで使用されるファイルシステムとしては以下が挙げられます。
・ext4
ext4はext3の拡張を行ったファイルシステムです。ext3との互換性を維持しつつ、ファイルサイズや最大ボリュームの拡張、読み書きの高速化などが施されています。代表的な使用例として、Red Hat Enterprise Linuxにおけるデフォルトのファイルシステムとして採用されています。
デフォルトシェルの違い
UNIXとLinuxの共通点として「シェル」の存在が挙げられます。シェルはカーネルとの対話を可能にするソフトウェアで、人間とカーネルとをつなぐ「窓口」としての機能を提供します。人間が入力したコマンドは、シェルを介してカーネルに伝えられ、カーネルはコマンドに応じたプログラムを呼び出して実行しているのです。
このシェルにも複数の種類があり、UNIXとLinuxで使われるシェルに違いがあります。
UNIXでよく使われるシェル
UNIXでよく使われるシェルを紹介します。
・Bsh
BshはAT&Tベル研究所によって開発されたシェルです。長年UNIXに携わっている人材であれば「シェル=Bsh」というイメージを持つことが多いでしょう。ほとんどのUNIX系OSで利用できます。また、Bshをベースに多数の派生シェルが生まれています。
・ksh
Bshをもとに開発されたシェルで、開発者David Korn氏の名前がKorn Shell(ksh)の由来です。シェルスクリプトの生産性向上を目的とした機能が実装されています。主にSolarisやAIXなどで使用されています。
・csh
Bshをベースに、C言語に似たスクリプト構文を持たせたシェルが「csh」です。UNIXがC言語で開発されていることもあり、C言語に慣れた開発者にとって扱いやすく、プログラミングのようにシェルスクリプトを作成できます。BSD系OSや、一部のUNIX系OSで使用されています。
・tcsh
cshをもとに、UIをブラッシュアップしたシェルが「tcsh」です。FreeBSDに標準搭載されたことで普及しました。コマンドライン編集やスペルチェック、コマンド補完機能などが追加されています。
Linuxでよく使われるシェル
Linuxでよく使われるシェルは以下の通りです。
・bash
RedHat系のLinuxに標準で搭載されているシェルです。GNUプロジェクトの一部で、オープンソースソフトウェアとして公開されています。オプションや変数が豊富で、柔軟なカスタマイズが可能です。また、シェルプログラミング環境も手厚くサポートされています。ただし、機能の豊富ゆえに動作がやや重いという弱点もあります。
コマンドの違い
UNIXとLinuxは共通したコマンドを持ちますが、その一方で同じ動きを実現するために全く異なるコマンドが必要になることもあります。以下では、UNIX系OSの「Solaris」、Linux系OSの「Red Hat Enterprise Linux」を例に挙げ、コマンドの実例を紹介します。
パッケージ取得、更新時のコマンド
UNIXやLinuxにアプリケーションをインストールするときは「パッケージ」と呼ばれるデータの塊を利用します。パッケージにはプログラム本体・ライブラリ・設定ファイル・ドキュメントなどが含まれており、パッケージを展開・更新することでアプリケーションを利用できるようになるわけです。
このパッケージを管理するコマンドは、SolarisとRed Hat Enterprise Linuxで以下のように違いがあります。
・Solarisの場合
pkgコマンド
・Red Hat Enterprise Linuxの場合
rpmコマンド
yumコマンド
即時シャットダウン後、再起動する場合のコマンド
サーバー構築・運用でよく発生するオペレーションとして「シャットダウン」「再起動」があります。このオペレーションを実行するコマンドも、SolarisとRed Hat Enterprise Linuxでは異なります。
・Solarisの場合
shutdown -i6 -g0 -y
シャットダウンを意味するコマンド(shutdown)に、OSの動作レベルを指定するオプション(-i)で6(再起動)を指定し、シャットダウンまでの秒数(-g)も0を指定します。末尾の「-y」は対話式の答え(シャットダウンしますか?の問いにyesと答える)を先に指定する場合のオプションです。
・Red Hat Enterprise Linuxの場合
shutdown -r now
シャットダウンを意味するコマンド(shutdown)に、再起動を表すオプション(-r)と即時実行を表すオプション(now)を組み合わせることで実行されます。
\ITエンジニア・クリエイター専門/
\ITエンジニア・クリエイター専門/
UNIX系OSとWindows系OSの違い
サーバーで広く使用されているOSは、UNIX系OSとWindows系OSの2つに分類できます。サーバーOSは通常のPCに使用されているOSと異なり、接続している配下のコンピュータを管理する機能を搭載しているため、処理速度や安定性に優れています。また、両者は全く異なるOSなので、基本的に同じプログラムは動きません。
ここからはUNIX系OSとWindows系OSの違いについて確認していきましょう。
UNIX系OS | Windows系OS | |
---|---|---|
用途 | 主にサーバー | 主にデスクトップが多いが、サーバーでも使われる |
扱いやすさ | コマンドベースのため、初心者 には扱いにくい |
GUIベースのため、初心者にも扱いやすい |
安定性 | シンプルな構成で安定性が高い | 安定しているが、UNIX系に比べると低い |
ソース | 一部公開(Linuxなど) | 非公開 |
導入コスト | 比較的安価で利用できる | ライセンス料+利用料で高価になりやすい |
サポート | なし(一部OSには有償であり) | Microsoft社による充実したサポート体制 |
Windows 10からLinux対応は始まっている
Windows10以降、WSL(Windows Subsystem for Linux)が導入されました。これは、Windows上でLinux環境を構築できるコンポーネントです。
UNIXやLinuxでは開発環境が整いやすいため、環境はそれらを利用しつつも、ドキュメント作成はWindows環境で行う、というケースが一般的です。その場合、別途PCを用意したり、ネットワークを揃えたりしなければなりません。
しかし、WSLを利用すれば、Windows環境内にLinux環境を構築できるため、1つのPCで両方の環境が扱えます。また、WSL側からもWindows側からもファイルやフォルダにアクセス可能であるため、作業効率が向上しスムーズな開発が可能です。
\ITエンジニア・クリエイター専門/
\ITエンジニア・クリエイター専門/
UNIX系・Windows系OSそれぞれのメリットとデメリット
UNIX系OSとWindows系OSのメリット・デメリットを表にまとめました。導入を検討する場合は、双方のメリットデメリットを把握した上で、検討するのが重要です。
UNIX系OS | Windows系OS | |
---|---|---|
メリット | ・ライセンス料が発生せず、 低価格で導入できる ・低スペックマシンでも動作する ・非常に安定しており、 セキュリティも高い |
・パソコンのWindowsと操作方法が似ており扱いやすい ・サポート体制がしっかりしている |
デメリット | ・CUIがメインであり、コマンドが使える などある程度のスキルが必要 ・サポート費用が有料・非対応の ソフトが多い |
・利用にはライセンス料が必要 ・サーバー接続数分の利用料が必要 ・サイバー攻撃の標的にされやすい |
UNIX系は、低価格で導入でき、かつ安定性が高いのが特徴です。しかしCUIがメインであるため、コマンドを覚えるなど学習コストがかかります。
Windows系はPCのWindowsと似ているため、誰でも扱いやすいのが特徴です。しかし、OSの利用だけでなく接続数分の利用料もかかるので、UNIX系と比較してコストが高いというデメリットがあります。
\ITエンジニア・クリエイター専門/
\ITエンジニア・クリエイター専門/
UNIXに関するよくある質問
UNIXについて興味がある人、学習を検討している人にとってさまざまな疑問や悩みが浮かぶでしょう。
UNIXに関するよくある質問としては、「どのようなOSであるか」や「何に使われているのか」といった概要についての質問が挙げられます。また、UNIX系とWindows系の違いなど、よく比較されるOSの違いについて質問も多いようです。
以下ではこれらのよくある質問に回答しています。参考にしてみてください。
Q1. UNIXとはどのようなOSですか?
UNIXは現存する最古のOSです。動作が安定しておりマルチユーザー・マルチタスクに対応しているなど品質が高く、多くの派生OS・互換OSが存在します。通信プロトコルの仕組みも備わっていることから、複数のユーザーがネットワークを通じて同時に利用できるため、主にサーバー用途として使われます。
Q2. UNIX系とWindows系の違いを教えてください
UNIX系とWindows系の大きな違いとしては、扱いやすさと導入コストが挙げられます。
UNIX系は比較的低コストで使用できますが、コマンドを扱うことから、難易度がやや高いです。Windows系はGUIが備わっているため、扱いやすいですが、ライセンス料と利用料がかかるため、導入コストが高いです。
Q3. UNIXは何に使われていますか?
UNIXは主に企業のサーバーやワークステーションなどのサーバー系OSとして使われます。たとえば、企業の基幹システムのインフラを担うアプリケーションサーバーやデータベースサーバー、Webサーバーなどです。ほかにも、プログラミング学習用の環境として使われることもあります。
\ITエンジニア・クリエイター専門/
\ITエンジニア・クリエイター専門/
まとめ
UNIXは現存する最古のOSといわれており、MacOS、Linuxなど多くの派生OS・互換OSが存在します。高い安定性とマルチユーザー・マルチタスクに対応しているなどの特徴から、主にサーバーOSとして利用されます。
この記事では、UNIXの概要や特徴、LinuxやWindows系OSとの違いについて詳しく説明してきました。サーバーOSの導入を検討する際は、ほかのOSとも比較して、自分や企業にとって扱いやすいOSを選ぶのが良いでしょう。
ITエンジニアの転職ならレバテックキャリア
レバテックキャリアはIT・Web業界のエンジニア職を専門とする転職エージェントです。最新の技術情報や業界動向に精通しており、現状は転職のご意思がない場合でも、ご相談いただければ客観的な市場価値や市場動向をお伝えし、あなたの「選択肢」を広げるお手伝いをいたします。
「将来に向けた漠然とした不安がある」「特定のエンジニア職に興味がある」など、ご自身のキャリアに何らかの悩みを抱えている方は、ぜひ無料のオンライン個別相談会にお申し込みください。業界知識が豊富なキャリアアドバイザーが、一対一でさまざまなご質問に対応させていただきます。
「個別相談会」に申し込む
転職支援サービスに申し込む
※転職活動を強制することはございません。
レバテックキャリアのサービスについて