計算機システム概論

28
計計計計計計計計計 計計計計計計計計計計計計計計計計計計計計計計 計計計計 計計計計計 () ... 計計計計計計計計計計計計計計計計 計計計計 計計 () ... 計計計計計計計計計計計計 計計計計 (OS)

description

計算機システム概論. コンピュータアーキテクチャの基本について学ぶ 前半部分(中島先生) ... 主としてハードウェアに関するお話 後半部分(楫) ... オペレーティングシステム(OS)について. 講義スケジュール. 教科書は指定しない 楫担当分の講義資料(この PowerPoint のファイル) http ://apal.naist.jp/~kaji/lecture/ 月曜 2限,水曜1 限. 5月. 6月. 月水 7 9 1416 2123 2830. 月水 4. ✘. (木曜授業の実施のため). 試験. 本日の講義. - PowerPoint PPT Presentation

Transcript of 計算機システム概論

Page 1: 計算機システム概論

計算機システム概論

コンピュータアーキテクチャの基本について学ぶ

前半部分(中島先生) ... 主としてハードウェアに関するお話

後半部分(楫) ... オペレーティングシステム(OS)について

Page 2: 計算機システム概論

講義スケジュール

教科書は指定しない楫担当分の講義資料(この PowerPoint のファイル)

http://apal.naist.jp/~kaji/lecture/

月曜2限,水曜1限

2

5月月 水 7 914 1621 2328 30

6月月 水 4

試験

✘(木曜授業の実施のため)

Page 3: 計算機システム概論

本日の講義

オペレーティングシステムについて学ぶ

本日の講義内容:オペレーティングシステム( OS )とは何かOS の役割とはOS が備えている機能について

本日は,あくまでも「概論」次回以降の講義で,技術的な詳細について詳しく述べる

3

Page 4: 計算機システム概論

OS とは何か: OS のない計算機

昔のパソコン(マイコン):プログラムを実行するには,カセットテープからロード同時に一つのプログラムしかロードできないメインメモリのどの部分を使用するか,強く意識入出力装置へのアクセスも直接的

4

シャープ MZ-80C , 1980 年発売,定価 268,000 円CPU: Z-80 (2MHz), 4KB ROM + 48KB RAM写真出典 http://www.itoi.co.jp/attic/time3.html

ハードウェアとプログラムが直接的に結びついている

Page 5: 計算機システム概論

OS がないと何が困るか

ハードウェアとプログラムが直接的に結びついていると ...ハードウェアの性能を最大限に引き出せるハードウェアが変わると,ソフトが使えなくなる

5

ハードウェア A

ソフトウェア

ハードウェア B

ソフトウェア

MZ-80C日本電気 PC-8001http://www.itoi.co.jp/attic/time41.html

Page 6: 計算機システム概論

OS のある世界

現在のパソコン:プログラムの格納場所やロード方法は意識不要ハードウェアを直接駆動する必要もない複数のプログラムを安全・同時に実行可能機器が多少変化しても,プログラムは共通利用可能

ハードウェアの仕組みは,基本的に昔から変わっていない昔は人間が直接やっていたことを,

オペレーティングシステム(OS)がサポートしてくれる

OSは,裏方仕事を引き受ける特別なプログラム6

Page 7: 計算機システム概論

OSの役割

OS:裏方仕事をひきうける特別なプログラムシステムを使いやすくする計算機資源を効率よく利用する複数のサービスを同時かつ安全に提供する

etc...

現在のOS:非常に複雑で,多様な役割を負う昔はもっとシンプル:

歴史を追うことで,実像が見えてくる

7

Page 8: 計算機システム概論

初期のコンピュータシステム

草創期のコンピュータ:パンチカードからプログラムやデータを入力プログラムは機械語で記述出力は紙テープやラインプリンタ別プログラムに切り替えるには,システムリセット

8高級言語,コンパイラ オペレーティングシステム

パンチカード

プログラムの作成が面倒カードの取り扱いが大変プログラムの切り替えも面倒

Page 9: 計算機システム概論

第1世代の OS

第1世代の OS (1950年代)プロセッサの利用効率の向上が主目的バッチジョブの概念が登場

