UNIXとLINUXの違いを解説します
こんにちは。
普段はIT業界についてのブログを執筆してるエンジニアです。
» 参考:プログラマーの年収は200万円以下です【IT業界の残酷な成功法則】
今回は、Linuxについての解説記事です。
UNIXとLINUXの違いについて調べる人
「UNIXとLINUXって似たような用語ですが、何が違うのでしょうか?それぞれ、どのような特徴があるのですか?比較しながら、わかりやすく簡潔に解説して欲しいです。」
こんな悩みを解決します。
この記事を書いている私はIT業界歴12年、うちサーバエンジニア歴6年、年収1,000万円ちょっとの金融系エンジニアです。IRIXやSolarisなどのUnixやmac、Linuxなど様々なUNIX系環境を扱ってきました。
これまでの経験を踏まえ、コマンドの解説に留まらず実務視点で利用方法を記事にしました。お役にたちましたら幸いです。
本記事の内容
1. UNIXとLINUXの比較
まずはUNIXとLINUXの特徴を並べてみます。
UNIX | LINUX | |
---|---|---|
概要 |
・初期のOSで今も広く使われているOS ・ 研究所や企業目線
|
・パソコンでUNIXを使えるように作られた UNIX互換OS ・ エンジニア目線 |
主な用途 |
当初は主に研究/開発用に作られ、 現在の主な用途は商用サーバ |
当初はエンジニアの趣味で作られ、 現在の主な用途は商用サーバ |
商用サーバのシェア | 低い/減少傾向 | 高い/増加傾向 |
歴史 |
1969年〜 |
1991年〜 |
オープンソース | × |
○ |
ライセンス |
AT&T社がライセンスを保持し、 許諾を受けた企業が開発 |
ライセンスフリー ( 誰でも自由に入手・改変・再配布が可能 )
|
費用 |
ライセンス料がかかる ( 一般に高い )
|
ライセンス料がかからない ( 一般に安い、または無料 ) |
開発のしやすさ |
UNIX OSには多くの派生・亜種が存在するため、 互換性には配慮が必要 |
オープンで最も普及しているため、 情報も多く、開発しやすい |
大雑把にいうと、UNIXは企業・団体ごとに開発されており多くの派生バージョンがあります。LINUXもその一種で、UNIXの一つと考えてOKです。
2. UNIXとLINUXの違い
以上のUNIX/LINUXの特徴の比較をもとに、UNIX/LINUXの違いについて見ていきます。まずはUNIXの問題点からLINUXが誕生した経緯を解説します。
LINUXはUNIXのライセンス問題を克服したUNIX互換OS
UNIXは非常に優秀なOSですが、ライセンスや稼働するコンピュータ(RISC)が高価だったため、コストの問題によって開発者が手軽に入手できるものではありませんでした。
一方、LINUXはUNIXと同等の機能をゼロから作り直すことでライセンス・フリーを実現し、当時爆発的に普及が始まっていたパソコンで動く仕様であったことから開発者に広く受け入れられ、UNIXのシェアを一気に切り崩し、広く普及しました。
LINUXは技術者を魅了
UNIXは極めて高価なため企業内でしか扱えなかったのに対し、LINUXは無料で手に入るためエンジニアや入門者に広く受け入れられました。
これにより社内だけでなく、自宅でもUNIX関連技術に触れられるようになったのです。
Linuxは圧倒的な規模のコミュニティが強み
無料で公開されると、多くの技術者が実際に動かし、わからないことをネット上のコミュニティで議論するようになりました。
そのため、LinuxはUNIXに比べて技術者コミュニティが充実し、わからないことをネット上で解決できたり、Linuxそのものの開発・発展にもコミュニティが大きく貢献しました。
金融機関ではLINUXよりもUNIXが長い間使われ続けた
しかし日本の金融機関では、メインフレームに代表されるように時代の潮流よりも安定性を重視する傾向があり、LINUXへの移行に時間がかかりSolarisやHP-UXなどのUNIX系OSがしばらく使われ続けました。
現在では金融機関でもRedhatなどのLinux OSが多く使われていますが、いまだにUNIXやメインフレームも現役で使われ続けています。これは、金融機関がシステムの安定性を重視し、先端技術よりも枯れた技術を好むためです。
【近年の傾向①】Amazon AWSやRaspberry Pi、AndroidもLINUX
近年ではAmazon AWSのAmazon Linux、Rasberry PiのRaspbianなどもLINUX系のOSです。さらにAndroidのベースとなっているのもLinuxで、事実上LinuxはUNIX系OSの標準となっています。これからLinuxやUNIXを学習したいと考えている人は、LINUXベースの学習環境を作ると良いでしょう。
【近年の傾向②】一方でmacOSはUNIXベース
一方、UNIXを語る上で忘れてならないのはmacOSです。macOSは独自のOSですが、LINUXではなくUNIXベースのOSなのです。
WindowsやMacとの比較
比較のため、WindowsとMacについても同様の情報を示します。なお、現在のMacはUNIXベースになっています。
macOS | WINDOWS | |
---|---|---|
概要 | Appleが開発したUNIX OS |
パソコン用に最も普及したOS |
主な用途 | オフィス・家庭用 |
オフィス・家庭用・商用サーバ |
歴史 |
2001年〜 |
1985年〜 |
オープンソース |
△ (一部のオープンソースを含む) |
× |
ライセンス |
Apple社がライセンスを保持し、 購入した個人・企業のみ使用可能 |
Microsoft社がライセンスを保持し、 購入した個人・企業のみ使用可能 |
費用 |
ライセンス料がかかる (利用料のみ/OS改変は不可) |
ライセンス料がかかる (利用料のみ/OS改変は不可) |
開発のしやすさ |
macOSの開発者が多いため 他のUNIXとの互換性の問題は生じにくく、 開発しやすい |
独自仕様だがWindowsの開発者が多いため 開発しやすい |
LinuxとWindowsの違い・特徴について比較します
LinuxとWindowsの特徴を比較
LinuxのWindowsとは違うところ
LinuxでもWindowsでもできること
Windows上でLinuxを動かす
Linux上でWindowsを動かす
3.UNIX/LINUXどちらを使うべき?
【結論】原則、LINUXを使いましょう。
もしUNIXを使うならmacOS一択です
これまでに述べてきた通り、UNIXは歴史が古く長く使われてきましたが、ライセンスの
問題によりコストがかさみます。この問題を克服し、よりオープンな環境としてLINUXが台頭し、事実上の標準となっています。
そのため、原則LINUXを使うと良いでしょう。一方、UNIXベースでおすすめできるのはmacOSです。
UNIXベースですが製品コンセプトが良いためシェアが高く、若い開発者も多いため公開されている情報も多いので、学習環境が良いのが特徴です。
Linuxは書籍も充実している
最後にLinux学習にオススメの書籍を紹介します。本書は図解が充実していて、実際に手を動かして理解することができるよう工夫されています。
[試して理解]Linuxのしくみ〜実験と図解で学ぶOSとハードウェアの基礎知識
ITシステムやソフトウェアの開発、運用において、その基盤となるOSやハードウェアのしくみや動作を、具体的にイメージすることができるでしょうか。本書では、サーバ、クラウドからスマートフォン、IoT機器まで幅広く利用されているLinux OSを対象に、プロセススケジューラ、メモリ管理、記憶階層、ファイルシステム、ストレージデバイスなど、OSとハードウェアに関するしくみがどのように動くのか、実験とその結果を示すグラフを用いてわかりやすく解説します。
おわりに
今回は以上です。UNIXとLINUXの違いやこれからUNIX/LINUXを学習したい方の参考になりましたら幸いです。
Blog TOP Linuxコマンドを勉強したい人向け|Linuxの使い方 記事まとめ
Linux&Linuxコマンドを勉強したい人向けの記事もくじ
用語解説・技術一般
"UNIXとLINUX"の違いについて解説します
CUIとGUIの違い・特徴について解説します
サーバリソースを確認するコマンドの使い方
【Linux】CPU使用率を確認する3つの方法を解説します
【Linux】topコマンドで,CPU消費の原因を特定する方法
【Linux】ps実行時に-efオプションを付ける理由について
【Linux】メモリ使用率を確認する|容量・空きの確認も
【Linux】ディスク容量を確認する|ディスク容量監視も
ファイル操作に関するコマンドの使い方
【Linux】ファイルの行数をカウントする方法を解説
【Linux】文字コード変換ならiconvコマンド1択です
【Linux】/dev/nullを、エンジニアが使う2つの目的
【Linux】findのexecオプションの使い方とその注意点
【Linux】findの結果から圧縮ファイルを作るコマンド
【Linux】hostsの場所はどこ?→/etc/hostsにあります
【Linux】touchコマンドで,時刻更新&空ファイル作成
Linux管理者用コマンドの使い方
【Linux】再起動コマンド(shutdown)の使い方と注意点
よく使う便利なコマンドの使い方
【Linux】改行なしでechoコマンドを使う時の -nオプション
【Linux】sleepコマンドの使用例と注意点について解説する
【Linux】rmコマンドでディレクトリを削除する方法を解説
【Linux】ファイルを削除するコマンド2選【rm以外もあり】
【Linux】awkの区切り文字を指定する,-Fオプションを解説
【Linux】sedで文字列の置換をするeオプションを解説する
【Linux】dateコマンドのフォーマットとその便利な使い方
【Linux】大文字から小文字に変換する方法【小文字から大文字も】
シェルの便利機能
「今の会社を辞めて転職します。エンジニア職に強みのあるおすすめの転職サイト・転職エージェントを教えて欲しい。また好条件で転職するにはどうすれば良いですか?」こんな悩みに答えます。 ITエンジニアに強いおすすめの転職サイト・転職エージェント3選 転職成功には強くてニューゲームが条件。どうやって実現する?