オペレーティングシステム オペレーティングシステムの概要

オペレーティングシステム

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/01/07 21:02 UTC 版)

デスクトップ環境ウィンドウシステムなど、あるいはデータベース管理システム (DBMS) などのミドルウェア、ファイル管理ソフトウェアやエディタや各種設定ツールなどのユーティリティ、基本的なアプリケーションソフトウェア(ウェブブラウザや時計などのアクセサリ)をマーケティング上の理由などから一緒に含めることもある。OSの中で、ハードウェアを直接管理操作するなどの最も中心的な機能の部分を、特にカーネルと呼んで分けることもある。カーネル以外の部分(シェルなど)をユーザランドと呼ぶ。これは一般に、それを実行するCPUが特権モードにあるか、保護モード(ユーザモード)にあるか、の違いから来ている。現代の主なオペレーティングシステムの例として、AndroidBSDiOSLinuxMicrosoft WindowsmacOSWindows PhoneIBM z/OS などがある[1]。これらのうち、Windows系とz/OS以外は全てUnix系である。

OSの目的

OSの主な目的は3つある。すなわち、ハードウェアの抽象化、リソースの管理、そしてコンピュータ利用効率の向上である引用エラー: <ref> タグに対応する </ref> タグが不足しています

マルチタスク

コンピュータ上の各動作はバックグラウンドであっても一般のアプリケーションであっても、内部的にはプロセスとして動作する。DOSのような機能の限定されたOSは一度に1つのプロセスしか実行できない。近代的なOSは一度に複数のプロセスを動作させることができる(マルチタスク)。プロセス管理は複数のプロセスを実行するためにOSが行う処理である。プロセッサを1つだけ持つ一般的なコンピュータでは、マルチタスクは高速にプロセスからプロセスへ切り替えを行うことで実現される。ユーザーがより多くのプロセスを実行すれば、個々のプロセスに割り当てられる時間は少なくなっていく。多くのシステムでは、これが音声の途切れやマウスカーソルの奇妙な動作などを引き起こす。一般的なプロセス管理は、プロセスごとに優先度を与え、それによって配分される時間を決めている。

OSのカーネルにはスケジューラと呼ばれるソフトウェアが含まれており、プロセッサが実行すべきプロセスの順序と一度に実行する期間を決定している。スケジューラが選択したプロセスにカーネルが制御を渡し、それによってそのプログラムがCPUとメモリにアクセス可能になる。その後何らかの機構で制御がカーネルに戻され、スケジューラが再び新たなプロセスを選択する。このようなカーネルとアプリケーション間の制御の切り替えをコンテキストスイッチと呼ぶ。

プログラム群へのCPU時間の割当方法の初期のモデルとして協調的マルチタスクがある。このモデルでは、カーネルがあるプログラムに制御を渡すと、そのプログラムは時間を制限されることなく処理を行え、カーネルには自発的に制御を戻すことになっている。したがって、悪意あるプログラムやバグのあるプログラムがあると他のプログラムにCPU時間が割り当てられなくなり、無限ループに陥っている場合はシステム全体がハングアップする。

プリエンプティブ・マルチタスクでは、動作中のプロセスから任意の時点で制御を奪うことができ、全プログラムに所定のCPU時間を割り当てることが可能である。これを実現するためOSはタイマ割り込みを使用し、所定の時間が経過したら割り込みを発生させてスーパーバイザモードに制御を戻させ、カーネルがスケジューラを呼び出す。

現代的OSでは、プリエンプションの考え方をユーザーモード(アプリケーション)だけでなくデバイスドライバやカーネルコードに対しても適用し、リアルタイム性を向上させている。

ホームコンピュータなどのシングルユーザーOSでは、少数のよく評価されたプログラムしか使わないことが多く、協調的マルチタスクで全く問題ない。例外として AmigaOS は初期のバージョンからプリエンプティブ・マルチタスクを実現していた。Microsoft Windows で初めてプリエンプティブ・マルチタスクを実装したのは Windows NT だが、それが一般家庭向けに発売されるのは Windows XP からだった。

