🌍

基本情報技術者試験 vol.3

2025/01/04に公開

OS(基本ソフトウェア)について

コンピュータの動作にはは前回までの記事で説明した5大装置が欠かせません。しかし、キーボードを叩いた際の文字の入力や、マウスを動かした際の矢印の移動等は一体だれが制御しているのでしょうか。そもそも私たちが普段利用しているソフトウェアが動作する以前に、コンピュータをコンピュータとして使えるようにする必要があるのです。その役割を担うのが今回の記事で説明するOSです。別名基本ソフトウェアと呼ばれるコンピュータの基本的な機能を提供するソフトウェアです。


基本ソフトウェアのプログラム

基本ソフトウェアに備わっている3種類のプログラムを紹介します。

  1. 制御プログラム
    コンピューターがより効率的に利用できる以下の機能が備わっています。
ジョブ管理

データ取集や給与計算、残業チェック等の時間のかかる処理を利用者が待つことなくコンピューターに処理させておくことをバッチ処理といいます。また、このバッチ処理をコンピュータに登録しておき、働かせる仕組みをジョブ管理といいます。

名称 役割
マスタスケジューラ 利用者からの指示の受付・ジョブの実行状態の報告
リーダー 依頼されたジョブをジョブ待ち行列に登録する
イニシエータ 優先度の高いジョブを分解し、タスク管理に依頼する
ターミネータ 実行の終えたジョブの結果を出力待ち行列に登録する
ライタ 優先度の高いものから順にジョブ結果を出力する
タスク管理

タスクとは、CPUが処理するプログラムの処理単位を表します。生成されたタスクは即座に実行されるのではなく、CPUの使用権をタスク間で効率よく運営されます。

実行可能状態で順番待ちしているタスクに、CPUの使用権を割り当てることをディスパッチといいます。この時、「どのタスクにCPUの使用権を割り当てるのか」を決めるためには、タスクの実行順序を定めるタスクスケジューリングが行われます。

① 到着順方式
実行可能状態になったタスクから順番にCPUの使用権を割り当てます。そのため、タスクに優先度の概念がなく、実行の途中でCPUの使用権が奪われることがありません。

② 優先順方式
タスクに優先度を設定し、その優先度が高いものから順にCPUの使用権を割り当てます。そのため、実行中のタスクよりも優先度が高い場合はCPUの使用権が奪われます。


③ ラウンドロビン方式
CPUの使用権を一定時間ごとに切り替えます。そのため、実行中のタスクが規定時間内に処理が終わらない場合は、次のタスクに使用権が移動します。

実記憶管理と再配置

実記憶管理

ここで、前回の記事にて説明したCPUとメモリの関係について思い出してください。CPUがメモリに記憶されているプログラムを取り出して実行していましたね。つまり、タスクを処理するためにはCPUの効率的な運営に伴い、メモリの容量も効率的に活用しなければなりません。

① 単一区画方式
メモリの領域を一つの区画で分けます。

② 多重区画方式
メモリの領域を一定サイズの区画で分けます。実行したプログラムの空き領域は使用できません。

② 可変区画方式
必要に応じてメモリの領域の区画のサイズを変化させます。

フラグメンテーション
可変区画方式ではメモリにロードしたプログラムが順番通りに終了するわけではないため、空き領域が下図のようにバラバひあいります。この現象をフラグメンテーションといいます。

コンパクション
フラグメンテーションによりバラバラになったメモリの領域を整える手法をコンパクションといいます。この手法により、バラバラのメモリ領域を一つの空き領域にすることができます。

③ オーバーレイ方式
そもそもプログラム自体がメモリの領域を超えていた場合ロードすることができません。その際に、プログラムをセグメントという単位に分割し、必要なセグメントのみをメモリの領域にロードする方法をオーバレイ方式といいます。

④ スワッピング方式
メモリの空き領域が少ないとき、優先度の低いプログラムを一時的に補助記憶装置に退避することを「スワップアウト」といいます。

