Linuxの歴史を知る
OSと言えば、圧倒的にWindowsが有名ですが、システム開発分野ではLinux系がよく利用されています。そんなLinuxに関して意外にも知られていないことが多くあるように思われます。たとえば「Linuxはなぜ誕生したのか、誰が開発したのか?」「なぜLinuxを使うのか?」などです。
この記事では、Linuxの特徴やLinuxカーネルとLinuxディストリビューションの違い、LinuxとUNIXの違いなど、エンジニアとして知っておきたいことを中心に紹介していきます。Linuxを利用している方にはスキルアップに、これからLinuxを学ぶ方にとって学習の動機付けとなれば幸いです。
【参考】:2020年度版 Linuxカーネルの歴史レポート|
Linuxとは
LinuxはWindowsやMac OSなどと同じくOSの1種で、UNIX系OSと言われることもありますが、独自に発展してきたOSです。
OSとは(Operating System)の略語で、基本ソフトウェアのことです。OSはコンピュータを構成するあらゆるハードウェアを管理し、さらにはユーザーとハードウェア、応用ソフトウェアとハードウェアをつなぐ役割を持っています。
初期のコンピュータにOSは搭載されていませんでした。OSがなくとも、コンピュータを動かすことは可能ですが、その代わりハードウェアの処理についてはプログラマが行わなければならず、大変な手間と作業が必要でした。
今では、ほとんどのプログラマーはOSをほとんど意識することなくプログラミングに専念できるようになっています。それでは、Linuxの歴史を語る前に、まずOSの歴史から見ていきましょう。
OSの誕生
1940年代の中頃に、ノイマン型※と呼ばれる実用型のデジタルコンピュータが初めて登場しました。当時のコンピュータにはOSとしての機能や概念が確立されていませんでしたが、1960年中期にIBMが開発した商用コンピュータのIBM Syatem/360から本格的なOSが搭載されるようになりました。
それ以降、様々なOSが開発され、コンピュータの形や性能も劇的に変化してきましたが、基本的にはノイマン型の構成が継承されています。
※ノイマン型とは、1940年代に米国の数学者、ジョン・フォン・ノイマンによって提唱されたプログラム内蔵のコンピュータモデルで、「入力装置」「 出力装置」「 記憶装置」「制御装置」「演算装置」の5つの構成要素から成り立っています。
Linuxの歴史をたどる
ここではLinuxの歴史をたどって見ていきます。LinuxはUNIXというOSを原型にして作られましたので、先にUNIXの歴史から見ていきましょう。
Multicsの誕生
1960年代、米国のベル研究所でタイムシェアリングOSの「Multics」という多機能型OSが作られました。
タイムシェアリングは1台のコンピュータを複数人で同時利用できる手法であり、当時としては画期的なOSでしたが、機能を詰め込み過ぎたことでまともに動かないという弱点をさらけ出し、完成には至りませんでした。
※【参考】:Multics
UNIXの誕生
このMulticsの反省から生まれたのがUNIXです。1969年にAT&Tのベル研究所で開発がスタートし、当初はアセンブラ言語でUNIXは開発されました。
1973年には高水準言語C言語で全面的に書き直しがされています。初期のUNIXはマルチタスクOSではなく、シングルタスクOSでしたが、ハードウェアの進化とともにマルチタスク化され、機能も拡張して各種OSの祖となっています。
UNIX系のOSには、各メーカーが独自に開発した商用OSと、オープンソースソフトウェアとして開発されたOSがあります。代表的なものとしては、IBMのAIX、Sun MicrosystemsのSolaris、HPのHP-UX、他にはBSDやFreeBSDがあります。
また「Mac OS X」もUNIXをベースに開発されています。「UNIX」の商標権は、業界団体「The Open Group」が保有しており、団体が認めたOSだけが正式に「UNIX」を名乗れ、それ以外のUNIX互換、UNIX風のOSを「UNIX系」または「UNIXライク」と呼んでいます。
【参考】:The UNIX® Standard | The Open Group Website
Linuxの誕生
フィンランドの大学生、リーナス・トーバルズがUNIXの機能不足を感じたところから、1991年にターミナルエミュレートを自力で作成したのが、LinuxOS誕生のきっかけとなりました。
Linuxはオープンソースのフリーソフトウェアとして公開され、改変や再配布が認められているため、改良が加えられ様々なLinuxディストリビューション※が誕生しています。Linuxディストリビューションは、Red Hat系・Debian系・Slackware系に分かれています。
Linuxは「UNIXライク」ですが、UNIXを参考にゼロから作られており、ソースコード上のつながりはありません。ちなみにLinuxの名前の由来は、開発者のファーストネーム:LinusとUNIX系OSの最後の文字Xを組み合わせて出来たと言われています。
※Linuxディストリビューションとは、Linuxカーネルと他のソフトウェア郡を一まとめにし、容易にインストールや利用ができるようにしたパッケージのことです。
【参考】:Linux Foundation
Linuxの現在
今やサーバOSはLinux系が独壇場で、世界のトップ100万ドメインの95%以上で利用されています。また、私たちの身近な所では、スマートフォンのOSとして利用されているAndroid OSはLinuxカーネルと各種オープンソースソフトウェアによって作られています。
新たに発売されているスマートフォンの80%以上がAndroidで動作しています。他、クラウドに対応している企業の75%以上が、クラウドのメインプラットフォームとしてLinuxを使うなど、Linuxが世界を席巻しています。
【参考】:日本語版 Linux Foundationアニュアルレポート2022| The Linux Foundation
Linuxの特徴
ここまでLinuxの歴史について紹介してきましたが、なぜこれほどまでにLinuxが普及し、活用されているのでしょうか?その理由を探るために、Linuxの特徴について見ていきましょう。特徴を知ることで、Linuxをなぜ使うのかがよく分かると思います。
用途に応じて選択肢が豊富
Linuxはリーナス・トーバルズ氏開発の「Linuxカーネル」を核として、様々な「Linuxディストリビューション」が提供されています。Linuxカーネルは無償で自由に配布できることから、様々な企業や組織がLinuxカーネルをベースに、独自のLinuxディストリビューションを再配布しています。
サーバOSとして人気の「Red Hat Enterprise Linux」やサーバやパソコンなどでプログラミングや開発に利用される「Ubuntu」など、様々なディストリビューションがあります。
比較的シンプルなものから、WindowsやMac OSに近いOSまで、好みや用途によって豊富な選択肢があるのが大きな特徴と言えます。
【参考】:Red Hat Enterprise Linux オペレーティングシステム 【参考】:Ubuntu | Ubuntu
無償で利用できる
Linuxカーネル自体は無料ですが、多くのLinuxディストリビューションも基本的には無償での利用が可能です。ただし、企業利用のLinuxディストリビューションでは、サポートやツールがセットとなって有償提供されているものもあります。
WindowsOSは、基本は有料ですが、パソコンメーカーにOEM供給されているものは、OSがパソコンの料金に含まれています。Mac OSはLinuxと同様に基本的にOSは無料ですが、Apple製のパソコンを購入することで利用できますので、実質的には有料と言えます。
スペック要件が低い
Windows11などは比較的高いスペック要件が設けられ、その要件を満たさないパソコンには基本的にインストールできませんし、仮にインストールできても低いスペックのパソコンでは動作が不安定になります。
一方、Linuxディストリビューションの多くは、Windowsを動かすのが難しくなった旧式のパソコンでも利用が可能です。そのため、Windowsのアップグレードで不要となった旧式のパソコンにLinuxディストリビューションをインストールして、開発用マシンとして利用している方もいます。
Linuxについて学ぶ
ここまでLinuxの歴史や特徴について紹介してきました。Linuxに興味が湧いた方、Linuxについて学んでみたいという方に、入門者向けのおすすめの参考書をご紹介します。
イラストでそこそこわかるLinux コマンド入力からネットワークのきほんのきまで
Linuxを学ぶには、Linux関連資格への挑戦が早道です。資格取得を目指すことで学習目標が明確になり、しかも資格取得はスキル証明となりますので、スキルアップや転職が有利になるなど一石二鳥です。
本書は「LPIC-1」の資格取得を目指した参考書ですが、入門書としての位置づけにあり、Linuxの歴史やUNIXとの関係など、初歩の初歩から学べるようになっています。また本書によってLinux環境を簡単に構築し、実際にパソコンを利用してLinuxを操作することができます。
▪著者:河野 寿 ▪ページ数:304ページ ▪出版社:翔泳社 ▪発売日:2020/2/28
【参考】:イラストでそこそこわかるLinux コマンド入力からネットワークのきほんのきまで
LPIC-1
LPICはLinux Professional Institute Certificationの略称で、Linuxエンジニアとしてのスキルを認定する資格です。LPICはNPO法人のLinux技術者認定機関のLPI日本支部が運営しています。LPIC-1はその中で初級レベルの試験です。
Linuxを使えると仕事の幅が広がる
ここまで、Linuxの歴史と特徴などについて紹介してきました。Linuxの一端でもご理解頂けると幸いです。Linuxはアプリケーション開発やサーバ構築、組み込み系システム、IoTなどで広範囲に利用されています。
サーバーエンジニアやインフラエンジニアにとってLinuxは必須スキルとなっており、Linuxに関するスキルを有することで仕事の幅が大きく広がります。これまでWindows系、MacOS系が中心だった方は、この機会にぜひLinuxに関する知識やスキルを身に付けることをおすすめします。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから