第1章 電気工学の基礎

第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とみせて,
結果的に処理能力を高める手法もある。
この手法では命令を先読みし,
投機実行しておく方法が採用される。
[例]インテルのハイパースレディングテクノロジー
投機実行:無駄になるかもしれないが,前もって後の命令を実行しておくこと。