バッチジョブ:プログラムの読込と起動,データ投入,出力結果の

記録等,一連の操作内容を一まとめにしたもの

ユーザがコンピュータを直接操作するのではなく,「操作内容」だけを伝え,適当なタイミングでの処

理を依頼する9

UNIVAC 1

Page 10: 計算機システム概論

第1世代 OS の処理の流れ

第1世代 OS が提供する機能バッチジョブの受付

ユーザから投入されたジョブを受け付けるバッチジョブの切り替え

ジョブ実行環境を初期化し,新しいジョブを開始する

10

OS

ジョブ受付結果出力 ジョブ切替

プロセッサ

Page 11: 計算機システム概論

第1世代 OS の特徴

各ジョブが順番にプロセッサを占有するジョブの占有時間中に,プロセッサが遊んでしまうことも ...

プロセッサのスピード > 入出力装置のスピード

11

アクティブアイドルデータ送受信

プロセッサ

入出力装置

プロセッサ処理と入出力操作を並列化する仕組みが出現オフライン入出力,バッファリング,スプーリングetc.

補助的な仕組みと,メインのプロセッサとの調整が必要 ⇒ OS の仕事

Page 12: 計算機システム概論

プロセッサと入出力処理について

直接駆動プロセッサが出力装置の速度に

歩調をあわせる

12

バッファリング(キュー)出力装置がデータを一時保管し,

プロセッサの処理中に裏で作業

一時保管場所(バッファ)が使用中

ならば,プロセッサは待機スプーリング

バッファを,高速大容量の磁気ディスクで実現入出力の順序やタイミングの調整が可能

プロセッサ

入出力

プロセッサ

入出力

プロセッサ

入出力スプール

Page 13: 計算機システム概論

第2世代の OS

第1世代OS:各ジョブが順番にプロセッサを占有する柔軟性の欠如 ... 「急ぎの仕事」に対応できない応答性の悪さ ... プログラムミスの発見が遅れる

第2世代の OS (1960年代前半)ユーザの利便性を改善することが強く意識される「複数のプログラムが同時並行的に実行」

...されているように見せる仕組みの実現

ユーザは,「自分が計算機を占有している」ように使える

13

GE-200

Page 14: 計算機システム概論

タイムシェアリングシステム

タイムシェアリングシステム( TSS, 時分割処理)プロセッサが,複数のプログラムを少しずつ実行する短い時間(タイムスライス)で,プログラムを切替える

14

トータルの実行時間は変わらない(切替オーバヘッドのため,効率は

若干低下)ユーザの利便性は向上

⇒ 生産性の著しい向上

時間経過 時間経過

遂次処理 時分割処理

将棋の多面指し

Page 15: 計算機システム概論

TSS と仮想計算機

時分割処理は,ユーザが計算機を独占しているように「錯覚」させるための仕組み各ユーザに「独立した仮想計算機」を提供している他ユーザのプログラムの影響を受けないように ...ユーザのミスがシステム全体に影響しないように ...

15仮想計算機

実際の計算機

Page 16: 計算機システム概論

プロセスの概念の登場

独立した仮想計算機:個別のプログラム個別の計算環境(メモリやレジスタ等)

を保有している

プロセッサは,時分割で,「各仮想計算機の動作をシミュレートする」

実行中の計算環境まで含めた仮想計算機をプロセスと呼ぶ

16

Page 17: 計算機システム概論

第3世代の OS

第2世代 OS :TSS により,「仮想計算機」をユーザに提供

第3世代の OS (1960年代後半~70年代前半)抽象性と汎用性の導入仮想計算機:

論理的な存在で,比較的自由に設計可能–ハードウェアが違っても,同じ仮想計算機を ...–ハードウェア上の制約からの脱却⇒ 仮想記憶などの技術が確立

17

Page 18: 計算機システム概論

マイルストーン: IBM OS/360

IBM System/360 :1964 年発売の汎用計算機ファミリー目的や用途に応じて,自由度の高い組合わせが可能

18

IBM System/360IBM の Web ページより

IBM OS/360 :IBM System/360 で採用されたOSハードウェアの差異を吸収し,高い汎用性を実現仮想記憶等,当時として最新の技術を導入