ディスクアクセスとファイルシステム

ファイルシステムは、多くの場合ディレクトリ(フォルダ)を使ってファイル群を編成したり分類したりできる。

ディスクに格納したデータへのアクセスは、あらゆるOSの中心的機能である。コンピュータはファイルという形でディスクにデータを格納する。ディスクの内容は高速アクセス、高信頼性、ディスク領域の利用効率などを考慮して編成される。このファイルをディスクに格納する方式をファイルシステムと呼び、それによってファイルに名前と属性が付与される。また、ディレクトリあるいはフォルダと呼ばれる構造を使い、ファイル群を階層構造(木構造)内に格納できる。

初期のOSは一種類のディスク装置しかサポートしておらず、ファイルシステムも一種類ということが多かった。初期のファイルシステムは容量や性能が低く、ファイル名やディレクトリ構造の面で制約が多かった。そういった制約はOS自体の設計上の制約を反映していることが多く、複数のファイルシステムをサポートするのもOSの制約の観点から非常に困難だった。

より単純なOSではストレージへのアクセス手段が限られているが、UNIXLinuxなどのOSでは仮想ファイルシステム (VFS) という機構をサポートしている。UNIXなどのOSは様々なストレージデバイスをサポートしており、それらの仕様やファイルシステムとは独立した共通のアプリケーションプログラミングインタフェース (API) でアクセスできるようにしている。そのためプログラムはアクセスしようとしているデバイスに関する知識を持つ必要がない。VFS機構により、プログラムはデバイスドライバとファイルシステムドライバを経由してシステム上のあらゆるデバイスと様々なファイルシステムにアクセス可能となる。

ハードディスクドライブなどの補助記憶装置には、デバイスドライバを通してアクセスする。デバイスドライバは担当するデバイスのインタフェースをよく理解しており、それをOSが全ディスクドライブに共通で用意しているインタフェースに変換する。UNIXでは、それがブロックデバイスのインタフェースである。

代表例

Linuxを元プラットフォームとして開発されたものにはext2ext3ReiserFSなどがある。また、他のプラットフォームからXFSJFSFATファイルシステムなどが移植され、NTFSも不十分ながら読み書きが可能である。

Macintoshではまず最初にMacintosh File System (MFS) が実装されたが、ディレクトリ機能を備えていなかったためファイルブラウザFinderでフォルダをエミュレーションしていた。その後Hierarchical File System (HFS) でディレクトリ機能を実装し、現在は改良を加えたHFS+が採用されている。現在macOSで読み書きが可能なものはHFS、HFS+、UNIX File System (UFS)、FATとなる。なおUFSの使用は一般でなく、FATへの対応は他プラットフォームとのデータ交換に用いられる。NTFSは読み込みのみが可能であり、書き込みについてはCommon Internet File System (CIFS) によるネットワークを介したものに限られる。

Windowsが標準で扱えるファイルシステムは、FAT、FAT32、NTFSである。NT系のWindowsではNT3.51まではOS/2標準のHPFSにアクセス可能だった。現在Windows上ではNTFSが最も信頼性と効率が高いものとして一般的に利用される。FATはMS-DOSから採用される古いファイルシステムであるが、パーティションやファイルサイズに制限があり、大容量化したハードディスクではあまり用いられない。このためファイルサイズの制限をなくしたexFATが新たに開発された。なお、exFATはVistaや7では標準で使えるが、XPでexFATを使うためには専用のプログラムを新たにインストールする必要がある。

プラットフォーム間の差異

FATはその仕様の制限から大容量のハードディスクには向かないが、その一方構造が単純でデジタルカメラ携帯電話などの組み込みシステム向けを含むさまざまなOSで読み書き可能なことから、各種メモリカードUSBメモリなどプラットフォームを跨ぐ用途においては主流である。なお、それらフラッシュディスクの大容量化に対応するため、マイクロソフトはFATを拡張したexFATというファイルシステムを発表している[2]

