ソフトウェア

【応用情報】ソフトウェアの基本とOSの役割について解説

この記事では応用情報で出題されるOSについてIT初心者にも分かりやすく解説します。

ソフトウェア

  • ソフトウェアはただの機械の箱であるコンピュータに色々な機能を与える。
  • 基本ソフトウェアはOSとも呼ばれ、コンピュータが最低限出来る必要がある機能を提供する。

OS

  • OSは制御プログラム、言語プロセッサ、ユーティリティの3つのプログラムから構成される。特に制御プログラムはOSの中核を担い、カーネルとも呼ばれる
  • 制御プログラムはタスク管理、メモリ管理、ハードウェア管理など、どのアプリでも必要になるであろう最低限の機能を提供する。

応用情報ではOSに関する問題が出題されます。是非最後までご覧ください。

ソフトウェアの役割

コンピュータはCPU、記憶装置、入力装置、出力装置などのハードウェアで構成されています。しかし、ハードウェアだけではただの機械の塊です。

ソフトウェアはハードウェアに命を吹き込み、コンピュータとして動くようにするものです。人間で言うと、臓器や血液がハードウェアで心や脳がソフトウェアのような感じですね。

そんなソフトウェアには、基本ソフトウェアミドルウェア応用ソフトウェアがあります。この記事では基本ソフトウェアであるOSについて解説します。

OSの役割

OSはOperating Systemの略で、コンピュータで出来る基本的な動作を実現するためのソフトウェアです。コンピュータとして最低限出来ないといけないことを出来るようにするのがOSというイメージですね。

OSは制御プログラム、言語プロセッサ、ユーティリティの3つから成り立っています。
この中でも制御プログラムの役割は重要でカーネルと呼ばれています。

言語プロセッサはプログラマーが書いたソースコードをCPUが理解できる機械語(0と1だけの言語)に翻訳する役割を持ちます。

カーネルの役割

カーネルの役割は多岐に渡りますが、ここでは代表的なものを見ていきます。

ハードウェア管理

カーネルは応用ソフトウェア(アプリ)とハードウェアの仲介をします。
例えば、キーボードで「A」と入力したときに、アプリに「A」が入力されたよ、と教えてあげるのはカーネルの役割です。

タスク管理

カーネルは複数タスク間でどのタスクを優先的にCPUに処理させるか、といったCPUの使用権を管理します。ちなみに、タスクとはコンピュータが実行する命令の単位です。

詳しくはこちらの記事で解説しています。

【応用情報】タスクの実行状態・実行可能状態・待ち状態、タスク管理の方式、並行処理を解説この記事ではタスク管理についてIT初心者にも分かりやすく解説します。 CPUのタスク管理 CPUが処理する命令の単位...

メモリ管理

プログラムは普段補助記憶装置に保管されていますが、実行するときは主記憶装置にロードします。主記憶装置へのロードや、主記憶装置のどこにロードするのかを制御しているのもカーネルです。

詳しくはこちらの記事で解説しています。

【応用情報】プログラムの主記憶管理と再入可能などのプログラムの特性について解説この記事では応用情報で出題されるフラグメンテーションとガーベージコレクション、再入可能などのプログラムの特性についてIT初心者にも分かり...

OSの役割のまとめ

OSはキーボードやマウスで入力した内容をアプリに伝えるとか、主記憶装置にプログラムをロードするとか、プログラミング言語で書いたソースを機械語に翻訳する、みたいな、世の中に多種多様なアプリがあれど、どのアプリでも共通して必要であろう機能を提供していることが分かったと思います。

逆に昔々のOSが無かった時代は、入出力装置の動作をアプリに伝える機能を各プログラマが開発しないといけなかったり、主記憶装置にプログラムをロードするためにわざわざ配線を繋ぎかえて手動でロードしていたらしいです。OSが誕生して便利になったということですね。

OSの種類

OSにはよく知られているWindowsやMac等があります。
また、オープンソースソフトウェアのOSであるLinuxも有名なOSです。

応用情報技術者試験での出題例

令和5年度秋期問19

応用情報技術者
午前試験 
令和5年度秋期問19

Linuxカーネルの説明として,適切なものはどれか。

ア CUIによるコマンド入力のためのシェルと呼ばれるソフトウェアが組み込まれていて,文字での操作が可能である。

イ GUIを利用できるデスクトップ環境が組み込まれていて,マウスを使った直感的な操作が可能である。

ウ Webブラウザ,ワープロソフト,表計算ソフトなどが含まれており,Linuxカーネルだけで多くの業務が行える。

エ プロセス管理やメモリ管理などの,アプリケーションソフトウェアが動作するための基本機能を提供する。

正解と解説

正解は”エ”

LinuxカーネルはLinuxというOSのカーネルです。
カーネルなので、アプリが動作するために必要な基本機能である、プロセス管理やメモリ管理の機能を提供します。よって答えはエです。

ちなみに、プロセスとタスクは厳密には違う言葉ですが、情報処理試験の中では同じ言葉として扱われています。よって、プロセス=タスクと思って大丈夫です。