基本情報技術者試験対策~ソフトウエア編の5つのポイント(タスク管理、スプーリングなど)を詳細解説~

暗記する項目が多いソフトウエア編ですが、逆に言えば覚えてしまえば高得点が狙えます。

主な論点を紹介します。

【目次】気になる所をクリック!

タスク管理

「各タスクを実行し・・・CPUの遊休時間は何ミリ秒か?」

「出力待ちが長い順に並べてたのはどれか?」

などのタスク管理の問題は、ちょっと時間がかかっても下のような図に書いた方が早いです。

この例だとCPU Aが3秒処理した後、にBが2秒処理する形です。

ここで問題になってくるのが、「競合するかしないか」です。

例えば、上の例でCPUは1個であれば競合し、待たなければなりませんが、CPU2個なら待つ必要はありません。

これは問題文で「1CPUは1コアで構成され,I/Oは競合せず,OSのオーバヘッドは考慮しないものとする。」などと与えられるので落ち着いていきましょう。

これだけ覚える!!

  • タスク管理は図にする
  • どれが競合(待ち)するか確認する

記憶領域の管理

仮想記憶かそれ以外かで用語が異なるので注意です。

実記憶(メモリ)や補助記憶(HDD)関係

セクタ磁気ディスク装置のデータ記録の最小単位
セグメント実記憶空間や仮想記憶空間を論理的に分割する単位
フラグメンテーション  主記憶上に発生する不連続な未使用領域のこと、又はその現象
メモリリークプログラムに使われたメモリが使用後も解放されず主記憶に残っている状態。繰り返すとエラーや停止が発生する。
スワッピング 主記憶のプログラムが待ち状態時に、プログラムを実行中のまま補助記憶上のスワップファイルにうつし、他のプログラムを主記憶にロードすることで主記憶の効率的な利用を行う方法

仮想記憶関係

ページという考え方はよく出ます。

ページ仮想アドレスを「ページ」と呼ばれる固定長の長さに分け,主記憶上も同様に固定長に分けます。
ページ単位で主記憶と補助記憶装置のアドレス変換を行う方式(これをページング方式という)
スラッシング    仮想記憶は,割り当てられる実記憶の容量が小さいとページアウト,ページインが頻発し,処理能力が低下すること主記憶の容量が十分でない場合に、ページ置き換え処理が多発。
スラッシングは、このシステムのオーバーヘッドが増加し、実行中のプログラムのCPU率が少なくなる現象のこと。

ちなみに、補助記憶装置から主記憶にページを移すことをページイン,逆に主記憶から補助記憶装置に移すことをページアウトといいます。

間違えやすいポイント

単語で間違えやすいのが次のフレームです。

また、「スワッピング」と「ページング」が分かりにくいですが、スワッピングがプログラム(プロセス)単位なのに対し、ページングはページ単位の違いがあります。

フレーム フレームは、イーサネットなどのデータリンク層における基本的な伝送単位

これだけ覚える!!

  • 仮想記憶かそれ以外か注意。仮想記憶はページング

プログラムの有効活用、制御

マルチタスクタスク実行中に,入出力命令の実行によってCPUがアイドル状態だとほかのタスクにCPUを割当すること。
割込み実行中のプログラムを一時中断して,制御プログラムへ
スプーリング主記憶装置と入出力装置のデータ転送を補助記憶装置を通して行いシステムの処理能力を高める。
スプーリングとはプリンタなどの入出力装置へのデータ転送を磁気ディスク装置などを通じて実行する機能のことです
ディスクキャッシュ    多くのバッファで構成されたバッファプールを用い,主記憶のバッファにアクセスするヒット率を上げ,補助記憶装置のアクセスを短くします。

「スプーリングを行う目的はどれか。」の問題について

基本情報技術者試験で問われる「スプーリングを行う目的」に関して、スプーリングは主にコンピュータシステムにおける入出力処理の効率化を目的として用いられます。スプーリング(Spooling)は、Simultaneous Peripheral Operations On-lineの略で、複数のジョブ(タスクやプロセス)が周辺機器(特にプリンタやディスクなど)を共有して使用する際のデータ管理技術です。

スプーリングの主な目的と特徴:

  1. 入出力の効率化: コンピュータの処理速度は高速ですが、周辺機器(特に出力機器)は比較的遅いことが多いです。スプーリングを使用すると、コンピュータはデータを一時的に高速な記憶媒体(通常はハードディスク)に保存し、後でゆっくりと周辺機器へ送信できます。これにより、CPUは他のタスクに素早く移ることができ、全体のシステムの効率が向上します。
  2. ジョブ管理の改善: スプーリングシステムは、複数のジョブが同時に同一の周辺機器を使用しようとする際の衝突を防ぐ役割も担います。スプーリングシステムは入出力要求を一時的に保存し、適切なタイミングで順序よく処理します。これにより、ジョブ間の競合を解消し、システムの安定性と信頼性が向上します。
  3. ユーザーエクスペリエンスの向上: ユーザーが出力を待つ時間が短縮されるため、全体的なユーザーエクスペリエンスが向上します。スプーリングによってジョブがバックグラウンドで効率的に処理されるため、ユーザーは他の作業に集中できるようになります。
  4. リソースの最適化利用: スプーリングにより、リソース(CPU時間、メモリ、周辺機器)の利用が最適化されます。ジョブの優先順位に基づいてリソースが割り当てられるため、重要なタスクが高い優先順位で処理されるようになります。

基本情報技術者試験では、スプーリングがシステムの効率をどのように向上させるか、そして複数のプロセスやジョブが周辺機器を効果的に共有するためにどのように機能するかという点が問われることがあります。理解しておくと、システム設計や運用における入出力管理の考え方を深めることができます。

スケジューリング

ラウンドロビン方式実行可能状態になった順にタスクに一定のCPU時間ずつ決めていくタスクスケジューリング方式
イベントプリエンプション方式   タスクのイベント発生によってリアルタイムに実行する方法
優先順位方式各タスクを,優先度の高い順に実行させる方法
処理時間順方式ターンアラウンドタイムに比例したCPU時間を割り当て実行する方法

コンパイラの動き

コンパイラは、高水準語で記述されたソースコードを機械語に翻訳するソフトウェアで、プログラムを作成するプログラムです。

コンパイラの役割は次の通りです。

未経験がプログラマーになる近道は?

プログラミングに関心があるけど、未経験者に出来るの?

不安になりますよね。

では、受講生の97%以上がプログラミング未経験。しかも、受講した後、転職までサポートしてくれるので、プログラマーの仕事が出来ます!

まずは、無料でカウンセリングや相談が出来るので、「自分のやりたいができるの?」「どうやったらプログラマーになれるの?」など疑問点を聞いてみましょう!

よかったらシェアしてね!
  • URLをコピーしました!
【目次】気になる所をクリック!