MacintoshからWindows等へファイルを転送すると、転送先のWindows側に本体とは別のファイルが出現することがある。これはHFSやHFS+のみがサポートするリソースフォークと呼ばれるデータ構造によるもので、Macintoshではそれらを一元的に管理を行うため一つの書類に見える。このように幾つものフォークを一つのデータに格納することをマルチフォークと呼び、もとのデータを改変することなくOS独自の管理情報を容易に付与できる機能だが、実質的にMacintoshでしか利用できない。

障害への対応

ファイルシステムには、急な電源切断などによる障害へ対応する機構を持つものがある。 ジャーナルファイルシステムが最もよく採用される機構であり、その他にもZFSのように書き込み操作をトランザクションとして扱うものもある。これらを用いることで、障害復旧時のチェックを大幅に短縮する、または完全に不要にする。一方これらの機構を持たないファイルシステムでは、ファイルシステムの整合性を保つためストレージ全体を検査する必要がある。

デバイスドライバ

デバイスドライバはハードウェアとのやり取りをするためのソフトウェアである。一般にハードウェアとの通信を行うインタフェースを持ち、ハードウェアの接続される何らかの通信サブシステムやバスを経由して通信を行う。コマンドをハードウェアに送り、データの送受信を行う。また、一方でOSやアプリケーションに対するインタフェースも提供する。ハードウェアに強く依存するプログラムであり、OSにも依存している。これによって、OSやアプリケーションがハードウェアを使って動作することが容易になっている。ハードウェアの非同期的な割り込みの処理もデバイスドライバの役割である。

デバイスドライバの主たる設計目標は抽象化である。ハードウェアは用途が同種のものであっても、機種によって動作や性能などがそれぞれ異なる。新たな機能や性能を提供するハードウェアが登場したとき、それらは従来とは異なった制御方式を採用していることが多い。OSを将来にわたってあらゆるハードウェアを制御できるように設計するのは困難である。従って、個別のハードウェアの制御をOSから切り離す必要がある。デバイスドライバはOSとのインタフェース(関数呼び出し)をデバイス固有の処理に変換することが主たる機能となる。理論的には、新たな制御方法の新しいハードウェアが登場しても、そのハードウェア用のドライバが古いOSに対応していれば、古いOSでもドライバだけ置き換えればハードウェアを制御可能となる。

Vista以前のWindowsやバージョン2.6より以前のLinuxカーネルでは、ドライバ実行は協調的だった。すなわち、あるドライバが無限ループに陥ると、システム全体がフリーズした。その後のバージョンではプリエンプションが可能となり、カーネルがドライバを中断させることができるようになった。

ネットワーク

多くのOSはTCP/IPプロトコルをサポートしている。歴史的に見れば、初期のコンピュータネットワークはモデムを使って電話回線で行われていた(BSC手順など)。その後、パケット通信が使われるようになり、IBMSNAなどの各社独自のネットワークアーキテクチャが登場した。現在では、TCP/IPを中心とした通信が主流となっている。

通信プロトコルは、トランスポート層まではカーネル内モジュールとして実装し、プレゼンテーション層より上はシステムプロセスとして実装されるのが一般的である。セッション層の実装はシステムによって異なる。

このようなネットワーク機能により、異なるOS間でネットワークを形成し、計算能力(RPC)、ファイル、プリンター、スキャナーなどのリソースを共有できる。ネットワークにより、あるコンピュータのOSが遠隔のコンピュータにあるリソースをあたかも自身に直接接続されているかのように透過的に利用できる。単純な通信に始まり、分散ファイルシステム、グラフィックスやサウンドといった機能の共有まで様々な応用がある。透過的アクセスの例としては、SSHによるコマンドラインの直接使用などもある。

