基本情報技術者試験まとめ

基本情報技術者試験に出題される内容をまとめました。

タスク管理

<タスクの状態遷移>

・実行可能状態:タスクがCPUを使えるようになるのを待っている状態

・実行状態:タスクがCPUを使って実行している状態

・待ち状態:自分が要求した入出力動作が終わるのを待っている状態

 

①実行可能状態から実行状態へ

 タスクが生成されると、まず実行可能状態になる。自分の番がきてCPUが使えるようになると、実行状態へ移る。

 

②実行状態から実行可能状態へ

 割り当てられたCPUの使用時間を使い切った時や、実行中に別のタスクからCPUの使用権を奪われた場合、実行状態のタスクは一時中断し、再び実行可能状態になる。

 

③実行状態から待ち状態へ

 実行状態中に入出力動作が発生すると、自分が要求した入出力処理が終わるまで待ち状態となる。

 

④待ち状態から実行可能状態へ

 入出力処理が終了すると、再び実行可能状態になる。

 

 

<タスクスケジューリング方式>

タスクスケジューリング方式

 複数のタスクをどの順番で実行すべきか決める方法

 

優先度方式

 優先度の高いタスクから順に実行する方式

 

タイムスライス方式(ラウンドロビン方式)

 複数のタスクに対して均等にCPU処理時間を割り当て、順番通りに実行する方式。

 

ノンプリエイティブなスケジューリング方式

 OSがタスクを切り替えるのではなく、実行状態のタスクが自ら待ち状態に遷移するか、終了するまで他のタスクが実行状態に遷移しない方法

 

プリエイティブなスケジューリング方式

 OSが強制的にタスクを切り替える方式

 

マルチプログラミング(マルチタスク、多重プログラミング)

 タイムスライス方式では、非常に小さな時間単位でタスク処理を実行しているため、まるで複数のタスクが同時並行で処理されているように見える。見かけ上、複数のプログラムが同時に実行されているように見えるOSの働きのこと。

 

 

<割込み処理>

割込み処理

 実行中のタスクを一時中断して、別のタスクの処理に切り替える仕組み

 

内部割込み

プログラム割込み

 桁あふれやゼロによる徐算など、プログラム上のエラーによって発生する割込み

SVC割込み

 プログラム内部から入出力装置を使う時など、監視プログラム(SVC:SuperVisor Call)を呼び出す時に発生する割込み

 

外部割込み

マシンチェック割込み

 ハードウェアの誤動作や故障により発生する割込み

入出力割込み

 入出力動作が終了した時に発生する割込み

タイマ割込み

 プログラムの実行時間が割り当てられた時間を超えた時に、指定された時間が経過したらその旨を通知するインターバルタイマによって発生する割込み

 

スプーリング

 タスクの実行結果である出力データを一時的に高速な補助記憶装置に蓄えることで、印刷など出力までの待ち時間を減らす方法