pulpul 日本の試験

データベーススペシャリスト 概念書 · ソフトウェア

OSのタスク管理と記憶管理

要点と定義

オペレーティングシステム(OS)は、タスクの実行や記憶の利用を管理します。タスクの状態遷移では、実行可能状態はCPUの割当てを待つ状態、実行状態はCPUを使っている状態、待ち状態は入出力などの完了を待つ状態です。待つ理由がなくなってもCPUが別のタスクに割り当てられていれば、対象タスクは実行可能状態に移ります。ディスパッチャは実行可能なタスクにCPUを割り当てます。これらはシラバスのタスクと状態遷移の項目です。

多重プログラミングでは、あるタスクが入出力を待つ間に別のタスクを実行できます。スケジューリングは、実行可能なタスクから次に実行するものを選びます。同期制御はタスク間の実行順や受け渡しを調整し、排他制御は共有資源を同時に使わないようにします。これらはシラバスのスケジューリング、同期制御、排他制御の項目です。

仮想記憶は、主記憶と補助記憶を使って仮想的な記憶空間を提供します。ページングでは、参照したページが主記憶にないとページフォールトが発生します。ページ置換えは、主記憶にページを読み込むために、必要に応じて別のページを置き換える処理です。これらはシラバスの仮想記憶管理の項目です。

適用条件と例

状態を判断するときは、まずタスクが待つ理由が残っているかを確認し、その後にCPUが割り当てられているかを見ます。例えば、入出力完了を待つタスクに完了通知が届き、別のタスクがCPUを使用中なら、対象タスクは待ち状態から実行可能状態へ移ります。通知だけで実行状態になるわけではありません。

通常の需要ページングでは、ページフォールトが起きるたびに不足ページをページインするため、両者の回数は等しくなります。ページアウトは、置換対象ページを書き戻す必要がある場合に発生するので、ページイン以下です。この回数関係は通常の需要ページングが前提です。

プリページングは、将来必要になると予想したページをあらかじめ主記憶に読み込みます。過去の出題で扱った補足として、主記憶に余裕があり予測が当たる条件なら、必要になった時点での補助記憶へのアクセス待ちを減らせます。予測が外れれば、不要なページを読み込むことがあります。必要になったページをその都度読み込むデマンドページングとは、読み込みのタイミングが異なります。

過去の出題で扱った補足として、ページ置換えが過度に頻発し、処理よりページの入替えに時間が費やされて処理能力が急激に低下する現象をスラッシングと呼びます。

過去の出題で扱った補足として、コンテナ型仮想化ではホストOSのカーネルを共有し、コンテナごとのゲストOSを持ちません。

共有資源を使う区間はロックで保護し、利用後に解放します。過去の出題で扱った補足として、共有I²Cバスを使う区間をロックで保護する排他制御があります。

デッドロックでは、タスクが資源を保持したまま相手の資源を待つ循環が起きます。過去の出題で扱った補足として、資源の獲得順序を一貫させる一般則は、この循環待ちを防ぎます。

周期タスクの応答時間を判定する際、高優先度タスクが低優先度タスクを妨げる条件では、その妨害を低優先度タスクの最悪応答時間に含めます。過去の出題で扱った補足として、設問条件に従って求めた応答時間を周期と比較します。共有資源による遅延やタスク切替え時間など、何を含めるかは条件を確認します。

この節の続き

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む