セキュリティ

OSが関係するセキュリティ機能は、ユーザーがリソースへの何らかのアクセスを行う際に前もって認証し、そのユーザーのアクセスレベルを決定し、管理者の方針に基づいてアクセスを制限することである。

OSは、処理を許可すべき要求と処理すべきでない要求を識別できなければならない。一部のシステムは単にユーザー名などで要求者を識別し、それによって特権の有無を判断する。要求者を識別する過程を「認証」(authentication) と呼ぶ。ユーザー名を示さなければならないことが多く、ユーザー名に続いてパスワードも必要な場合がある。別の認証方法として、磁気カードや生体データを使った「認証」(certification) を行うこともある。ネットワーク経由に接続などの場合、認証を全く行わずにリソースにアクセスさせることもある(ネットワーク上で共有されたファイルを読む場合など)。

さらに高度なセキュリティを備えたシステムでは、監査証跡 (auditing) オプションも提供している。これは、リソースへのアクセス要求を監視し記録するものである(「このファイルは誰が読もうとしたか?」など)。プログラムが何らかのリソースを要求すれば割り込みによってカーネルに制御が渡るので、そこでセキュリティの確認が可能である。プログラムがハードウェアやリソースに直接アクセスできる場合、セキュリティは確保されない。

何者かがコンソールやネットワーク接続経由でログインしようとする際にもセキュリティの確保が必要である。このような要求は一般にデバイスドライバ経由でカーネルに渡され、それから必要ならアプリケーションに渡される。ログインにまつわるセキュリティは、企業や軍などで機密情報を保持しているコンピュータでは長年の課題だった。アメリカ国防総省 (DoD) はセキュリティ評価に関する基本要件を定めた標準 Trusted Computer System Evaluation Criteria (TCSEC) を策定した。TCSECはセキュリティを要求されるシステムの調達条件とされるようになったため、OSメーカーはこれを重視するようになった。

ユーザインタフェース

Bourne Again Shell のスクリーンショット。各コマンドは「プロンプト」の後に打ち込み、その下に結果が出力される。現在のプロンプトは画面最下端にある。

個人が使用するコンピュータにはユーザインタフェースが必要とされる。ユーザインタフェースは必ずしもOSの一部とは限らない。通常はシェルなどのプログラムが実装しているが、人間とのやりとりが必要なプログラムは基本的にユーザインタフェースを備えている。ユーザインタフェースは、キーボードマウスクレジットカード読み取り機といった入力デバイスからのデータを取得するのにOSを介する必要があり、モニタープリンターといった出力機器にプロンプトやメッセージを出力するのにもOSを介する必要がある。主なユーザインタフェースは、古くからあるキャラクタユーザインタフェース(コマンドラインインタフェース)と視覚的なグラフィカルユーザインタフェースに大別される。

グラフィカルユーザインタフェース (GUI)

KDE Plasma Desktop というGUIのスクリーンショット。プログラムは画面上にグラフィカルに結果を表示し、ファイルやフォルダ(ディレクトリ)やアプリケーションはアイコンなどの形で表される。操作にはキーボードのほかにマウスも使われる。

最近のOSは一般にGUIを持っている。多くのプロプライエタリなシステム(WindowsMac OS)はカーネルとGUIが密接に関係している。他のOSではユーザインタフェースはモジュール化されていて、任意のGUIをインストールしたり、新たなGUIを作成したりできる(LinuxFreeBSDOpenSolaris)。

Windowsでは新たなバージョンが登場するたびにGUIを変更してきた。初期のWindowsからWindows Vistaまでを比べてみると、その変化は大きいし、MacintoshのGUIは1999年のMac OS Xの登場で劇的に変化した[3]

