1 / 26

計算機システム概論・7回目

計算機システム概論・7回目. 本日のトピック:やや先進的な話題 OS の ネットワーク機能 について OS を 起動する仕組み 試験の実施方法について. アプリケーション. 高. OS. 入出力 管理 機構. プロセス 管理 機構. メモリ 管理 機構. 抽象レベル (論理性). 低. ネットワーク管理機構. OS のネットワーク機能について:歴史. 最初は ネットワーク機能なし 基本的に,コンピュータは単体で使用するもの ( スタンドアローン形態) peer-to-peer 接続 (1対1接続) の開始

drake-banks
Download Presentation

計算機システム概論・7回目

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 計算機システム概論・7回目 本日のトピック:やや先進的な話題 • OSのネットワーク機能について • OSを起動する仕組み • 試験の実施方法について

  2. アプリケーション 高 OS 入出力 管理 機構 プロセス 管理 機構 メモリ 管理 機構 抽象レベル (論理性) 低 ネットワーク管理機構 OSのネットワーク機能について:歴史 • 最初はネットワーク機能なし • 基本的に,コンピュータは単体で使用するもの (スタンドアローン形態) • peer-to-peer 接続 (1対1接続) の開始 • ネットワーク機能は,入出力装置の一種 • 低レベルの通信制御機能を提供

  3. 入出力 ネット ワーク プロセス 抽象レベル 低 高 入出力 ネット ワーク プロセス 抽象レベル 低 歴史的な流れ(2) • 多対多接続とサービスの拡大 • より抽象的で論理的なサービスの提供 • ネットを介した資源共用の窓口 • ファイルやプリンタなどの資源を,複数の計算機で 共用する機能を提供

  4. 入出力 ネット ワーク プロセス 入出力 プロセス 抽象レベル 低 ネットワーク 歴史的な流れ(3) • ネットを介した計算能力の提供窓口 • プログラムやサービスの一部を,ネットワーク上の 他の計算機にて実行 • クライアント・サーバ型サービスから分散型プロセスへ • (ネットワークの隠蔽) • ネットワークは,サービスを提供する「手段」の一部 • ネットワークを意識せずに操作ができる...

  5. プロトコル ネットワークの利用 = 異なるコンピュータ間での「対話」 • 「対話」のための約束事をきめておく必要がある =「プロトコル(通信プロトコル)」 プロトコルのジレンマ: • 同じプロトコルを使わないと,対話ができない ⇒全員を縛るような標準化が必要 • ネットワーク技術は進歩が速い ⇒過去に縛られない柔軟性が必要

  6. プロトコルの階層型設計 プロトコルのジレンマへの対処: ⇒ プロトコルを階層的に設計する • 下は,ハードウェアに依存する階層 • 上は,高度に論理的な階層 • 各階層の「部品」を交換すれば,柔軟に拡張可能 • 各部品の仕様(機能)だけを決めておけばよい

  7. 代表的な階層型モデル • どのように階層化するのが良いか • OSIの7階層モデル • デファクトスタンダードの5階層モデル(TCP/IPモデル) アプリケーション層 アプリケーション層 プレゼンテーション層 区別する意義 があまりない セッション層 L4 トランスポート層 トランスポート層 L3 ネットワーク層 インターネット層 L2 データリンク層 データリンク層 物理層 物理層 OSIの7階層モデル 5階層モデル(TCP/IPモデル)

  8. TCP/IP • TCP/IP:元来はARPAネット,BSD版UNIXでの開発・実装 • インターネットの「事実上の標準(デファクトスタンダード)」 • TCP: 5階層モデルのトランスポート層に相当 • IP:5階層モデルのインターネット層に相当 応用プロトコル アプリケーション層 TCP, UDP トランスポート層 IP IP IP インターネット層 データリンク層 物理層 ルータ ルータ ホストA ホストB

  9. 階層モデルとOSの機能 プロトコル階層の全機能を,OSが提供するわけではない • 典型的な「切り分け」方 アプリケーションソフト アプリケーション層 トランスポート層 カーネル インターネット層 データリンク層 デバイスドライバ 物理層 機器のファームウェア • トランスポート層の機能が,ユーザにサービスを提供 • 「ソケット」と呼ばれるAPIを利用して, • 「ポート」と呼ばれる機構を提供

  10. ポート • アプリケーション層:多くのアプリケーションプロセスが存在 • Web, telnet, ftp, …. • 情報の出入り口(インタフェイス):1~数個 受け取った情報を,アプリケーションに振分ける機構が必要 ⇒ ポート= 私書箱,のようなもの httpd 80 telnetd 23 「宛先は hostA の 23 番ポート」 ftpd 21 hostA

  11. 宛先:Sの 80番,発信元:Cの 3820番 要求内容:http://… の内容を送れ 宛先:Cの 3820番,発信元:Sの 80番 応答内容:<HTML><HEAD>… ポート管理とサービスの提供 • 標準的なサービスを提供するアプリケーション: あらかじめ特定のポート番号が割り振られている • http…80番,telnet…23番,ftp…21番,smtp…25番 • 一般のプロセス:「予約」されていない番号を利用する 予約済番号 未使用番号の一つ サーバS クライアントC httpd 80 3820 explorer 4719 firefox telnetd 23

  12. 1 2 79 ソケット ポートは,OSが提供する資源の一種 • プロセスがポートを使いたい時は,OSからポートを「借りる」 • プロセス内部に「ソケット」を準備する • ソケットとポートを接続する • (通信相手でも,同様の対応をしておいてもらう) プロセス プロセス

  13. ソケットを利用した通信 ソケットに関して, OSが提供する機能(システムコール): • ソケットを新しく作る socket() • ソケットとポートを結びつける bind() • 情報を受け取れる状態にする listen() • ポートを介して,2個のソケットを結びつける connect() • 情報の送受信 read(), write() • ソケットを閉じる close() socket() bind() listen() read(), write() close() socket() bind() connect() write(), read() close() 受動側ホスト 能動側ホスト

  14. プロセス ファイル 外部への接続の場合 プロセス プロセス 内部での接続の場合 ソケットについて,余談 ソケットは,同一ホストの他のソケットにも情報送受信可能 • 同一ホスト内で使用する場合,ポートは割り当てない • ファイル名を割り当てて,ソケットの住所代わりに プロセス間通信の道具にもなる

  15. この続きは,専門の科目で...

  16. OS起動の仕組み • コンピュータは,メモリ上のプログラムしか実行できない • 電源投入直後は,メモリの内容は空 • OSを,どこかから持ってくる必要アリ • どこにあるのか,どうやって持ってくるのか.... ⇒ プログラムにより,コンピュータに指示する必要あり ⇒ ブートストラップのジレンマ http://www.devdrv.co.jp/hidaka/node/18 にあったイラストから

  17. 電源投入からOS起動まで • ブートストラップ処理は,時代によって変遷してきた • ここで紹介するのは,今日の典型的なPCの場合 基本的な流れ • ハードウェア的に固定されたBIOSが起動 • BIOSが,ブートに用いるデバイスを特定 • 特定されたデバイス内のブート用プログラムに制御が映る • ブート用プログラムがOSを読み込み,制御を渡す • OSが各種の処理を開始する BIOS ブート用 プログラム OS

  18. BIOS Basic Input and Output System (基本入出力システム) • ROMやフラッシュメモリ等,不揮発性メモリに格納される • 電源起動直後にBIOSを読み込むよう,ハードウェアを構成 • 機器の相違を吸収し,基本的な入出力処理を可能に • モニタ解像度,キーボード配列,ディスク仕様... 提供する機能 • ハードウェア的な故障診断(セルフテスト) • ブート用デバイスの特定 BIOS CPU ROM メモリ RAM

  19. ブート用デバイス • 一台の計算機には,複数の入力装置が存在 • (一般には複数の)ハードディスク装置 • CD-ROMドライブ,フロッピーディスクドライブ • USBメモリ etc... どの装置からOSを探し出すか? • 各装置の優先度を事前に決めておき,設定を保存しておく • 優先度の順で,ブートに利用できる装置を探していく ブートに利用できる装置が見つかれば... その装置に格納されたブート用プログラムに制御を渡す

  20. BIOS とブート用プログラム • 異なる入力装置は,異なる仕組みで動いている • 「任意の入力装置を動かすための仕組み」を,すべて BIOSに持たせることは困難 • ROM容量は有限,新しい機器への対応ができない... • BIOSから,当該装置用プログラムにバトンタッチする • BIOS... 一次ブートローダ • 入力装置内のブート用プログラム...二次ブートローダ と呼ばれることも 二次 ブート ローダ BIOS

  21. ハードディスクの二次ブートローダ • 一台の装置に,複数のボリューム(パーティション)が存在 • どのパーティションを使うのか,選択が必要 ... BIOS が直面していた問題と,ほぼ同じ構図 • ハードディスクでの二次ブート処理を,さらに二段階に分割 • ディスクの先頭部分に格納されたブートローダが • ボリュームの先頭部分に格納されたブートローダをロード hd0a hd0b hd0d hd0a

  22. MBR MBR (Master Boot Record) • ディスクの先頭の,ブートローダを格納する部分 • ブートセクタ,ブートブロックとも • PC/AT互換機では,MBRは512バイト分(ディスクの1セクタ) • 0~445バイトにブートローダのプログラム • 446~509バイトにパーティション情報 • 510, 511バイトに固定シグネチャ(0x55, 0xAA) • MBRが壊れると,ディスクが読めなくなる • MBRがウィルスに汚染されると,コンピュータが乗っ取られる

  23. OS起動の最終段階 • MBRに格納されたブートローダが,ブートパーティションを特定 • パーティションの先頭には,別のブートローダが待機 • ここまでくれば... 当該パーティションを,ファイルシステムとしてアクセス可能 • 特別な名前のファイルを OSと理解してロードする • vmunix, vmlinux, kernel ... • OS起動に関連する設定を,ファイルから読み込む • grub.conf ... • OSが展開され,起動される

  24. まとめ 本日のまとめ • OSのネットワーク機能について • OSを起動する仕組み 講義全体(楫担当分)のまとめ • OSに関する基礎的な要素を紹介した • 今日実用に供されているOSには,あてはまらない部分も

  25. 試験の実施方法について • 5月30日(水)1限(通常の講義時間) • L3講義室(この部屋) • 中島先生の授業内容 + 楫の授業内容 • 講義資料(書き込み可)の持ち込みを認める

  26. 楫担当分の受験にあたって 【重要】 楫担当分の受験にあたって • 「クラウド化が進むと,OSは消えていく」という説がある • http://www.sekarasika.com/archives/2165 • http://www.gizmodo.jp/2011/10/icloud_2.html • http://mojix.org/2010/09/12/os-kieteiku そのような説に対する考え方を問うので,上記のページに 目を通しておくこと(プリントして持参することも可)

More Related