IT初心者のための基本情報ではじめる OS 入門 ~コンピュータシステム分野 2


2022-09-13 更新

この連載は、これから IT の勉強をはじめる人を対象としたものです。 基本情報技術者試験の出題分野ごとに、仕組み、主要な用語、および過去問題を紹介します。 受験対策としてだけでなく、 IT の基礎知識を幅広く得るために、ぜひお読みください。

今回は、コンピュータシステム 分野 その 2 として OS を取り上げます。

OS が必要な理由

「コンピュータ、ソフトなければ、ただの箱」という川柳があります。 これは、コンピュータを利用するには、ハードウェア(コンピュータ本体)とソフトウェア(プログラム)の両方が必要であることを示しています。 両者の関係は、ハードウェアの上にソフトウェアが乗っている、というイメージです(図 1 )。

図 1 ハードウェアとソフトウェアの関係

初期のコンピュータの時代には、目的に応じてその都度、プログラムのすべての機能をゼロから作っていました。 やがて、いくつかのプログラムを作っているうちに、キーボード入力やディスプレイ出力など、多くのプログラムに共通した部分があることがわかりました。 このような機能をまとめたものとして、初期の OS が誕生しました。

OS の機能を利用すれば、新たなプログラムを効率的に作れます。 OS の機能を利用して動作するプログラムのことを、アプリ(アプリケーションプログラム)と呼びます。 これらの関係は、ハードウェアの上に OS が乗っていて、 OS の上にアプリが乗っているという、イメージです(図 2 )。

図 2 ハードウェア、 OS 、アプリの関係

OS は、 Operating System の略で、直訳すると「操作システム」という意味ですが、「基本プログラム」と呼ばれています。 アプリの application は、「応用」という意味です。 アプリは、 OS の機能を応用して動作するのです。 OS がアプリに提供する機能のことをシステムコールと呼びます。 システムコールを利用してアプリを効率的に作れるようにすることが、 OS が必要な主な理由です。

OS の機能

その後、 OS は、どんどん進化していきました。 現在の OS の機能は、システムコールを提供するだけではありません。 ハードウェアとアプリの間に位置する OS は、コンピュータの管理者的な存在になっています。 OS が、ハードウェアとアプリを管理するのです。

図 3 OS はコンピュータの管理者的な存在である
looks_one タスクマネージャでハードウェアの稼働状況を確認する

図 3 looks_one は、 Windows( Windows は OS の一種です)のタスクマネージャというツールで、ハードウェアの稼働状況を確認したところです。 CPU 、メモリ、ディスク、 GPU が、どの程度利用されているかがわかります。 このようなことができるのは、 OS がハードウェアを管理しているからです。

looks_two タスクマネージャでアプリの稼働状況を確認する

図 3 looks_two は、タスクマネージャで、アプリの稼働状況を確認したところです。 PowerPoint や Word などのアプリが動作していて、それらがハードウェアをどの程度利用しているかがわかります。 このようなことができるのは、 OS がアプリを管理しているからです。

OS の主要な用語

基本情報技術者試験のシラバス(情報処理技術者試験における知識・技能の細目)に示された OS の分野の項目を見ると、現在の OS の具体的な機能がわかります。

  • タスク管理
  • 入出力管理
  • 記憶管理
  • 運用の管理
  • ユーザー管理
  • 障害管理

などの機能があります。 「 ○○ 管理」という言葉からわかるように、 OS は、コンピュータの管理者的な存在なのです。

以下は、それぞれの項目における主要な用語です。 赤色で示した用語は、後で紹介する過去問題のテーマになっています。

タスク管理
タスクスケジューリング、プリエンプティブ方式、ノンプリエンプティブ方式、タイムスライス方式、ラウンドロビン方式
入出力管理
チャネル、入出力割込み
記憶管理
実記憶、仮想記憶、セグメント方式、セグメントページング方式、 FIFO 、LRU 、LFU 、ページフォールト、スラッシング
運用の管理
プロファイル、ユーザーアカウント、システム利用権、ファイルアクセス権、端末利用権
ユーザー管理
スーパーユーザー、 root 、 Administrator 、ゲスト、管理者権限
障害管理
ハードウェア障害、ソフトウェア障害、再構成、リスタート

OS の過去問題

OS の分野の過去問題を 3 問ほど紹介しましょう。

ラウンドロビン方式に関する問題

最初は、ラウンドロビン方式に関する問題です。

OS には、同時に複数のプログラムを実行する機能があります。 ただし、まったく同時に複数のプログラムを実行するのではなく、短い時間でプログラムを切り替えて実行しているのです。 切り替えの対象となるプログラムをタスクと呼び、 OS がタスクの実行順序を管理することをタスクスケジューリングと呼びます。

ラウンドロビン方式は、タスクスケジューリングにおける方式のひとつです。

問 18 平成 30 年度 秋期

スケジューリングに関する記述のうち,ラウンドロビン方式の説明として,適切なものはどれか。

各タスクに,均等に CPU 時間を割り当てて実行させる方式である。
各タスクに,ターンアラウンドタイムに比例した CPU 時間を割り当てて実行させる方式である。
各タスクの実行イベント発生に応じて,リアルタイムに実行させる方式である。
各タスクを,優先度の高い順に実行させる方式である。

ラウンドロビン( round robin )とは、「署名者の順序を隠すために円形に署名した嘆願書」のことです。 ラウンドロビン方式は、すべてのタスクを均等な順序で実行します。 タスクを実行するとは、タスクに CPU を使用させることです。

