コンピュータの予備知識 ネットワークシステムⅠ 第4回 インターネットでは いろいろなコンピュータが使われる 新しいもの,古いもの データが送られる途中で,何が起きるか分からな い ということを頭の隅に置いて,受講してください 知っているとは思うが… CPU メモリ バス CPUやメモリが接続され, 電気信号が流れる バッファ buffer 速度の異なる機器の間に置く記憶装置(つまり, メモリの一種)で,速度の差を吸収する キ ャ ッ シ ュ (1) cache バッファの一種(つまり,メモリの一種) 速度が速い装置が,遅い装置に同じデータを複 数回要求するときに使われる キ ャ ッ シ ュ (2) 最初は実際に読み出し,キャッシュに格納し,2 回目以降はキャッシュ内のデータを用いる キ ャ ッ シ ュ (3) 元のデータとキャッシュのデータが一致しなくなる 場合がある ブラウザでも用いられる 履歴 proxy 更新前のページが 表示されることがある キュー queue 待ち行列と呼ばれるデータ構造 バッファを実現する 格納された順に,読み出される FIFO : First In First Out スタック stack 最後に格納したデータが,最初に読み出される ようなデータ構造 LIFO : Last In First Out 食堂のトレイの積み方 コンピュータ内のデータ表現(1) 0と1の組合せ 01000001(2進数 binary) 41 (4桁ずつ区切り16進数で表現) 数値 65 (10進数として) 文字 A (アスキーコード) 文字については後述 デ ー タ 表 現 (2) ビット(bit) 2進数の1桁 デ ー タ 表 現 (2) バイト(byte) 8桁の2進数 いつも8桁ではない! コンピュータにより異なる ネットワークには,どんなコンピュータが接続さ れているか分からない オクテット(octet) オクテットは必ず8桁 デ ー タ 表 現 (3) 1バイトに入らないデータは,複数のバイトに格 納される 格納する順序 ビッグエンディアン(big endian) リトルエンディアン(little endian) デ ー タ 表 現 (4) (12ABEF)16 を100番地から格納 ハードウェアにより異なる デ ー タ 表 現 (5) データは,すべて0/1で 文字は文字コード 文字を文字コード(数値)に対応させる 複数の対応がある(のが混乱の原因) 対応を間違えると,文字化け デ ー タ 表 現 (6) 日本語の漢字コード 1字を16ビット JIS (ISO-2022-JP) Shift JIS EUC UNICODE 日本語だけではない 文 字 化 け (1) ブラウザの設定とデータの文字コードが異なって いると… 文 字 化 け (2) 例 IE 転送中のデータ誤り 先の文字化けは設定ミス 転送中のデータの誤り 通信回線は外部から影響を受けることがある 雑音(ノイズ) 転送中のデータが変化することがある “0101010” を転送中に “0111010” となることがある パ リ テ ィ (1) 転送するデータに含まれる“1”の数を数える 例 “0101010” 7ビットのデータ中に“1”は3つ パ リ テ ィ (2) 転送するデータの最後に “1”の数が偶数なら“1”を “1”の数が奇数なら“0”を 付け加えて,データを送る 例 データが “0101010”なら “01010100”を送る パ リ テ ィ (3) つまり,送信するデータ中の“1”の数を奇数個に する “01010100” (最後に“0”を付ける) “01010001” (最後に“1”を付ける) 受信側で“1”の数を数え,偶数個であったら,そ のデータは誤りであることが分かる “01010101” (誤り!) 誤り検出 パ リ テ ィ (4) 転送中に2ビット変わったら,誤りを検出できない 例 “01010100” が “00110100” となっても, 受信側では誤りを検出できない パ リ テ ィ (5) 以上のように,送信するデータ中の“1”の個数を 奇数個にするものを 奇数パリティ “1”の個数を偶数個にする場合もある 偶数パリティ パ リ テ ィ (6) 実際には,転送するデータを一定の大きさに区 切って適用する 通信だけに用いられる手法ではない メモリから読み出したデータのチェック この手法を“パリティチェック(parity check)”と呼 ぶ パ リ テ ィ (7) ハミングコードチェック(hamming code check) 付加するビットを増やして,誤りの検出だけで なく,訂正も可能としたもの もちろん,完全なものではない パ リ テ ィ (8) 誤り検出・訂正の手法は他にもある どのような方法があり,どのような特徴がある か? 我々の身のまわりでも使われている 音楽用CD チ ェ ッ ク サ ム (1) 送信するデータの合計を求め,データだけでなく 合計も送り,受信側でチェックに用いる 後で出てくる チ ェ ッ ク サ ム (2) 例 24ビットのデータ オクテット(8ビット)ごとに区切り, 和を求める 00110011 01000100 01110111 和 11101110 データ これも送信する チ ェ ッ ク サ ム (3) 受信側でも同様にして,和を求める 送られてきた和と比較する 各オクテットでパリティチェックをすることもある 合計といっても,単純な和でない場合もある 誤りをみつけたら 訂正できる手法を用いているなら,訂正 検出だけなら,どうするか? そのデータは使えない 再度,送信してもらう 再送が無理な場合は? ま と め ま と め(1) 特殊なメモリ バッファ キャッシュ データ構造 キュー スタック ま と め(2) データ表現 コンピュータの内部ではビット列 ビット,バイト,オクテット 同じビット列が,数値データや文字データなど として解釈される 文字コード 何種類かある ま と め(3) 転送中にデータが変わることがある 送信したビット列と受信したビット列が異なる パリティ チェックサム データが変化していたらどうするか こんなところにも I S B N (1) 参考文献1の裏表紙 I S B N (2) International Standard Book Number 流通している書籍に振られている一意の番号 例 ISBN978-4-274-06876-8 日本だけでない 以前は10桁であったが,13桁になった 日本の出版社が出版した本は978で始まる I S B N (3) 978-4-274-06876-8 グループ記号(国など) 出版者記号 書名記号 検査数字(check digit) からなる 4 274 06876 8 I S B N (4) 検査数字 検査数字(最後の桁の数字)を除く,各桁の数 字から計算で求める I S B N (5) 一意の番号なので,本の注文の時に使える どこか間違えると別の本になるかも知れないの で,検査数字を導入している
© Copyright 2025 ExpyDoc