基本情報技術者 基本ソフトウェア(インターフェース、タスク処理、タスクスケジューリング、実記憶・仮装記憶、固定長、バックアップ)
基本ソフトウェア(OS)とは
コンピュータを制御するもの。人間で言うところの、CPUが脳みそで、この脳みそをコントロールする部分がOS
基本的には、下に書いてある「制御プログラム」のことを狭義の意味でOSという。
![](https://assets.st-note.com/img/1708255458701-xTvdGtUZxN.jpg?width=1200)
API(アプリケーションプログラムインターフェース)とは
OSがアプリを正常に動かすために、画一化されたマニュアルのこと。
↓
数学でいうところの公式と同じ
✅デバイスドライバ
ハードウェアをOSなどのアプリケーションプログラムによって、制御できるようにするためのソフトウェア
OSの働き
ジョブ管理
ユーザーがコンピュータに対して出した命令を、効率よく処理するための管理
ジョブ管理で、ユーザーとの仲介をするのがマスタスケジューラ。
ユーザーはマスタスケジューラに対して、ジョブの実行をお願いする
![](https://assets.st-note.com/img/1708257997916-FUEfLI6zFY.jpg?width=1200)
スプーリング
CPUー低速の入出力装置間のデータ転送を、高速の補助記憶装置に仲介させる技術
プリンタの印刷時によく使われ
CPUープリンタ間に、補助記憶装置を入れて、そこにデータを保存
バッファ
処理・転送速度の異なる二つの装置の差を緩和すること
タスクと、タスクの処理
タスクは、ジョブの一つ一つの細かい内容のこと
CPUがタスクを処理する
タスクには
実行可能状態
実行状態
待機状態
の3つがあり、実行状態のどのタスクを処理するべきかを、CPUに指令するのがディスパッチャ。
消防局のオペレーターのような役割を果たす
↓
タスクの実行順序を定めることを「タスクスケジューリング」という
タスクスケジューリングの方式
ディスパッチャという管理プログラムが、タスクを実行可能状態から実行状態にしている
アイドルの握手会でいう、剥がしと同じ役割
✅到着順方式
タスクを順番に、「実行可能状態」→「実行状態」に変えていく方式
↓
ノンプリエンプション
✅優先順方式
優先度の高いタスクが来たら、その時点で「実行可能状態」→「実行状態」に変える
↓
プリエンプション
✅ラウンドロビン方式
アイドルの握手会みたいに、一定の時間が過ぎたら次の処理に移り、後回しにされる
マルチプログラミングと割り込み処理
CPUと、入力装置、出力装置で協力し合ってタスクを処理することがマルチプログラミング
効率よく処理するための方法が割り込み処理
時にはタスクを中断したり、元のタスクに復帰することも大切。
以下、割り込みの種類
![](https://assets.st-note.com/img/1708259943587-E7mdMsxzrW.jpg?width=1200)
割り込み処理の例題
①メイン処理と割り込み処理の問題
(メイン処理↔︎割り込み処理)
![](https://assets.st-note.com/img/1708929368162-nTax2jFvFm.jpg?width=1200)
![](https://assets.st-note.com/img/1709110710013-jheHIi3YSB.jpg?width=1200)
②CPUとI/O(インプット&アウトプット)のふるまい
遊休時間とは、CPUが動いていない間のI/Oの時間のこと
![](https://assets.st-note.com/img/1709110723369-hlHLf8jZut.jpg?width=1200)
![](https://assets.st-note.com/img/1709110723710-pUc90IULdg.jpg?width=1200)
実記憶管理
限られた主記憶の空間を効率よく使うこと
固定区画方式
✅単一区画方式
一つのプログラムしかロードできない
✅多重区画方式
予め区画を決めて、そこにプログラムをロードする
※ただし、区画を分けて生じた余りのスペースは使用できない。ムダとなる
可変区画方式
必要に応じて区画のサイズが変化する
↓
※ただし、終了するプログラムから順に空きが生じる。そのため、断片的にプログラムが残ってしまう(フラグメンテーション(断片化))
↓
解消するためには、プログラムを詰めてあげれば良い(メモリコンパクションもしくは、ガーベジコレクション)
仮想記憶とは?
仮想上の、実際よりも広大なメモリ空間を使用して記憶させること
ページング方式とは
プログラムを「ページ」と言う単位に分割して管理する方式。
普通は、「ページテーブル」を参照して、必要なページのみを実記憶に読み込ませる
↓
目的のページが実記憶上になければ、補助記憶から実記憶にそのページが読み込まれる
この実記憶にページを読み込むことを
「ページイン」
実記憶が満杯のとき、既にあるページから何か追い出すことを
「ページアウト」
ページアウトが多いと、システム効率が下がる
この現象を「スラッシング」という
ページアウトの方式
✅FIFO(first in first out)
最初にページインしたものを追い出し対象にする
✅LIFO(last in first out)
最後に 〃
✅LRU(least recently used)
一番長い間参照されてない 〃
✅LFU(least frequently used)
一番参照された回数が少ない 〃
バックアップ
フルバックアップ
保存される、全てのデータをバックアップ
↓
差分バックアップ
前回のフルバックアップ分
+
変更された分のみをバックアップ
増分バックアップ
フルバックアップ
+
増分
これらを全てバックアップ
この記事が気に入ったらサポートをしてみませんか?