Page 19: 計算機システム概論

第4世代の OS

1970 年代後半 ... コンピュータの小型化,利用者の小集団化コンピュータ単体の性能が「小粒」に大規模コンピュータ用の OS は「重すぎる」機能をそぎ落とし,技術的に退化する動きも

第4世代の OS (1970年代後半~現在?)自己完結するのではなく,「協調作業」を前提とする

仕組みの導入プロセス間通信ネットワーク対応

ユーザインタフェイスの充実

19

Micro VAX 3900

Page 20: 計算機システム概論

プロセス間通信

プロセス = 仮想計算機 + 実行中の計算環境元々は,他のユーザの存在を意識させないための仕組み

プロセス間通信の基本的な考え方単純な機能を持つプロセスを,必要に応じて稼働させるある機能が必要なときは,それ専門のプロセスに照会する

20

サーバプロセス

クライアントプロセス

Page 21: 計算機システム概論

プロセス間通信の拡張

プロセス間通信 ... 一台のコンピュータ内に限定する必要はない

「他のコンピュータで稼働しているプロセスとの通信」へ,

自然に拡張可能

21

ファイルサーバ,プリンタサーバ,メールサーバ etc...

Page 22: 計算機システム概論

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

元来はミニコン,ワークステーション用OS1970 年代初頭に誕生,以降のOSに大きな影響を及ぼす

機能のモジュール化⇒ 部品を付け足すように, OS の機能を拡張可

能パイプ,ソケット等の概念

⇒ シンプルで使いやすいプロセス間通信機能を提供豊富なネットワーク機能

⇒ インターネットの礎を築く

高い移植性,優れたパフォーマンスセキュリティ,安定性,堅牢性に優れた,完成度の高いOS

22

Page 23: 計算機システム概論

UNIX の歴史

初期バージョンの開発は, AT&T (ベル研究所)が主体独占禁止法の関係で,当初は比較的自由に配布可能

⇒ 急速な普及,発展を遂げる

BSD UNIX... カリフォルニア大バークレー校AT&T版をベースに,大規模な機能改善を加えたもの豊富なネットワーク機能の実現

AT&T が分割され, UNIX の商用利用が可能に厳しいライセンス管理,不毛な法廷闘争開発は停滞,オープンソース UNIX へ

23

Page 24: 計算機システム概論

オープンソース UNIX

UNIX と同様の機能,操作性を提供するOSソースコードが公開されており,誰でも無料で利用可能

GNU/Linux: GNU のソフトウェア群と Linux カーネルカーネル:自動車のエンジン,に相当ソフトウェア群:自動車の他の部品,に相当

FreeBSD, NetBSD etc...

派生技術は,他の OS にも取り込まれているMac OS, Android ...

24

Linus Torvalds

Page 25: 計算機システム概論

パソコン由来の OS

初期のパソコン ...非常に機能が低く, OS によるオーバヘッドが無視できない極限まで機能を削ぎ落した「 OS もどき」を採用

MS-DOS ... Microsoft Disk Operating System当初は,基本的なファイル管理機能のみを提供後に, UNIX ライクな機能を追加

Mac OS ... Apple社 Macintosh 向けの OS革新的なユーザインタフェースの提供技術革新への対応遅れ ⇒ UNIXベースの Mac OS X へ

25

Page 26: 計算機システム概論

現在のOS(1)

現在のOS:これまでの技術を蓄積,多くの役割を背負っている

1. 計算資源の有効利用プロセッサを遊ばせない

2. ハードウェアの差異の吸収プログラムの再利用が可能となる

3. 論理的で使いやすい計算環境の提供プログラミングが楽になるユーザの負担を小さくする

26

Page 27: 計算機システム概論

現在のOS(2)

4. プロセスの独立性・安全性保障他のユーザに邪魔されない計算環境を実現あるユーザのミスが,他のユーザやシステム全体に

影響しないような仕組みを実現

5. 協調作業をサポートする仕組みの提供同一計算機内でのプロセス間通信ネットワーク機能等,外部世界との架け橋

27

Page 28: 計算機システム概論

本日のまとめ

OS とは何か歴史役割機能

28