スワップアウトにより退避したプログラムが必要になった時、退避させたプログラムを再びメモリに読み込み処理を行うことを「スワップイン」といいます。



再配置

さて、実記憶管理ではタスクを処理する際のメモリの効率的な活用について説明しました。コンパクションやスワップイン、スワップアウト等でプログラムはメモリ上をあっちこっちに移動します。この時、CPUはプログラムを実行する際、メモリアドレスをレジスタに読み込ませていました。では、メモリ上をプログラムが別の場所に移動していたら、実行できないではないか?ここで思い出してほしいのが、機械語のアドレス指定方式です。ベースアドレス指定方式では、プログラムがメモリにロードした際の先頭アドレスからの差分を利用して、プログラムの位置を指定していました。つまり、プログラムがメモリ上のどこにロードされても問題はないということです。このような性質を持つプログラムを、以下の再配置可能・再使用可能・再入可能・再帰的プログラムからなります。

① 再配置可げ
メモリ上のどこに配置しても実行することができる。
② 再使用可能
メモリ上にロードされたプログラムを繰り返し利用可能できる。
③ 再入可能
複数のタスクから呼び出されても、互いに干渉することなく同時に実行できる。

④ 再帰的
実行中に、自分自身を呼び出すことができる。

仮想記憶管理

実記憶管理と再配置では、メモリの効率的な活用について説明しました。メモリにプログラムをロードする際は、わざわざプログラムがメモリの容量を超えていないことに注意したり、プログラムを分割したりしていましたね。これらの物理的な制約を解消させるために、仮想のメモリ空間を使って解消しようとしたのが仮想記憶です。

仮想記憶の仕組み
仮想記憶とは『仮想的な記憶領域』を指します。そのため、見かけ上は仮想記憶にロードされていますが、実際のデータはメモリの主記憶装置若しくは補助記憶装置にロードされています。その際に、動的アドレス変換機構と呼ばれる仕組みにより仮想アドレスから実アドレスに変換されます。

これらの仮想記憶の仕組みによって、メモリの主記憶装置よりも広大なメモリ空間が利用でき、また実記憶管理よりも柔軟にデータを扱うことができます。

ファイル管理

アプリケーションソフトで作成したデータを一つの固まりとして記録するための入れ物をファイルといいます。

  1. 言語処理プログラム
    プログラミング言語で書かれたプログラムを、コンピューターが理解できる機械語に翻訳します。
  2. サービスプログラム
    コンピューターの機能を補助します。

ソフトウェアの分類

上記にて説明した基本ソフトウェアと、私たちが普段利用するアプリケーションソフトウェア等の分類は以下の通りとなります。

名称 役割
アプリケーションソフトウェア WordやPowerPoint等のOS上で動くソフトウェア
ミドルウェア OSとアプリケーションソフトウェアの間を取り持つソフトウェア
オペレーションシステム(OS) 基本ソフトウェアを指します。
ファームウェア ハードウェアを制御するためのソフトウェア。

以上が基本ソフトウェアであるOSについての説明となります。
次回は、コンピューター同士を繋いでいるネットワークについて説明していきたいと思います。

<参考資料>
・タスクスケジューリングとは?図解でわかる【基本情報技術者試験対策】
https://medium-company.com/基本情報-タスクスケジューリング/
・ITの基礎知識 ITパスポート・基本情報
https://basics.k-labo.work/2017/10/19/タスク管理/
・it-資格.jp
https://www.it-shikaku.jp/top30.php?hidari=05-01-03.php&migi=km05-01.php
・ソフトウェア業界のすべてがわかる! 選考を突破する方法も解説
https://www.theport.jp/portcareer/article/49758/
・キタミ式イラストIT塾 基本情報技術者 令和06年 (情報処理技術者試験)
 著:きたみりゅうじ

Discussion