OSとは?オペレーティングシステムの役目、仕事
OSとは、オペレーティングシステム(Operating System)の略です。
読み方は、オーエスです。
OSは、日本語では基本ソフトと呼ぶことがありますが、パソコンやスマホを起動したときに最初に起動するいわば、プラットフォームとなるソフトウェアです。
OSは、以下の役割を持つソフトウェアです。
- タスクの管理
タスクを実行する順番を管理し、その順番にあわせてタスクに必要な資源(CPU、メインメモリ、ファイル、入力装置など)を割り当てる機能。
- メモリの管理
プログラム開始時にメインメモリを割り当て、プログラムの終了でメインメモリを開放する機能です。仮想記憶なども行います。
- ファイルの管理
補助記憶装置の空いている領域にファイルを書き込んだり、補助記憶装置からファイルを読み込んだりする機能です。
- 周辺機器の管理
各インターフェイスに接続している入力装置、モデム、プリンタなどの周辺機器の制御を管理する機能です。
- API(アプリケーションプログラミングインターフェース)の提供
アプリケーションソフトが共通して利用できるインターフェイスを提供します。
OSのカーネルとは
カーネルは、OSの中核部分のことです。
メモリ、CPU、入出力を中心としたハードを抽象化し、ハードとアプリがやり取りできるようにするプログラムで、アプリケーションのための機能として、プロセス抽象化機能、プロセス間通信機能、システムコールなどを提供しています。
カーネルとシステムコールについては以下にまとめました。
OSとハードウェアの関係
典型的なハードウェアとOSの関係は次の通りです。
オペレーティングシステムは、使われるハードウェア、目的によって異なるのが普通です。
スマホ向けOS
- Android
- iOS
パソコン向けOS
- Windows、
- MacOS
- Linux
PCサーバー向けOS
- Windows Server
- Linux
ワークステーション向けOS
- 商用UNIX
メインフレーム (汎用機) 向けOS
- zOS
- Linux
世界最初のOS、オペレーティングシステム
世界初の実用化されたOSと言われているものは、ゼネラルモーターズの研究部門が IBM704 向けに1956年に開発したGM-NAA I/Oです。
当時は、汎用のOSは存在せずに、GM-NAAはユーザーが独自に作ったオペレーティングシステムでした。
一方で、世界最初の汎用のOSは、IBMが1964年に発表したメインフレーム(汎用大型コンピューター) System/360用のオペレーティングシステムである、OS/360(オーエスさんろくまる)です。
OS/360は、次のような特徴を持っていました。
- 文字コードとしてEBCDICを採用
- 磁気ディスク装置(DASD)を採用
- プログラム用のAPIを用意
- オペレータ用システムコマンド(JCL)を用意
これらは、現在のコンピューターの運用形態に近いものになっています。
現在のIBM製メインフレームOS(z/OS)も、OS/360の思想を受け継いでいます。
上位互換性があり、当時のアプリケーションがそのまま動作するのは驚くべきことです。
現在、OS/360はIBMからフリーでダウンロードすることが可能です(http://www.ibiblio.org/jmaynard/)。
UNIXの歴史
一方、オープン系のオペレーティングシステムのほとんどは、UNIXとその起源であるMultics(マルティックス)を源流に持ちます。
UNIXの歴史は次の図を見るとわかりやすいです。
(出典:https://en.wikipedia.org/wiki/Unix)
UNIX(ユニックス)は、マルチタスク・マルチユーザーのオペレーティングシステムです。
Unixは1969年、AT&Tのベル研究所にて、ケン・トンプソン、デニス・リッチー、ブライアン・カーニハン、ダグラス・マキルロイ、マイク・レスク、ジョー・オサンナらが開発を開始しました。
当初アセンブリ言語のみで開発されたが、1973年にほぼ全体をC言語で書き直したことで、その後の開発が容易になり、異なるハードウェアへの移植性も向上しました。
現在、商用のワークステーション、パソコンサーバー、スマホ、タブレットで動作している多くのオペレーティングシステムはUNIXをその起源に持っています。
UNIXを起源に持つ代表的なオペレーティングシステムとして、次のものがあります。
HP-UX
HP-UX (Hewlett-Packard UNIX) は、ヒューレット・パッカード社 (HP社) 製のUNIXオペレーティングシステムです。
HP製のPA-RISCの上で動作します。
AIX
AIX (Advanced Interactive Executive、エーアイエックス)は、IBMのUNIX オペレーティングシステムです。
ちなみに、AIXはバクロニムです。
IBM System p(従来のRS/6000、POWER系)で動作します。
Solaris
Solaris(ソラリス)はサン・マイクロシステムズによって開発され、UNIXとして認証を受けたオペレーティングシステム (OS) です。
オラクルによるサン買収に伴い、現在の開発はオラクルが行っています。
XENIX
XENIX(ジーニックス・ゼニックス)は、マイクロソフトによって開発されたUNIXです。
安価なマイクロコンピュータで動作することから、1980年代半ばから1990年代初頭にかけて大きなシェアを誇りました。
マイクロソフトがUNIXの開発を行っていたことは、今となっては驚くべきことですね。
NeXTSTEPとMacOS
NeXTSTEP(ネクストステップ)は、スティーブジョブズが創業したNeXTコンピュータのオブジェクト指向マルチタスクオペレーティングシステムです。
もともとは同社独自のコンピュータ NeXTcube (ネクストキューブ) 上で動作するよう開発されました。
NeXTSTEPは商業的にあまり成功しなかったものの、技術面やユーザインターフェース面で後世に与えた影響は大きく、現在のOS XやiOSはNeXTSTEPの後身です。
Minix
Minix(ミニックス)は、1987年にオランダ・アムステルダム自由大学の教授であるアンドリュー・タネンバウムが、オペレーティングシステム (OS) の教育用に執筆した著書 Operating Systems: Design and Implementation の中で例として開発したUnix系のオペレーティングシステム(OS)です。
後にLinuxを開発するリーナス・トーバルズに影響を与えたと言われています。
また、1992年にタンネンバウムがLinuxについて批判した「Linuxは時代遅れだ(Linux is obsolete)」という発言は大きな議論を巻き起こしました。
当時の時代背景としては、タンネンバウムの主張は理解できるものの、その後の歴史はリーナス側、Linuxの勝利と言ってよいでしょう。
Linux
Linuxは1991年にフィンランド大学の学生だったリーナス・トーバルズによって開発が開始されました。
Linuxは、サーバーOSとして主流であるほか、AndroidもLinuxカーネルのカスタムです。
Android
Android(アンドロイド)は、2003年にスマートフォンやタブレットなどの携帯情報端末を主なターゲットとして設立されたAndroid社が開発したOSです。
Android社はその後、2005年にGoogleに買収されました。
Androidは、カスタマイズ版Linuxカーネル、ライブラリやフレームワークその他のミドルウェア、ART仮想マシン、主要なアプリケーションからなるソフトウェアスタック(集合)パッケージで構成されています。
スマートフォン用のオペレーティングシステム(OS)としては、世界シェア1位です。
Windowsの歴史
マイクロソフトは、1981年にIBM PC向けにDOSというCUIベースのオペレーティングシステムを作っていました。
その後、1985年に、最初のWindows 1.0がリリースされました。
Windowsは、もともとはMS DOSという16ビットOSにかぶせられたGUI(グラフィカルユーザーインターフェース)でした。
その後、1987年にWindows 2.0がリリースされ、1990年にリリースされたWindows 3.0は初めて商業的に成功しユーザーに認知されるようになります。
その後、1992年にリリースされたWindows 3.1、1993年にサーバー向けにリリースされたWindows NT 3.1と着実に進歩し、クライアントのみならず、サーバー系でもUNIXの牙城に挑むようになります。
1995年にリリースされたWindows 95は、インターネットの普及とあいまって、商業的には大成功を収めデスクトップOSでの地位を決定的なものとします。
このWindows 95は、同時期に販売されるようになったワープロソフトであるWord、スプレッドシートであるExcel、プレゼンソフトであるPowerPointをセットで抱き合わせたいわゆるマイクロソフトオフィスと共に、マイクロソフトをパソコン業界のデファクトスタンダードへと導きました。
1990年代後半から2000年代前半まで、Intel系のCPUを使い、OSとしてWindowsを載せたパソコンのシェアが90パーセントを超えていたことが分かります。
その後のWindowsのリリース状況は次の通りです。
1998年 Windows 98のリリース
2000年 Windows 2000、Windows MEのリリース
2001年 Windows XPのリリース
2006年 Windows Vistaのリリース
2009年 Windows 7のリリース
2012年 Windows 8のリリース
2013年 Windows 8.1のリリース
2015年 Windows 10のリリース
Android, iOSなどのスマホ、タブレット勢に押されているとはいえ、パソコンに限るといまだにWindowsのシェアは90%を超えると言われています。
(出典: https://news.mynavi.jp/article/20180104-566132/)
Windowsの歴史については以下にまとめました。
GUIとCUI
OSの機能そのものとは直接関係ありませんが、OSと関連してよく引き合いに出される言葉です。
GUI = Graphical User Interface、グラフィカルユーザーインターフェース、グラフィックによる入力インターフェースのことです。
最近のOSは、ほとんどGUIベースのインターフェースを持っています。
CUI = Character User Interface、キャラクターユーザーインターフェース、コマンドによる文字ベースの入力インターフェースのことです。
Windows以前のDOSでは、CUIでした。
広義のOSは、ユーザーインターフェースまで含んでOSと呼びます。
昔はきれいなGUIであることを含んで優れたOSと呼ばれた時代もありました。
一方、狭義のOSは、今も昔もカーネル部分のみでユーザーインターフェースとは無関係です。
まとめ
OSをまとめると次の通りです。
- OSとは基本ソフトのことです。
- Android、iOS以外にオープン系のOSは、ほとんどはUNIXをその源流に持ちます。
- パソコンでは昔も今もWindowsのシェアが90%を超えています。
- サーバーOSはLinux系のOSがよく使われています。
コメント