Comments
Description
Transcript
オペレー ティングシ ス テ ム 2016 class m emo
Operating System 2016 上記URLからpdf版閲覧可能 教科書⇒絶版になってしまった 当分は確認します! 上記URLからリンク 授業前に必ず印刷して持参する事 ハンドアウト 学内⇒file:///home/course/osrtk/public_html/2016/index.html 学外⇒http://web-ext.u-aizu.ac.jp/course/osrtk/ コースwebページ コースマテリアル オペレーティングシステム 2016 class memo 3 大津山 公平 研究棟122C(1階中央北側) [email protected] Operating System 2016 演習50点 中間試験20点 期末試験30点 小テスト10の範囲内で加点 評価は試験(中間・期末)と演習による 忌引き、インフルエンザ、医師の診断書が提出された 場合など 以下のような正当な理由なく試験を欠席した場合は「 放棄」となる 出席を兼ねた小テストを実施する 2/3以上の出席は必須 学則に従った講義/演習の受講要件で評価 授業の進め方 Operating System 2016 毎週水曜4限(M1)、演習5~6限(std5、6) テキスト モダンオペレーティングシステム (原著第二版 タネンバウム) クラス 講義1コマ +演習2コマ 担当 居室 Email コース情報 4 2 Operating System 2016 アプリケーションプログラム オペレーティングシステム+アプリケーション ハードウェア システムプログラム コンピュータシステムは以下の物で構成される カーネルモードあるい はスーパーバイザ モードで動作 ユーザモードで動作 Operating System 2016 イントロダクション 属性、名前、アクセス等 ファイルシステム(6章) メモリ管理、仮想記憶システム メモリ管理(4章) プロセスとスレッド プロセス間通信 スケジューリングとデッドロック プロセスとスレッド(2章~3章) 歴史 ハードウェアとOSの概念 システムコールとOSの構造 OSとは?(1章) 講義内容 7 5 右EDSAC(1949) Operating System 2016 配線の変更でプログラムを行う 左ENIAC(1946)の配線盤 第一世代(1945-55) 真空管と配線盤 1.2 OSの歴史(1) オペレーティングシステム 1 1.1~1.4 イントロダクション(1) 8 Operating System 2016 一般的なジョブ構成 – 第二世代 バッチジョブ の始まり FORTRAN 言語の指示 FORTRAN ソースコード オブジェクトの読み込み バッチジョブ の終わり 一連のバッチ用カード Operating System 2016 カードを読んでテープへ(1401入力装置) テープから入力し計算(7094CPU) 出力されたテープからプリンタへ出力(1401出力装置) バッチシステム :ジョブを一括処理して利用効率を高める 第二世代(1955-65) トランジスタとバッチシステム OSの歴史 11 9 メモリに複数のJobを 持ち, 順に実行する 10 Operating System 2016 12 メモリに3つのジョブを置き、同時実行 CTSS(Compatible Time Sharing System)に発展 マルチプログラミングシステム 第三世代(1965-1980) ICとマルチプログラミング OSの歴史 Operating System 2016 磁気テープとパンチカード Operating System 2016 Operating System 2016 富士通 M780(1985) 国産コンピュータ(2) IBM互換 ・小型から大型まで統一したアーキテク チャを使用し、ソフトウェアの互換性保障 ・小規模IC採用 ・汎用オペレーティングシステム ・汎用ソフトウェア体系 ファミリー思想 15 13 System360命名の意味 ↓ “全方位” ↓ 科学計算、事務計算など どんな用途にも IBM system 360 シリーズ システム制御卓 システム制御卓 PCベストセラーNEC9800(8ビット長) N88BASIC 高速行プリンタ 磁気ディスク パック装置 超大型 HITAC8800(32/128ビット長) 高速紙 テープリーダ 高速紙 テープリーダ 高速紙 テープリーダ 大規模ミニコン OKITAC4300(16ビット長) OSなし,アセンブラ&ローダのみ 低速紙テープリーダ/パンチ 付きキーボード/プリンタ Operating System 2016 コンピュータ本体 小型ミニコン HITAC10(16ビット長) OSなし,アセンブラ&ローダのみ 高速紙 テープリーダ 高速紙 テープリーダ 高速紙 テープリーダ 大規模ミニコン OKITAC4300(16ビット長) OSなし,アセンブラ&ローダのみ 低速紙テープリーダ/パンチ 付きキーボード/プリンタ Operating System 2016 コンピュータ本体 小型ミニコン HITAC10(16ビット長) OSなし,アセンブラ&ローダのみ 国産コンピュータ(1) PCベストセラーNEC9800(16ビット長) N88BASIC 高速行プリンタ 磁気ディスク パック装置 超大型 HITAC8800(32ビット長) 国産コンピュータ(1) 独自路線 16 14 Operating System 2016 Apple Macintosh SE/30(32ビット長) 1989 Operating System 2016 CPUの性能改善 (a) 3ステージパイプライン (b) スーパースカラCPU CPUはコンピュータの「頭脳」である。CPUは命令をメモリから 持って来て(フェッチ、fetch)、実行する。 CPUの基本的動作は、 最初の命令をメモリからフェッチし、その種類とオペランド を調べ(デコード)、実行する。 それから後続命令のフェッチ、デコード、実行を繰り返す。 このような処理でプログラムは実行される。 プロセッサ(CPU) NEC PC9801(16ビット長) 第四世代(1980-現在) パソコン OSの歴史 19 17 50~70ns 5~50μs 5~20ms 主記憶 (DRAM) フラッシュ 半導体メモリ 磁気ディスク ~数TiB ~1TiB ~数GiB 数KiB(L1)~ 数MiB(L3) 容量 Bus 18 0.05~0.1 0.75~1 10~20 500~1000 単価($/1GiB) 注)KiB=210 Byte、MiB=220 Byte、GiB=230 Byte、TiB=240 Byte 0.5~2.5ns 速さ (アクセス時間) CPU キャッ シュ (SRAM) メモリ階層 Operating System 2016 単純なPCの構成 1.4 ハードウェア 1 2 3 4 Operating System 2016 (a) I/O 機器の動作と割り込み (b) CPUへの割り込み方法 21 23 1 I/O割り込み 2 割り込みハンドラに制御がうつる I/O処理を行う 3 割り込み時実行していた命令の 次の命令を実行する 入出力デバイス Operating System 2016 1つのベース・リミットの対を使用する方法。プログラムは,ベースとリミットの問にあるメモリにアクセスできる。 複数のベース・リミットの対を使用する方法。プログラムのコードはベース1とリミット1の問にある。一方、データ はベース2とリミット2の間にある。 プログラム内のアドレス(仮想アドレス)を本当のメモリアドレス(物理アドレス)に変換する データ読み取り命令を発行 読み取り完了を通知 割り込みでCPUを中断 割り込みハンドラがデータを受領 マルチプログラミング時のメモリ Operating System 2016 大規模Pentiumシステムの構造 バス構造 複数枚のプラッタ 1983 IBM 16bitバス幅 16.67MB/s ISAの後継 64bitバス幅 528MB/s 磁気ハードディスクは磁性体を磁化して情報を蓄積する。 磁性体は円盤状の板(プラッタ)に塗布されており、可動アームの先にある磁 気ヘッドにより読み書きされる。 磁気ヘッドはプラッタ表面からわずかに浮いている。(何かの原因でヘッドが プラッタに接触し磁性体にダメージを与える事を「(ヘッド)クラッシュ」と呼ぶ) 現在はプラッタは3.5インチ(8.75cm) 又は2.5インチの大きさである。 アーム 大きな容量を得るために、数枚の プラッタが同軸上に回転し、表裏 全ての面にアームと磁気ヘッドが ある。 全てのアームは各プラッタに対して 独立には動かず、同じ動作をする。 磁気ヘッド 磁気ディスクの 構造 24