したがって、選択肢アの

「各タスクに、均等に CPU 時間を割り当てて実行させる方式である」

が正解です。

仮想メモリに関する問題

次は、仮想メモリに関する問題です。

OS には、メモリの容量不足を補うために、ハードディスクを仮想的にメモリとして使う機能があり、これを仮想記憶と呼びます。 OS は、アプリが使用するメモリが不足したときに、メモリの中で今後使われる可能性が低いページ(プログラムの内容をいくつかに切り分けた部分)をハードディスクに一時的に追い出し、そのページ分の領域を開放します。

今後使われる可能性が低いページを判断する方法には、 FIFO 、LRU 、LFU があります。

問 17 平成 27 年度 秋期

仮想記憶管理のページ入替え方式のうち,最後に使われてからの経過時間が最も長いページを入れ替えるものはどれか。

ア FIFO  イ LFU  ウ LIFO  
エ LRU

FIFO
First In First Out (最初に入る、最初に出る)の略語です。
最初にメモリに入れた(ロードした)古いページは、今後使われる可能性が低いと判断するのです。
LRU
Least Recently Used (最も~でない、最近、使われる)の略語です。
最後に使ってから最も時間が経過しているページは、今後使われる可能性が低いと判断するのです。
LFU
Least Frequently Used (最も~でない、頻繁に、使われる)の略語です。
使われた回数が少ないページは、今後使われる可能性が低いと判断するのです。

この問題では、

「最後に使われてからの経過時間が最も長いページを入れ替える」

なので、選択肢エの LRU が正解です。

ファイルアクセス権に関する問題

最後は、ファイルアクセス権に関する問題です。

ディスク装置に格納するデータをファイルとして読み書きでき、ディスク装置の内部を階層的なディレクトリ構造で取り扱えるのは、 OS の機能です。 さらに OS は、ファイルにアクセスの権限を設定することができます。

この問題では、ファイルに読取り、書込み、実行の権限を設定できる OS があるとしています。

問 44 平成 27 年度 春期

ファイルの属性情報として,ファイルに対する読取り,書込み,実行の権限を独立に設定できる OS がある。 この 3 種類の権限は,それぞれに 1 ビットを使って許可,不許可を設定する。 この 3 ビットを 8 進数表現 0 ~ 7 の数字で設定するとき,次の試行結果から考えて,適切なものはどれか。

    試行結果

  1. 0 を設定したら,読取り,書込み,実行ができなくなってしまった。
  2. 3 を設定したら,読取りと書込みはできたが,実行ができなかった。
  3. 7 を設定したら,読取り,書込み,実行ができるようになった。
2 を設定すると,読取りと実行ができる。
4 を設定すると,実行だけができる。
5 を設定すると,書込みだけができる。
6 を設定すると,読取りと書込みができる。

ファイルのアクセス件は、 3 ビットで指定します。 個々のビットが、読取り、書込み、実行のいずれかを表しているのです。 この問題では、どのビットが何の意味を持っているかを 1. 、 2. 、 3. の試行結果から判断します。

2 進数の 3 ビットの 000 ~ 111 は、 8 進数の 1 桁の 0 ~ 7 に相当します。 試行結果と選択肢では、 8 進数が使われています。

試行結果 1.
8 進数の 0 ( 2 進数の 000 )を設定したら、読取り、書込み、実行ができなくなったのですから、 2 進数の 0 が禁止であり、 1 が許可を意味していることがわかります。
試行結果 2.
8 進数の 3 ( 2 進数の 011 )を設定したら、読取りと書込みができて、実行ができなかったので、 3 ビットの 2 進数の最上位桁で実行の設定をすることがわかります。
試行結果 3.
8 進数の 7 ( 2 進数の 111 )を設定したら、読取り、書込み、実行ができたのですから、これは既に試行結果の 1. でわかっているのですが、 2 進数の 0 が禁止であり、 1 が許可を意味していることがわかります。

何とも中途半端ですが、これで試行は終わりです。

わかったことは、
「 2 進数の 0 が禁止、 1 が許可」
「 2 進数の最上位桁が実行の設定」
だけです。

選択肢を見てみましょう。

選択肢 ア

8 進数の 2 ( 2 進数で 010 )を設定すると、読取りまたは書込みのいずれかができます。
選択肢 イ

8 進数の 4 ( 2 進数で 100 )を設定すると、実行だけができます。
選択肢 ウ

8 進数の 5 ( 2 進数で 101 )を設定すると、実行と、読取りまたは書込みのいずれかができます。
選択肢 エ

8 進数の 6 ( 2 進数の 110 )を設定すると、実行と、読取りまたは書込みのいずれかができます。

したがって、選択肢イが正解です。

今回は「コンピュータシステム」その 2 として「 OS 」が必要な理由、機能、主要な用語、および過去問題を紹介しました。

次回は、「データベース」その 1 として「データベース全般」の分野を取り上げます。

それでは、またお会いしましょう!

label 関連タグ
科目A試験は、
免除できます。
独習ゼミで科目A試験を1年間免除して、科目B試験だけに集中しましょう。
免除試験を受けた 74.9% の方が、
科目A免除資格を得ています。
科目A免除試験 最大 2 回の
受験チャンス !
info_outline
科目A免除試験 最大 2 回の
受験チャンス !
詳しく見てみるplay_circle_filled
label これまでの『基本情報ではじめる IT の勉強』の連載一覧 label 著者