Macでは初期からSystem 6.0.xまでが白黒のGUIで、System 7以降もカラー化されたのみで、Mac OS 8でプラチナアピアランスが採用されても、Mac OS 9.2.2までは基本要素はほぼ変わらなかった。しかしMac OS Xになって完全に刷新され、AquaベースのGUIになった。Mac OS X v10.3以降ではメタルアピアランスが導入され、その後もバージョンアップのたびに少しずつ手が加えられている。また、Aquaとは別にX11も用意されている。

Mac OS Xの前身のNEXTSTEPは様々な独創的なGUI要素で知られ、他のOSやデスクトップ環境に大きな影響を与えた。グレースケールのシステムだったころよりアルファチャンネルを備えていたのは特筆すべき点である。

Linuxでは、GUIを提供するデスクトップ環境がいくつか存在する。Linuxで使えるGUIとして有名なものは、GNOMEKDEがある。

OSの歴史

1950年代 OS前史

1950年代、OSという概念が登場し始めた。初期のコンピュータはOSを持たなかった。しかし、システム管理用ソフトウェアツールやハードウェアの使用を簡素化するツールはすぐに出現し、徐々にその利用範囲を拡大していった。最初のOSは、IBM 701用にゼネラルモーターズが開発したもの、IBM 704用にゼネラルモーターズとノースアメリカン航空が共同開発したもの等、多くの候補があるが、どういった機能が搭載された時点でOSと呼ぶかによる。この時代のものをOSとは呼ばない場合もある[4]

当時は、パンチカード等から入力されたプログラム磁気テープに一旦保存し、その磁気テープを大型コンピュータに接続後、プログラムをロードして実行していた。そのため、入出力装置のドライバに当たるものが作成されていた。また、アセンブラコンパイラが登場し始めた時代なので、まずコンパイラをロードしてからプログラム(ソースコード)をロードし、コンパイル結果として出力されたアセンブリ言語をアセンブルするために、さらにアセンブラをロードするといった手続きが必要だった。こうした作業を自動化するバッチ処理がOSの機能として実現されていた。また、プロセスの状態を監視するモニタも実装されていた。

1960年代 OSの確立

1960年代前半には、OS機能の増強が進められた。スプールジョブ管理、記憶保護マルチプログラミングタイムシェアリングシステム、そして、仮想記憶の概念が登場し始めた。これらの概念を複数搭載するOSも登場していた。また、マルチプロセッシングシステムに対応するOSもあった。

1960年代後半には、OSは著しい進化を遂げた。現在のOSの概念や基本部分(カーネル)の技術の大半は、この時期に完成された。

OS/360は1966年からIBMのメインフレームで使われ始め、NASAが月に人間を送り込むことにも使われた。

1964年のIBM System/360シリーズに搭載されたOS/360は世界初の商用OSとされ、単一のOSシリーズで幅広いモデル(性能、容量、価格帯)と周辺機器を稼働させ、更にハードディスクドライブをサポートし、本格的な(プリエンプティブな)マルチタスクを実現した。「オペレーティングシステム」という用語が一般化したのもOS/360からである。従来は機種ごとに専用の制御ソフトが付属し「機種が変わればプログラムは書き直し、周辺機器は買い直し」が常識だったが、OSがアプリケーションに一貫した上位互換のAPIを提供する事で、OS/360用に書かれたプログラムは、40年以上経過した現在のz/OS上でもバイナリ互換で動作する。

この頃のもう1つの重要な進歩としてタイムシェアリングシステムの本格的な実用化がある。コンピュータの資源を複数のユーザーが並行的に使えるようにすることで、システムを有効利用するものである。タイムシェアリングは、各ユーザーに高価なマシンを独占しているかのような幻想を抱かせた。1965年Multicsのタイムシェアリングシステムは特に有名である。更に1967年にはSystem/360用に、商用初の仮想化OS(仮想機械)であるCP-40とCP-67が登場し、1台のコンピュータで同時に複数のOSを稼働できるようになったが、これもタイムシェアリングの応用である。

