Presentation is loading. Please wait.

Presentation is loading. Please wait.

計算機システム概論 コンピュータアーキテクチャの基本について学ぶ 前半部分(中島先生)...主としてハードウェアに関するお話 後半部分(楫)...オペレーティングシステム(OS)について.

Similar presentations


Presentation on theme: "計算機システム概論 コンピュータアーキテクチャの基本について学ぶ 前半部分(中島先生)...主としてハードウェアに関するお話 後半部分(楫)...オペレーティングシステム(OS)について."— Presentation transcript:

1 計算機システム概論 コンピュータアーキテクチャの基本について学ぶ 前半部分(中島先生)...主としてハードウェアに関するお話 後半部分(楫)...オペレーティングシステム(OS)について

2 講義スケジュール 教科書は指定しない 楫担当分の講義資料(このPowerPointのファイル)
月曜2限,水曜1限 5月 6月 月 水 7 9 14 16 21 23 28 30 月 水 4 (木曜授業の実施のため) 試験

3 本日の講義 オペレーティングシステムについて学ぶ 本日の講義内容: オペレーティングシステム(OS)とは何か OSの役割とは
本日は,あくまでも「概論」 次回以降の講義で,技術的な詳細について詳しく述べる

4 OSとは何か:OSのない計算機 昔のパソコン(マイコン): プログラムを実行するには,カセットテープからロード
同時に一つのプログラムしかロードできない メインメモリのどの部分を使用するか,強く意識 入出力装置へのアクセスも直接的 ハードウェアとプログラムが 直接的に結びついている シャープ MZ-80C,1980年発売,定価 268,000円 CPU: Z-80 (2MHz), 4KB ROM + 48KB RAM 写真出典

5 OSがないと何が困るか ハードウェアとプログラムが直接的に結びついていると... ハードウェアの性能を最大限に引き出せる
ハードウェアが変わると,ソフトが使えなくなる ハードウェアA ソフトウェア ソフトウェア ハードウェアB 日本電気 PC-8001 MZ-80C

6 OSのある世界 現在のパソコン: プログラムの格納場所やロード方法は意識不要 ハードウェアを直接駆動する必要もない
複数のプログラムを安全・同時に実行可能 機器が多少変化しても,プログラムは共通利用可能 ハードウェアの仕組みは,基本的に昔から変わっていない 昔は人間が直接やっていたことを, オペレーティングシステム(OS)がサポートしてくれる OSは,裏方仕事を引き受ける特別なプログラム

7 OSの役割 OS:裏方仕事をひきうける特別なプログラム システムを使いやすくする 計算機資源を効率よく利用する
複数のサービスを同時かつ安全に提供する etc... 現在のOS:非常に複雑で,多様な役割を負う 昔はもっとシンプル: 歴史を追うことで,実像が見えてくる

8 初期のコンピュータシステム 草創期のコンピュータ: パンチカードからプログラムやデータを入力 プログラムは機械語で記述
出力は紙テープやラインプリンタ 別プログラムに切り替えるには,システムリセット プログラムの作成が面倒 カードの取り扱いが大変 プログラムの切り替えも面倒 パンチカード 高級言語,コンパイラ オペレーティングシステム

9 第1世代のOS 第1世代のOS(1950年代) プロセッサの利用効率の向上が主目的 バッチジョブの概念が登場 バッチジョブ:
プログラムの読込と起動,データ投入,出力結果の記録等, 一連の操作内容を一まとめにしたもの ユーザがコンピュータを直接操作するのではなく, 「操作内容」だけを伝え,適当なタイミングでの処理を依頼する UNIVAC 1

10 第1世代OSの処理の流れ 第1世代OSが提供する機能 バッチジョブの受付 ユーザから投入されたジョブを受け付ける バッチジョブの切り替え
ジョブ実行環境を初期化し,新しいジョブを開始する プロセッサ OS 結果出力 ジョブ切替 ジョブ受付

11 第1世代OSの特徴 各ジョブが順番にプロセッサを占有する ジョブの占有時間中に,プロセッサが遊んでしまうことも...
プロセッサのスピード > 入出力装置のスピード プロセッサ 入出力装置 アクティブ アイドル データ送受信 プロセッサ処理と入出力操作を並列化する仕組みが出現 オフライン入出力,バッファリング,スプーリングetc. 補助的な仕組みと,メインのプロセッサとの調整が必要 ⇒ OSの仕事

12 プロセッサと入出力処理について 直接駆動 プロセッサが出力装置の速度に 歩調をあわせる バッファリング(キュー)
出力装置がデータを一時保管し, プロセッサの処理中に裏で作業 一時保管場所(バッファ)が使用中 ならば,プロセッサは待機 プロセッサ 入出力 プロセッサ 入出力 スプール スプーリング バッファを,高速大容量の磁気ディスクで実現 入出力の順序やタイミングの調整が可能

13 第2世代のOS 第1世代OS:各ジョブが順番にプロセッサを占有する 柔軟性の欠如...「急ぎの仕事」に対応できない
応答性の悪さ...プログラムミスの発見が遅れる 第2世代のOS(1960年代前半) ユーザの利便性を改善することが強く意識される 「複数のプログラムが同時並行的に実行」 ...されているように見せる仕組みの実現 ユーザは,「自分が計算機を占有している」ように使える GE-200

