• マルチメディア化 (音声,静止画, 動画, ...)
@@
OSも大規模なネットワークを想定したものにする必要がある。例えば、
• セキュリティ対策が必要。
4.7 代表的なオペレーティングシステムの発展
{吉沢1.4.7節} (1) OS/360とその発展:
•1964年 IBM System/360 · · · OS/360
(a) 多重プログラミング (b) 統一したファイル管理
SAM (Sequential Access Method) DAM (Direct Access Method)
•1970年 IBM System/370 · · · OS/VS1, OS/VS2-Rel.1 (c) 仮想記憶
(d) 大規模なOLTP (On-Line Transaction Processing) (e) VTAM (Virtual Telecommunication Access method)
•1974年 · · · MVS (OS/VS/2 Rel.2.1) (f) TSSの標準装備
(g) 多重仮想記憶(各ジョブに独立な16MBの仮想記憶 空間)
(h) 2種類の多重プロセッサをサポート
TCMP (Tightly Coupled Multi-Processor) LCMP (Loosely Coupled Multi-Processor)
•198?年 · · · MVS/ES
(i) 多重仮想記憶空間の拡張 31ビットのアドレス空間
=⇒ 各ユーザの仮想記憶空間が2GBに拡張
(j) 拡張サブチャネルにより入出力スループットの大 幅な改善を図る。
(2) UNIXの発展: · · · MIT, GE, ベル研が共同で開発を進めたMulticsがあまりにも 大規模な汎用TSSになった反省から生まれた、柔軟性が高くて使い勝手の良いTSS用の (小型)OS。
•1969年 UNIXの開発に着手 (AT&T ベル研 K.L.Thompson & D.M.Ritchie) 設計目標:
(a) TSSを前提にした対話型システム
(b) 木構造のファイルシステム (c) 柔軟なコマンドインタープリタ
(d) プログラマ向きの機能豊富なテキスト編集
(e) C言語によるシステム記述
=⇒ どんなコンピュータにも移植可能
(f) C言語ソースコードの公開
=⇒ 大学・研究者などにより様々な拡張が為された
•1969年 初版をミニコン PDP-7上に開発
•1971年 ミニコン PDP-11に移植(Ver.2)
•1972年 C言語とそのコンパイラを開発
•1973年 C言語を用いてUNIXのソースを全面的に書き換え(Ver.5)
=⇒ どんなコンピュータにも移植が簡単に行えるようになった
•1974年 UNIXを発表
•1975年 (Ver.6の)ソースコードが外部の大学や研究所にも配布されるようになった。
=⇒ 大学・研究者などにより様々な拡張が為された。
•1977年 BSD (California大学Berkley校; K.L.Thompsonの指導, Bill Joy)
•1980年 4.1BSD がスーパーミニコンVAX用に開発される。
•1982年 ワークステーションSun /4.2BSD (Sun Microsystems社)
•1983年 4.2BSD
UNIX Ver.6からの拡張点:
(a) 仮想記憶 (b) Cシェル
(c) viエディタ (d) メールシステム
(e) TCP/IPネットワーク,ソケット(トランスポート層のサービスを
利用してアプリケーションを書こうとする時のインターフェース)
•1983年 UNIX System V (AT&T)
•1985年 NFS(Network File System) (Sun Microsystems社)
•1986年 X-Windowシステム (MIT)
•1980年代 高性能RISCプロセッサをベースにしたUNIXワークステーション
分散環境下での利用
WS群の統括管理 プリンタサーバ ファイルサーバ
電子メールのサービス
(後にWWWサーバ)
•1989年8月 WWWのプロジェクト(スイス欧州素粒子物理研究所Tim.Berners-Lee)
•1991年8月 無償提供のMINIXクローン(Linus Torvalds フィンランド)
•1992年1月 Linux 0.12 (これ以降様々な人達が開発に参加)
•1993年12月 FreeBSD 1.0
•1994年 WWWブラウザMosaic
4.7. 代表的なオペレーティングシステムの発展 33
(イリノイ大NCSA, National Center for Supercomputing Applications) (3) パソコン用OSの発展:
•1977年 Apple II (Apple社 Steve Jobs; BASIC)
•1979年 表計算ソフトVisicalc (Apple II用)
•1979年 8ビットパソコンPC-8001 (日本電気)
•1981年 MS-DOS (Microsoft社)
•1981年 IBM PC / MS-DOS
•1982年 16ビットパソコンPC-9800 (日本電気)
•1983年 表計算ソフト Lotus 1-2-3
•1984年 Macintosh (Apple社)
GUIによって使い易さを追求
ディスプレイ画面をデスクトップ(机の上の仕事場)と見なす レーザプリンタと組み合わせてDeskTopPublishing
•1992年 Windows 3.1 (Microsoft社)
•1994年 WWWブラウザ Mosaic
•1995年 Windows95 (Microsoft社)
•1998年 Windows98 (Microsoft社)
演習問題
□演習 4.1 分散処理の利点を述べよ。
<第3〜7回> 概説部(基礎編)
5 割込み
• 割込みと例外(吉沢2.1.1節,谷口2.2節),
• 割込みの種別(吉沢2.1.2節),
• 割込み処理呼び出しの機構(吉沢2.1.3節,谷口 2.2.1節),
• 割込み処理の中身(吉沢2.1.2節,谷口2.2.2〜3 節),
• 多重プログラミングを容易にする割込み機構(吉 沢2.1.4節),
• OSの機能呼び出し(吉沢2.1.5節)
5.1 割込みとは何か ? — 割込みと例外 —
{吉沢2.1.1節, 谷口2.2節} 通常は、一般プロセス群とOSが代わる代わるCPUを使っている。しかし、計算機を 稼働している際には、ハードウェアの誤動作, 電源異常,ユーザプログラムのエラー,並行 して独立に動作させている入出力機器からのメッセージ到着、といった事象(event)が起 こり得る。 これらの事象は緊急の処置を要するものが多いので、通常はこれらの事象に 対して、CPUの使用主体をOS(の然るべきルーチン)に切替えて、OSが
(1) 計算機がその時点で実行している処理を一旦中断(interrupt)し、
(2) 起こった事象に対する処置を完了した上で、
(3) 元々実行していた処理を再開する、
といったことを行う。 これらの切替え機能を一般に割込み(interrupt)と言う。また、割込 みを引き起こす原因を割込み要因(causes of interrupts)、個々の割込み要因に対して行わ れる処置を割込み処理(interrupt handling)と言う。従って、割込みは プロセス等→OS(割 込み処理ルーチン) への切替えの1つの手段を与えていることになる。
'
&
$
% 補足:
吉沢(2000)や岩波情報科学辞典では0による除算なども割込み事象の一種(内
部割込み)と見ているが、谷口(2000)は対処の仕方/目的の違いを理由に割込み と区別し、0による除算を始めとしたソフトウェア異常に対処する機能を例外 (exception)と呼んでいる。
同様の見方の違いは実際のコンピュータシステムにおいても見受けられる。
割込みが必要な理由: 計算機の生産性の低下を防ぎ、またシステムを安全に保つため に、いつ起こるか分からない割込み要因に対して即座にCPUの使用主体をOS(の然るべ きルーチン)に切替えて、OSが緊急の処置を施す必要があるから。
割込みレベル: 割込み処理中に別の割込みが発生する可能性もある。 そのため、各々の 割込みには割込みレベルが設定され、割込み処理の間の実行の優先度が決められている。