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

Slides:



Advertisements
Similar presentations
オペレーティングシステムと は オペレーティングシステム 第 3 回. 今回の講義内容 OS の目的 何のためにあるのか コンピュータの利用形態 パソコンだけではない いくつか補足.
Advertisements

Linuxを組み込んだマイコンによる 遠隔監視システムの開発
第2回 プロセス管理 ジョブ、プロセスとは? プロセスの状態遷移 プロセス制御ブロック スケジューリング.
コンピュータ概論B ー ソフトウェアを中心に ー #03 プログラムの実行形態 (前回の復習+残り)
計算機システム概論・3回目 本日のトピック:割込みと入出力制御について 割込み制御について 問題点の明確化 割込みとは
Chapter11-4(前半) 加藤健.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
榮樂 英樹 LilyVM と仮想化技術 榮樂 英樹
入 出 力 管 理 オペレーティングシステム 6/26/09.
1.コンピュータと情報処理 p.20 第1章第1節 3.ソフトウェア ソフトウェア 基本ソフトウェア
オペレーティングシステムⅡ 第11回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト.
Android と iPhone (仮題) 情報社会とコンピュータ 第13回
計算機システムⅡ 主記憶装置とALU,レジスタの制御
第2章 ソフトウェアの基礎知識 電子制御設計製図Ⅰ    2010年5月11日 Ⅲ限目.
応用情報処理V 第1回 プログラミングとは何か 2004年9月27日.
オペレーティングシステム (OSの機能と構造)
組込みシステムとは コンピュータ制御システム?
ソフトウェア階層 分類 具体例 応用ソフト 基本ソフト アプリケーションソフト 個別アプリケーション SEやユーザが開発するプログラム
計算機システム概論・2回目 本日のトピック:プロセスについて プロセスとは プロセスのスケジューリングについて 多重プロセスの問題 排他制御
講 義 ガ イ ダ ン ス オペレーティングシステム 第1回.
応用情報処理V 第1回 プログラミングとは何か 2003年9月29日.
高性能コンピューティング論2 第1回 ガイダンス
第5回 CPUの役割と仕組み3 割り込み、パイプライン、並列処理
割 込 み(1) オペレーティングシステム No.5.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
パソコンの歴史 ~1970年 1970年代 1980年代 1990年~ ▲1946 ENIAC(世界最初の計算機、1,900加算/秒, 18,000素子) ▲1947 UNIVACⅠ(最初の商用計算機) ▲1964 IBM System/360(5.1MHz, 1MB, 2億円) ▲1974 インテル8080(8.
UNIXについて 松野秀平.
専門演習Ⅰ 国際経済学部 国際産業情報学科 2年 石川 愛
情報コミュニケーション入門b 第6回 Part1 オペレーティングシステム入門
オペレーティングシステムとは オペレーティングシステム 第3回.
情報コミュニケーション入門e 第11回 Part1 オペレーティングシステム入門
コンピュータ リテラシー 担当教官  河中.
Androidアプリの作成 07A1069 松永大樹.
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
型付きアセンブリ言語を用いた安全なカーネル拡張
序章 第2節 教育機器とコンピュータ 1 パーソナルコンピュータ
前坂 たけし (北大院・理) 其の壱 はじめての BIOS 前坂 たけし (北大院・理)
OSの仕組みとその機能 1E16M001-1 秋田 梨紗 1E16M010-2 梅山 桃香 1E16M013-3 大津 智紗子
実行時情報に基づく OSカーネルのコンフィグ最小化
オペレーティングシステム イントロダクション
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第7回 授業計画の修正 中間テストの解説・復習 前回の補足(クロックアルゴリズム・PFF) 仮想記憶方式のまとめ 特別課題について
Ibaraki Univ. Dept of Electrical & Electronic Eng.
コンピュータの基本構成について 1E16M001-1 秋田梨紗 1E16M010-2 梅山桃香 1E16M013-3 大津智紗子
コンピュータ概論B ー ソフトウェアを中心に ー #02 システムソフトウェアと アプリケーションソフトウェア
プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~
情報コミュニケーション入門b 第6回 Part1 オペレーティングシステム入門
情報コミュニケーション入門e 第11回 Part1 オペレーティングシステム入門
オペレーティングシステム 第2回 割り込みとOSの構成
1.情報機器について知ろう(p.8-9) 第1章 第1節
1E17M053-9 奈良皐佑 1E17M070-7 師尾直希 1E17M078-6 渡邊惇
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第二回 Javaの開発環境 04A2029           古賀慎也.
Presented by なんでも作るつたい(隊)
ガイダンス 情報システム管理 ガイダンス 水野 嘉明 情報システム管理 1.
先週の復習: CPU が働く仕組み コンピュータの構造 pp 制御装置+演算装置+レジスタ 制御装置がなければ電卓と同様
コンピュータの仕組み 〜ハードウェア〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
コンピュータの仕組み ~ソフトウェア~ 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
明星大学 情報学科 2012年度前期     情報技術Ⅰ   第1回
オペレーティングシステム (OSの機能と構造)
Ibaraki Univ. Dept of Electrical & Electronic Eng.
コンピュータアーキテクチャ 第 9 回.
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
計算機アーキテクチャ1 (計算機構成論(再)) 第一回 計算機の歴史、基本構成、動作原理
オペレーティングシステム (OSの機能と構造)
明星大学 情報学科 2014年度前期     情報技術Ⅰ   第1回
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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