• 検索結果がありません。

計算機システム概論

N/A
N/A
Protected

Academic year: 2021

シェア "計算機システム概論"

Copied!
26
0
0

読み込み中.... (全文を見る)

全文

(1)

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

本日のトピック:やや先進的な話題

OSのネットワーク機能について OSを起動する仕組み

(2)

OSのネットワーク機能について:歴史

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

(3)

歴史的な流れ(2)

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

(4)

歴史的な流れ(3)

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

(5)

プロトコル

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

(6)

プロトコルの階層型設計

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

(7)

代表的な階層型モデル

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

(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 telnetd 80 23 ftpd 21 「宛先は hostA の 23 番ポート」 hostA

(11)

ポート管理とサービスの提供

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

(12)

ソケット

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

(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の場合 基本的な流れ 1. ハードウェア的に固定されたBIOSが起動 2. BIOSが,ブートに用いるデバイスを特定 3. 特定されたデバイス内のブート用プログラムに制御が映る 4. ブート用プログラムがOSを読み込み,制御を渡す 5. OSが各種の処理を開始する ブート用 プログラム OS BIOS

(18)

BIOS

Basic Input and Output System (基本入出力システム)

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

(19)

ブート用デバイス

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

(20)

BIOS とブート用プログラム

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

(21)

ハードディスクの二次ブートローダ

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

(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 そのような説に対する考え方を問うので,上記のページに 目を通しておくこと(プリントして持参することも可)

参照

関連したドキュメント

The complexity of dynamic languages and dynamic optimization problems. Lipschitz continuous ordinary differential equations are

第7層 第6層 第5層 第4層 第3層 第2層 第1層 無線端末 電力SM 特例計量器.

古安田層 ・炉心孔の PS 検層結果に基づく平均値 西山層 ・炉心孔の PS 検層結果に基づく平均値 椎谷層 ・炉心孔の

[r]

購読層を 50以上に依存するようになった。「演説会参加」は,参加層自体 を 30.3%から

この場合,波浪変形計算モデルと流れ場計算モデルの2つを用いて,図 2-38

自由回答でも「廃炉も解決しないうち、とても 安心して住めますか」

アリストクラシーの階級利益の代弁者でもなく,政党マシーンの歯車や階級