また仮想記憶1961年バロース B5000が商用初とされ、1970年のIBM System/370シリーズ用のOS/VSで広く普及した。コンピュータの利用形態としてオンライントランザクション処理データベース処理が普及したのもこの頃である。

1970年代-1980年代前半 分散システムの台頭

1970年代1980年代前半は、多種多様な分散システムが普及した。ミニコンピュータ用OSとしては、VMSが有名である。Multicsは1970年代の様々なOS、UNIXなどに影響を与えた。UNIXはオープンシステムと呼ばれ、ミニコンピュータからメインフレームまで広く普及した。

PC-DOS は、初期のコマンドラインインタフェースを持つパーソナルコンピュータ用OSである。

また1970年代には低価格なマイクロプロセッサが登場したが、初期のマイクロコンピュータは、メインフレームやミニコンピュータのような大規模なOSを搭載する容量もなかったため、ディスク管理程度の必要最低限の機能しか持たないOSが開発された。初期の特筆すべきOSとしてCP/Mがあり、8ビットのマイクロコンピュータで良く使われた。その大雑把なクローン(複製)として16ビットIBM PC用にPC DOSが生まれ、そのOEM版であるMS-DOSが普及した。これらはOSの提供する機能が少なく、画面制御など多くの機能は、アプリケーションが直接ハードウェアを操作する必要があったため、同じCPUを使用していても、ハードウェア(機種)が異なると互換性も失われた。このMS-DOSと後継のMicrosoft Windowsによって、マイクロソフトは世界有数のソフトウェア企業となった。

なお、1980年代の別の特筆すべき流れとして、GUIを標準装備したアップルコンピュータのMacintoshがある。MacintoshのOS (Mac OS) は、当時の性能的制約から、多くの部分がファームウェアの状態でハードウェアに組み込まれてはいたが、現在でいうウィジェット・ツールキットを含むToolboxと呼ばれるAPI群を持ち、アプリケーションにおけるGUIのデザイン開発をある程度まで標準化した。

マイクロプロセッサの高性能化と低価格化が進むと、業務用途のシステムでは、高機能な端末を大量に用意することが可能になり、UNIXをベースとしたクライアントサーバモデルが普及した。クライアント機であるワークステーションのOSとしてSunOSIBM AIXIRIXなどのUNIX系OSが用いられた。この時期には肥大化したUNIXの再設計の機運が高まり、マイクロカーネルという新しい設計手法が生まれ、成果としてMachなどのカーネルが作られた。しかし、UNIXの権利を持つAT&Tがライセンスに厳しい条件をつけるようになり、UNIXを自由に改変したり、改変した機能を外部に公開することができなくなった。このため、オープンシステムとしてのUNIXのオープンな文化は一時衰退に追い込まれた。さらにUNIXの標準規格を巡ってUNIX戦争が勃発し、UNIX市場は大きなダメージを受けた。

1980年代後半-2000年代初頭 次世代OSへの流れ

1980年代後半には、パソコンにも32ビット時代が到来し、1990年代に入ると、低価格なAT互換機でもメモリを十分に搭載すればPC-UNIXの利用が可能になりはじめた。当時のパソコンでは、OSとして最低限の機能しか持たないDOSが依然として使われており、GUIやネットワーク、マルチメディアに対応させるため、ベンダがDOSを様々な形で拡張したシステムソフトウェアや、ウィンドウシステムを搭載するようにもなったが、これは互換性や信頼性など様々な点で問題を発生させていた。こうした問題を解決するため、堅牢な(プリエンプティブな)マルチタスク機能、高度なネットワーク機能など、従来のUNIX(互換)ワークステーション並みの機能がパソコンにも求められるようになってきた。さらに、肥大化したソフトウェア開発の効率を改善するためにオブジェクト指向APIを導入し、Macintoshのように標準化されたGUIを備えることも求められた。これらの機能を備えたOSは「次世代OS」、「モダンOS」などと呼ばれた。

