本文へ移動

基本情報技術者試験 · 学習ガイド

オペレーティングシステム

オペレーティングシステムとは

オペレーティングシステムとは、CPU時間やメモリ、装置を管理して複数のプログラムを動かす基本ソフトです。

エルくんが説明する図解。A→スキャナ待ち/B→プリンタ待ちの輪と、資源確保順を統一する対策。
Aがプリンタを確保してスキャナを待ち、Bがスキャナを確保してプリンタを待つと、互いに進めなくなります。これがデッドロックの典型例です。

複数のアプリが同時に動くように見えるのは、OSがCPU時間やメモリを配分しているためです。各プログラムが装置を独占しないよう管理します。

基本の仕組み

基本の仕組みの図解。左にAとプリンタ、右にBとスキャナを配置する。プリンタからA、スキャナからBへ「確保」を示す実線を結び、Aからスキャナ、Bからプリンタへ「待つ」を示す点線矢印を交差させ、交点に進めない印を置く。
覚えること:AとBが互いの確保機器を待つと進めない

Aがプリンタを確保してスキャナを待ち、Bがスキャナを確保してプリンタを待つと、互いに進めなくなります。これがデッドロックの典型例です。

プロセスは実行中のプログラムの単位です。仮想記憶は主記憶と補助記憶を利用してアドレス空間を管理し、必要なページを主記憶へ読み込みます。

ページの入替えが多すぎるスラッシングでは、CPUの計算より入替えに時間が取られます。仮想記憶を増やすだけで必ず高速化するわけではありません。

OSの資源管理

OSの資源管理の図解。左に補助記憶、右に空きのない主記憶を置く。必要なページが主記憶にない状態を示し、主記憶からページを追い出す矢印と、補助記憶から必要なページを読み込む矢印を描く。
覚えること:空きがなければ追い出して読み込む

OSはプロセス・スレッド、主記憶、ファイル、入出力を管理します。仮想記憶は補助記憶を使って主記憶より広いアドレス空間を提供し、必要なページが主記憶にないとき(ページフォールト)に読み込みます。排他制御は共有資源の同時更新を防ぎます。

CPUを割り当てる順序(スケジューリング)には、到着順、処理時間の短い順、優先度順、一定時間(タイムクウォンタム)ごとに順番に切り替えるラウンドロビンなどがあります。

主記憶に空きがないままページを読み込むときは、追い出すページを選びます。FIFOは最も早く読み込んだページ、LRUは最後に参照されてから最も長く使われていないページを追い出します。

OSの資源管理
管理対象代表的な仕組み
CPUスケジューリング
主記憶仮想記憶・ページング
共有資源排他制御
OSの資源管理
ページ置換方式追い出すページ
FIFO最も早く主記憶へ読み込んだページ
LRU最後の参照から最も長い時間がたったページ
LFU参照回数が最も少ないページ

試験に出る

  • OSがCPU時間やメモリを配分し、装置の独占を防ぐこと。
  • 互いに相手の装置を待つデッドロックの典型例。
  • プロセスと仮想記憶の役割(必要なページを主記憶へ読み込む)。
  • スラッシングでは入替えに時間を取られること。
  • 装置を同じ順序で確保すると循環待ちを減らせること。
  • ページ置換方式(FIFO・LRU)で追い出すページを順に追う問題と、ラウンドロビンなどのスケジューリング。

重要な言葉

プロセス
実行中のプログラムの単位。
仮想記憶
主記憶と補助記憶を組み合わせてアドレス空間を管理する仕組み。
デッドロック
互いに相手の資源を待ち、どちらも進めなくなる状態。
スラッシング
ページ入替えが頻発して処理効率が落ちる現象。

確認問題

確かめよう両プログラムが同じ順序で装置を確保すると何を減らせる?

循環待ちによるデッドロックのおそれです。

デッドロックは、複数の処理が互いに相手の資源を待つことで起こる。

スラッシングは、装置を待って進めなくなる状態である。

互いに相手の装置を待って進めなくなる状態は?

実行中のプログラムの単位を何という?

複数のアプリが同時に動くように見えるのは、がCPU時間やを配分しているためです。各プログラムが装置を独占しないよう管理します。

Aがプリンタを確保してスキャナを待ち、Bがスキャナを確保してプリンタを待つと、互いに進めなくなります。これがのです。

は実行中のプログラムの単位です。は主記憶と補助記憶を利用してアドレス空間を管理し、必要なページを主記憶へ読み込みます。

ページの入替えが多すぎるでは、CPUの計算より入替えに時間が取られます。仮想記憶を増やすだけで必ずするわけではありません。

出典・参考資料

試験の公式案内と、この記事の参考にした学習資料です。

編集:Pinternet Works · 更新日:

教材の編集方針・訂正について