14 タイムシェアリングシステム タイムシェアリングシステム(TSS, 時分割処理) プロセッサが,複数のプログラムを少しずつ実行する
短い時間(タイムスライス)で,プログラムを切替える 遂次処理 時分割処理 時間経過 時間経過 トータルの実行時間は変わらない (切替オーバヘッドのため,効率は若干低下) ユーザの利便性は向上 ⇒ 生産性の著しい向上 将棋の多面指し

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

16 プロセスの概念の登場 独立した仮想計算機: 個別のプログラム 個別の計算環境(メモリやレジスタ等) を保有している プロセッサは,時分割で,
「各仮想計算機の動作をシミュレートする」 実行中の計算環境まで含めた仮想計算機をプロセスと呼ぶ

17 第3世代のOS 第2世代OS: TSSにより,「仮想計算機」をユーザに提供 第3世代のOS(1960年代後半~70年代前半)
抽象性と汎用性の導入 仮想計算機: 論理的な存在で,比較的自由に設計可能 ハードウェアが違っても,同じ仮想計算機を... ハードウェア上の制約からの脱却 ⇒ 仮想記憶などの技術が確立

18 マイルストーン:IBM OS/360 IBM System/360: 1964年発売の汎用計算機ファミリー
目的や用途に応じて,自由度の高い組合わせが可能 IBM System/360 IBMのWebページより IBM OS/360: IBM System/360で採用されたOS ハードウェアの差異を吸収し,高い汎用性を実現 仮想記憶等,当時として最新の技術を導入

19 第4世代のOS 1970年代後半...コンピュータの小型化,利用者の小集団化 コンピュータ単体の性能が「小粒」に
機能をそぎ落とし,技術的に退化する動きも 第4世代のOS(1970年代後半~現在?) 自己完結するのではなく,「協調作業」を前提とする 仕組みの導入 プロセス間通信 ネットワーク対応 ユーザインタフェイスの充実 Micro VAX 3900

20 プロセス間通信 プロセス = 仮想計算機 + 実行中の計算環境 元々は,他のユーザの存在を意識させないための仕組み
プロセス間通信の基本的な考え方 単純な機能を持つプロセスを,必要に応じて稼働させる ある機能が必要なときは,それ専門のプロセスに照会する クライアント プロセス サーバ プロセス

21 プロセス間通信の拡張 プロセス間通信...一台のコンピュータ内に限定する必要はない 「他のコンピュータで稼働しているプロセスとの通信」へ,
自然に拡張可能 ファイルサーバ,プリンタサーバ,メールサーバ etc...

22 UNIX オペレーティングシステム 元来はミニコン,ワークステーション用OS 1970年代初頭に誕生,以降のOSに大きな影響を及ぼす
機能のモジュール化 ⇒ 部品を付け足すように,OSの機能を拡張可能 パイプ,ソケット等の概念 ⇒ シンプルで使いやすいプロセス間通信機能を提供 豊富なネットワーク機能 ⇒ インターネットの礎を築く 高い移植性,優れたパフォーマンス セキュリティ,安定性,堅牢性に優れた,完成度の高いOS

23 UNIXの歴史 初期バージョンの開発は,AT&T (ベル研究所)が主体 独占禁止法の関係で,当初は比較的自由に配布可能
⇒ 急速な普及,発展を遂げる BSD UNIX...カリフォルニア大バークレー校 AT&T版をベースに,大規模な機能改善を加えたもの 豊富なネットワーク機能の実現 AT&Tが分割され,UNIX の商用利用が可能に 厳しいライセンス管理,不毛な法廷闘争 開発は停滞,オープンソース UNIX へ

24 オープンソースUNIX UNIXと同様の機能,操作性を提供するOS ソースコードが公開されており,誰でも無料で利用可能
GNU/Linux: GNU のソフトウェア群と Linux カーネル カーネル:自動車のエンジン,に相当 ソフトウェア群:自動車の他の部品,に相当 FreeBSD, NetBSD etc... 派生技術は,他のOS にも取り込まれている Mac OS, Android ... Linus Torvalds

25 パソコン由来のOS 初期のパソコン... 非常に機能が低く,OSによるオーバヘッドが無視できない
MS-DOS ... Microsoft Disk Operating System 当初は,基本的なファイル管理機能のみを提供 後に,UNIXライクな機能を追加 Mac OS ... Apple社 Macintosh 向けのOS 革新的なユーザインタフェースの提供 技術革新への対応遅れ ⇒ UNIXベースの Mac OS X へ

26 現在のOS(1) 現在のOS:これまでの技術を蓄積,多くの役割を背負っている 計算資源の有効利用 プロセッサを遊ばせない
ハードウェアの差異の吸収 プログラムの再利用が可能となる 論理的で使いやすい計算環境の提供 プログラミングが楽になる ユーザの負担を小さくする

27 現在のOS(2) プロセスの独立性・安全性保障 他のユーザに邪魔されない計算環境を実現 あるユーザのミスが,他のユーザやシステム全体に
影響しないような仕組みを実現 協調作業をサポートする仕組みの提供 同一計算機内でのプロセス間通信 ネットワーク機能等,外部世界との架け橋

28 本日のまとめ OSとは何か 歴史 役割 機能


Download ppt "計算機システム概論 コンピュータアーキテクチャの基本について学ぶ 前半部分(中島先生)...主としてハードウェアに関するお話 後半部分(楫)...オペレーティングシステム(OS)について."

Similar presentations


Ads by Google