1987年にはIBMマイクロソフトが、パーソナルコンピュータ用に堅牢なマルチタスク機能・GUI(同年末の1.1より)・ネットワーク機能(拡張版)を装備したOS/2を発表した。1988年に登場したNEXTSTEPは、業務用途に耐える堅牢性・全面的なオブジェクト指向導入による柔軟性・高度なグラフィック機能・一貫したGUIといった、新世代のデスクトップOSで求められる機能を全て実現した。しかしこれらは当時のハードウェア性能では負荷が大きかったため広くは普及せず、代わりに、軽量だが堅牢なメモリ管理やマルチタスク機能は持たないMac OSや、Windows 3.x などのGUI環境が徐々に普及していった。これらは当時の限られたハードウェアでも快適に動作したが、安定性や機能では劣っていた。

UNIX(互換)系OSの流れでは、UNIXの権利を持つAT&T(1992年からはノベル)がソースコードの自由な改変を禁じていたことから、オープンソースのUNIX互換OSが開発されはじめる。1990年Hurdの開発が開始され、1991年に、Linuxフリーソフトウェアとして公開された。マイクロカーネルなどの新しい設計手法を採用し、トレンドに合わせたびたび設計が変更されたHurdの開発が停滞する一方、Linuxは保守的な設計とバザール方式という不特定多数の担い手による開発手法を採用し、迅速な開発が進められ、PC-UNIXのデファクトスタンダードとなった。ただしLinuxはOSの心臓部であるカーネルのみのため、カーネル以外のOSを構成するソフトウェアを揃えて自ら環境を整える必要があり、初期段階においては技術者などのごく一部の人たちにのみ使われていた。386BSDを皮切りにフリーのBSD系UNIXも登場したが、UNIXの権利者だったノベルとBSDを開発したカリフォルニア大学バークレー校との訴訟に巻き込まれ、開発中止を余儀なくされた(1994年からFreeBSDNetBSDの開発が再開される)。

1994年には、Windowsとしては初めて、32ビットに本格対応(カーネルの32ビット化)し、堅牢なマルチタスク機能を備えたWindows NTが登場した。ただこれも負荷や互換性の問題などから個人用途にはあまり普及せず、Windows 3.xを拡張しつつ、Windows NTの機能を限定的に取り入れたWindows 9x系との並存が続いた。WindowsがWindows NTベースに一本化されたのは2001年Windows XPからである。

また、アップルも同年、NEXTSTEPを発展させたMac OS Xを新たにリリース、従来のMac OSの後継となった。このころには低価格なパーソナルコンピュータでも、これらのOSの負荷を問題としないほどに高性能化しており、オープンで低価格な分散コンピューティングを広めた(ダウンサイジング)。

2000年代中盤以降 OSの多様化

2003年にはパソコンにも64ビット時代が到来し、OSも64ビット化が進んだが、16ビット化や32ビット化の際と比較するとOSの機能や役割に大きな変化はなかった。商用のパソコンOSを二分するWindowsとMac OS Xのいずれもが64ビットへの移行を徐々に進めていった。Windowsは同一バージョンのOSで32ビット版と64ビット版の双方を提供して、Mac OS Xは32ビットカーネルを維持したまま、一般プロセスに64ビット機能を持たせる道を選んだ。2000年代中頃まではパソコンの性能向上が著しかったため、デスクトップ用途の新しいオペレーティングシステムは同時代における高性能なパソコンを必要としていたが、2006年を境にしてCPUの性能向上の限界が顕著に現れ始めると、高効率化を目指した開発にシフトした。従って、新しいオペレーティングシステムの発売によるパソコンの買い替え需要も喚起し辛くなった。

オープンソースの流れでは、従来よりGNUUNIX向けのツール群を開発していたが、これらをLinuxカーネルと組み合わせたGNU/Linuxシステムが、2000年頃よりUnix系OSの主流となった。またBSD系OSもUNIX系OSのシェアの大きな部分を占めている。

