第3章 情報工学の基礎 3.1 3.2 3.3 3.4 情報量 単位と数の表現方法 論理回路 コンピュータ 3.4 コンピュータ 3.4.1 3.4.2 コンピュータとは コンピュータの利用 3.4.1 コンピュータとは (1)コンピュータの5大機能 中央処理装置(CPU) 入力機能 演算機能 制御機能 記憶機能 出力機能 (2)各機能の役割 ①演算機能 : 算術計算や論理演算を行う。 ②制御機能 : 機械語命令の解読,実行制御を行う。 ③記憶機能 : プログラムや実行時のデータを記憶する。 ④入力機能 :プログラムやデータを読み込み,主記憶装置に転送する。 ⑤出力機能 : 処理結果を出力する。 通信機能は, 入力機能と出力機能を併せ持つ入出力機能のひとつ としてみなすことができる。 (3)各機能を果たす装置 ①演算機能を果たす装置 :演算装置(ALU:Arithmetic Logical Unit) ②制御機能を果たす装置 :制御装置(CU:Control Unit) これらを併せて 中央処理装置(CPU:Central Processor Unit) ③記憶機能を果たす装置 :主記憶装置(Main Memory Unit) ④入力機能を果たす装置 ⑤出力機能を果たす装置 :入力機器(Input Device) :出力機器(Output Device) これらを併せて 入出力機器(I/O Device: Input/Output Device) (4)補助記憶装置と仮想メモリ 入出力機器のうち, ①大量のデータ保存が可能 ②他の入出力機器より比較的高速アクセスが可能 例えばハードディスク 主記憶装置のメモリが不足した場合, 主記憶装置の替わりに使用されることがある。 装置 補助記憶装置 (Auxiliary Memory Device) 補助記憶装置内に格納された領域 仮想メモリ (Virtual Memory) (5)ハードウェアの基本構成 (通信機能用の装置を含める) データ 端末装置 通信回線 中央処理装置 演算部 制御部 通信制御 処理装置 転送装置 (チャネル) 入力装置 出力装置 記憶装置 主記憶装置 補 助 記憶装置 (6)信頼性からみたハードウェアの構成方法 シンプレックスシステム (単一の構成) 通 信 制 御 装 置 分配装置 デュプレックスシステム 故障がおきた時点で切り替える。 主記憶 装 置 主記憶装置 中央処理装置 通信制御 装 置 補助記憶装置 通信制御 装 置 補助記憶装置 系1 中央処理装置 主記憶装置 チェック機構 中央処理装置 補助記憶装置 主記憶装置 系2 切 替 装 置 中央処理 装 置 中央処理 装 置 主記憶 装 置 切 替 装 置 補 助 記憶装置 (予備系) デュアルシステム 両系で同一処理を行い, 処理結果を照合しあい, 照合結果が不一致の場合, 障害発生系を切り離す。 (7)マルチプロセッサ方式 共有メモリを持つ方式 共有メモリを持たない方式 I/Oバス CPU 1 CPU 2 CPU 2 入出力 チャネル 入出力 チャネル 入出力 チャネル デッドロック 制御 CPU 1 CPU 2 CPU 2 共有メモリ メモリ 1 メモリ 2 メモリ 2 ①電子回路的に密に結合される。 ②共有メモリアクセスで デッドロック制御が必要。 ③同一のOSで実行する必要がある。 ①CPU間はチャネルやI/Oバスを 介して結合。 ②プロセッサのOSが異なってもよい。 ②プロセッサ間で通信を行う必要がある。 3.4.2 コンピュータの利用 (1)オペレーティングシステムとは コンピュータハードウェアを効果的に利用するために, ハードウェアと各種アプリケーションに介在して, タスク管理やメモリ管理など基本的な処理を行うソフトウェア 各種アプリケーション/ユーティリティプログラム オペレーティングシステム(OS:Operating System) プログラム の読込み タスクの 実行管理 使用メモリ 領域の管理 入出力機器 の割当て (2)オペレーティングシステムの目的 ①スループットの向上 ②ターンアラウンドタイムの短縮 ③信頼性の向上 ④使いやすさの向上 [用語の意味] スループット : 単位時間内に処理できる仕事量 (throughput) ターンアラウンドタイム : コンピュータに処理依頼を出してから (turnaround time) 処理結果が利用者の手に渡るまでの時間 (3)スループットの向上 CPUが動作していない遊休時間(idle time)を短縮することが重要 (a)ジョブの連続処理 Job 1 Job 2 Job 3 Job 4 人手による操作実行 OSによる自動実行 Job 1 準備時間 Job 2 Job 3 Job 4 短縮時間 実行時間 後処理時間 (b)多重プログラミング(入出力処理速度はCPUの速度に比べて遅いことを利用) Job 1 Job 2 入出力装置 単純実行 Job1 CPU処理 CPU 入出力装置 1 入出力装置 2 短縮時間 Job2 CPU処理 (4)ターンアラウンドタイムの短縮 (汎用大型コンピュータの場合) 多重度の上げ過ぎ スループットは良くなるが,入出力の待ち時間で, ターンアラウンドが長くなる。 このようなときは ジョブに優先度を付け, 緊急度の高いジョブのターンアラウンドを短縮する (5)多重プログラミングにおけるタスク管理 コンピュータ処理の最小単位をタスクと呼ぶ タスク生成 実行可能 状態 ジョブ開始 入出力割込み 待ち状態 タスク タスク待ち行列 タイマ 割込み ディスパッチ SVC割込み タスク消滅 ジョブ終了 実行状態 (6)タスクスケジューリング方式 実行可能状態のタスクを実行状態に移す方式 ①到着順方式(FCFS:First Come First Serve) ②優先度順方式 ③最短ジョブ優先(SIF:Shortest Job First) ④ラウンドロビン方式 ⑤多重待ち行列方式 ⑥フィードバック待ち行列方式 ⑦イベントドリブンスケジューリング方式 ⑧マルチスレッド ① 実行可能状態のタスクを実行状態に移す方式 ①到着順方式(FCFS:First Come First Serve) オーバヘッドが少ないがCPUを占有する割合が高く入出力が少ない タスクを優先してしまう。 ②優先度順方式 ③最短ジョブ優先(SIF:Shortest Job First) ④ラウンドロビン方式 ⑤多重待ち行列方式 ⑥フィードバック待ち行列方式 ⑦イベントドリブンスケジューリング方式 ⑧マルチスレッド ② 実行可能状態のタスクを実行状態に移す方式 ①到着順方式(FCFS:First Come First Serve) ②優先度順方式 タスクに優先度を付けてCPUを割り当てる。優先度の低いタスクに いつまでも実行権が渡されないスタベーション(starvation:無期延 期)が生じることがある。 ③最短ジョブ優先(SIF:Shortest Job First) ④ラウンドロビン方式 ⑤多重待ち行列方式 ⑥フィードバック待ち行列方式 ⑦イベントドリブンスケジューリング方式 ⑧マルチスレッド ③ 実行可能状態のタスクを実行状態に移す方式 ①到着順方式(FCFS:First Come First Serve) ②優先度順方式 ③最短ジョブ優先(SIF:Shortest Job First) 連続してCPUを使用する時間が短いジョブを優先する。ただし, CPUを使用する時間を予想することが困難である。 ④ラウンドロビン方式 ⑤多重待ち行列方式 ⑥フィードバック待ち行列方式 ⑦イベントドリブンスケジューリング方式 ⑧マルチスレッド ④ 実行可能状態のタスクを実行状態に移す方式 ①到着順方式(FCFS:First Come First Serve) ②優先度順方式 ③最短ジョブ優先(SIF:Shortest Job First) ④ラウンドロビン方式 各タスクに一定のタイムスライスを与え,タイムスライスを使い 切ったタスクを実行可能待ち行列の末尾に置く方式。比較的単純な スケジューリングであり,公平に実行権を与えることができる。 ⑤多重待ち行列方式 ⑥フィードバック待ち行列方式 ⑦イベントドリブンスケジューリング方式 ⑧マルチスレッド ⑤ 実行可能状態のタスクを実行状態に移す方式 ①到着順方式(FCFS:First Come First Serve) ②優先度順方式 ③最短ジョブ優先(SIF:Shortest Job First) ④ラウンドロビン方式 ⑤多重待ち行列方式 ラウンドロビン方式に優先度を付ける方法。 ⑥フィードバック待ち行列方式 ⑦イベントドリブンスケジューリング方式 ⑧マルチスレッド ⑥ 実行可能状態のタスクを実行状態に移す方式 ①到着順方式(FCFS:First Come First Serve) ②優先度順方式 ③最短ジョブ優先(SIF:Shortest Job First) ④ラウンドロビン方式 ⑤多重待ち行列方式 ⑥フィードバック待ち行列方式 多重待ち行列方式を拡張して,擬似的に最短ジョブ優先を実現する 方式。起動直後のタスクに最も高い優先度と短いタイムスライスを 与え,タイムスライス内に終了しなかった場合,一段低い優先度と 一段長いタイムスライスを設定して待ち行列に入れる。以後,これ を繰り返すことで,短いタスクほど起動直後の高い優先度を与えら れた状態で終了する可能性が高くSJFに近い結果が期待できる。 ⑦イベントドリブンスケジューリング方式 ⑧マルチスレッド ⑦ 実行可能状態のタスクを実行状態に移す方式 ①到着順方式(FCFS:First Come First Serve) ②優先度順方式 ③最短ジョブ優先(SIF:Shortest Job First) ④ラウンドロビン方式 ⑤多重待ち行列方式 ⑥フィードバック待ち行列方式 ⑦イベントドリブンスケジューリング方式 入出力チャネルや周辺機器からのイベント発生にしたがって,スケ ジューリングを行う。対話型処理が多い場合に適しており,ラウン ドロビン方式等と組み合わせることが多い。 ⑧マルチスレッド ⑧ 実行可能状態のタスクを実行状態に移す方式 ①到着順方式(FCFS:First Come First Serve) ②優先度順方式 ③最短ジョブ優先(SIF:Shortest Job First) ④ラウンドロビン方式 ⑤多重待ち行列方式 ⑥フィードバック待ち行列方式 ⑦イベントドリブンスケジューリング方式 ⑧マルチスレッド タスクをさらに小さな単位に分割し,それを細かい時間単位で切り替 える。小さな単位をスレッド,軽量プロセスと呼ぶ。スレッドはタ スクに割り当てられたメモリを使用するため,OSのオーバヘッドが 少ない。データベースやマルチプロセッサ方式のコンピュータに有 利である。 (7)仮想マルチプロセッサシステム 1つのCPU内に論理的な複数のプロセッサを持つことで, 単一CPUを論理的な2つ以上のCPUとみせて, 結果的に処理能力を高める手法もある。 この手法では命令を先読みし, 投機実行しておく方法が採用される。 [例]インテルのハイパースレディングテクノロジー 投機実行:無駄になるかもしれないが,前もって後の命令を実行しておくこと。
© Copyright 2024 ExpyDoc