OSとは何か?種類、例と仕組みをわかりやすくまとめ

スポンサーリンク
OS

OSとは?オペレーティングシステムの役目、仕事

OSとは、オペレーティングシステム(Operating System)の略です。

読み方は、オーエスです。

 

OSは、日本語では基本ソフトと呼ぶことがありますが、パソコンやスマホを起動したときに最初に起動するいわば、プラットフォームとなるソフトウェアです。

OSは、以下の役割を持つソフトウェアです。

  • タスクの管理
    タスクを実行する順番を管理し、その順番にあわせてタスクに必要な資源(CPU、メインメモリ、ファイル、入力装置など)を割り当てる機能。

 

  • メモリの管理
    プログラム開始時にメインメモリを割り当て、プログラムの終了でメインメモリを開放する機能です。仮想記憶なども行います。

 

  • ファイルの管理
    補助記憶装置の空いている領域にファイルを書き込んだり、補助記憶装置からファイルを読み込んだりする機能です。

 

  • 周辺機器の管理
    各インターフェイスに接続している入力装置、モデム、プリンタなどの周辺機器の制御を管理する機能です。

 

  • API(アプリケーションプログラミングインターフェース)の提供
    アプリケーションソフトが共通して利用できるインターフェイスを提供します。

 

OSのカーネルとは

カーネルは、OSの中核部分のことです。

メモリ、CPU、入出力を中心としたハードを抽象化し、ハードとアプリがやり取りできるようにするプログラムで、アプリケーションのための機能として、プロセス抽象化機能、プロセス間通信機能、システムコールなどを提供しています。

 

カーネルとシステムコールについては以下にまとめました。

システムコール(System Call)とは何か?標準ライブラリとの違い
システムコール (System Call) とは システムコールとは、オペレーティングシステム (OS、より明確に言えばOSのカーネル) の機能を呼び出すために使用される機構のことです。 実際のプログラミングにおいては、OS...

 

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の歴史については以下にまとめました。

マイクロソフトWindowsの歴史年表、OSの種類、バージョン一覧、比較評価まとめ
パソコン向けでは、最も使われているOSであるWindowsについて調べてみました。 Windowsとは マイクロソフトWindowsは、もともとはDOS (Disk Operating System) というキャラクタベースのオペレーテ...

 

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がよく使われています。

 

 

コメント