一方、組み込みシステムにもより複雑な機能が求められるようになり、汎用OSをベースとした組み込みオペレーティングシステムが、従来主流だったリアルタイムOSを置き換えつつある。BSDおよびLinuxやWindows、Symbian OSなどが幅広い用途に使われている。

1990年代以降はダウンサイジングの流れにより、業務用途でもオープンシステムやWindowsへと主流が移行している中、信頼性・可用性を重視する用途には、現在でも専用OS(z/OS、MSP/XSP、VOS3ACOSなど)を搭載したメインフレームが採用され、使い分けられている。

2010年以降の展望 ユビキタス時代へ

2000年代に入りWindows NT系に代表される近代的なオペレーティングシステムがパーソナルコンピュータで一般化し、デスクトップOSの進歩も一段落した観がある。ハードウェアの高性能化にもかかわらず、システムソフトウェアが著しく肥大化・複雑化しているため、PC/AT互換機で稼働するWindows系OSなどでは依然としてOSの起動時間はほとんど変わっていないため、常時起動したまま席を離れる時はスリープして使うのが主流となった。なおこれは、他のプラットフォームには必ずしも該当しない。例えば起動に10数分もかかっていたNEXTSTEPと1-2分で起動する現在のmacOSを比較すると、その起動時間の短縮幅はそれなりに大きい。

多くのユーザーにとってパーソナルコンピュータはオーバースペック気味となり、高性能化したハードウェアをユーザーエクスペリエンスの改善につなげることが課題となっている。2000年代後半からはWindows VistaWindows 7やmacOSなどの新OSにおいて、高機能のマルチコアCPUやプログラマブルシェーダを搭載したビデオチップへの対応がトレンドとなっている。

パソコン市場が成熟化する一方で、近年顕著になっているのは、スマートフォンタブレットに代表される、デスクトップOSから派生した組み込みプラットフォームの台頭である。カメラGPS加速度センサージャイロスコープ無線LANBluetooth、狭い画面に最適化されたタッチパネル、などのインターフェースを組み込み、携帯機器の低消費電力の要求に応えたiOSAndroidなどのモバイルプラットフォームが注目を集め、モバイルコンピューティングが一般化しつつある。




[ヘルプ]
  1. ^ Operating System Market Share”. Net Applications. 2012年9月24日閲覧。
  2. ^ Microsoft Corporation. “Extended FAT File System”. 2007年10月20日閲覧。
  3. ^ Poisson, Ken. "Chronology of Personal Computer Software". Retrieved on 2008-05-07. Last checked on 2009-03-30.
  4. ^ Hansen, Per Brinch, ed (2001). Classic Operating Systems. Springer. pp. 4–7. ISBN 0-387-95113-X. http://books.google.com/?id=-PDPBvIPYBkC&lpg=PP1&pg=PP1#v=onepage&q. 


「オペレーティングシステム」の続きの解説一覧




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

オペレーティングシステムに関連した本

辞書ショートカット

カテゴリ一覧

全て

ビジネス

業界用語

コンピュータ

電車

自動車・バイク

工学

建築・不動産

学問

文化

生活

ヘルスケア

趣味

スポーツ

生物

食品

人名

方言

辞書・百科事典

すべての辞書の索引

「オペレーティングシステム」の関連用語

オペレーティングシステムのお隣キーワード

   

英語⇒日本語
日本語⇒英語
   
検索ランキング

画像から探す

Xperia A SO-04E

13インチMacBook Pro Retinaディスプレイモデル

Modbook

アークスライド

iPhone 5c

LEVI SOUND

XOOM

AQUOSケータイ





オペレーティングシステムのページの著作権
Weblio 辞書情報提供元は参加元一覧にて確認できます。

  
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのオペレーティングシステム (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2017 Weblio RSS