【理解の一歩目】基本ソフトウェア(オペレーティングシステム)の役割

はじめに

ICT機器を構成するハードウェアを人間の意図した通りに動作させるためには、ハードウェアが理解できる形式で指示を出さなければいけません。

ですが、ハードウェアそのものは電気信号で動作するため2進数で指示(機械語:マシン語)する必要があり、それでは特殊な技術者しかICT機器を扱えず、操作にも時間やコストがかかります。

基本ソフトウェア(オペレーティングシステム:OS)は、ICT機器を広く使いやすくするためにハードウェアを簡単に操作をすることを目的としたソフトウェア(プログラム)です。

また、ICTを便利に利用するために様々なアプリケーションソフトウェア(アプリ)を使いますが、アプリがハードウェアの操作するためにもOSが必要になります。

このページでは、OSの基本機能の説明と、人間・アプリとハードウェアとの仲介について説明しています。

代表的なOSの種類

ここでは、一般的に使われているOSとしてICT機器(デバイス)の違いからパソコン(PC)用とスマートフォン(スマホ)用やウェアラブルデバイス用に分けています。

OSに求められる機能は共通ですが、PC用は様々な種類のハードウェアへの対応する必要性や、ソフトウェアの利用だけでなく開発にも使用されるなど、利用範囲の広さへの対応やハードウェアの性能を引き出すことが求められます。

また、スマホ用やその他のデバイス用のOSではデバイスの物理的な大きさもあり、PCに比較してストレージ容量や電力などハードウェアにも制限されるため、制限があってもユーザーが満足して利用できることが求められます。

他にも、同じPC用でも用途の違いでサーバーOSとデスクトップOSで区別をする場合などもあります。

パソコン(PC)用OSの一覧

種類開発特徴
WindowsMicrosoft広く一般的に使われているPC用OS。多くのハードウェアで動作する。
macOSAppleMacでのみ動作するOS。GUI(後述)で動作するOSの先駆け。
Linux有志のユーザー多くのユーザーが開発に携わっているオープンソースソフトウェア。
Chrome OSGoogleChromebookで動作するOS。インターネット接続が前提。

スマートフォン(スマホ)用OSの一覧

種類開発特徴
AndroidGoogle多種類のスマホで使われている。Linuxを基に開発。
iOSAppleiPhoneで動作するOS。

OSの基本機能

ハードウェアの管理

この図では簡単に「指示・表示」と書いていますが、OSは入力装置で入力された情報をに基づいて補助記憶装置(ストレージ)に保存されているデータを主記憶装置(メモリ)に読み込み、CPUに演算する命令を出します。その後、CPUがメモリに記録した演算結果を、OSが必要な処理を行って出力装置に表示・出力します。

その際、実行されている各アプリが必要なメモリ容量の確保や保護、CPUが命令を実行する順番など、ICT機器が人間の意図通りに動くために必要な制御もOSの管理で行っています。

補足:CPU

補足:OSとデバイスドライバー

ソフトウェアの管理

データ(ファイル)の管理

補助記憶装置(ストレージ)

ファイル・ディレクトリ(フォルダ)

ファイルとディレクトリ(フォルダ)はコンピュータ上でデータを整理し、保存するための基本的な概念です。

ファイル
ファイルはデジタルデータの単位です。文書、画像、音声、プログラムのコードなど、あらゆる種類の情報を保存することができます。各ファイルには、その内容を特定するための名前(ファイル名)と、内容をどのように解釈するかを示す拡張子(例:.txt、.jpg、.mp3)があります。

ディレクトリ(フォルダ)
ディレクトリ、またはフォルダ、はファイルや他のディレクトリを格納するための容器です。ディレクトリを使うことで、関連するファイルをまとめて整理することができ、情報を簡単に見つけられるようになります。コンピュータのファイルシステム内で、ディレクトリは木構造を形成しており、一つのディレクトリが他の複数のディレクトリやファイルを含むことができます。

たとえば、"写真"という名前のディレクトリがあるとします。その中に"2023年の旅行"というサブディレクトリがあり、その中に旅行で撮影した写真ファイルが保存されているかもしれません。このようにディレクトリとファイルを組み合わせることで、情報を効果的に管理できます。

総合すると、ファイルは情報の実体を形成し、ディレクトリはその情報を整理するための構造を提供します。この二つは、コンピュータ上で情報を扱う際の基本的な構成要素です。

ユーザーインターフェイス

ユーザーインターフェースの基本
ユーザーインターフェース(UI)の設計では、ユーザビリティ(使用しやすさ)、アクセシビリティ(アクセスしやすさ)、インタラクティビティ(対話性)などの要素が重要です。良いUIは、ユーザーがタスクを容易に、迅速に、そして直感的に達成できるように設計されています。これには、明確な視覚的階層、簡潔でわかりやすい指示、一貫したデザイン要素の使用などが含まれます。


GUI(Graphical User Interface)とCLI(Command Line Interface)は、ユーザーがコンピュータと対話するための二つの主要なインターフェースです。これらは操作の方法とユーザー体験において大きく異なります。

GUIとCUI

GUI(Graphical User Interface)
GUIは、アイコン、ウィンドウ、ボタン、メニューなどのグラフィカルな要素を利用して、ユーザーとコンピュータの間の対話を可能にするインターフェースです。ユーザーはマウスやタッチスクリーンを使ってこれらの要素を操作します。

GUIの特徴:
直感的な操作: 視覚的なフィードバックとグラフィカルな要素により、ユーザーは直感的に操作できます。
学習が容易: コマンドを覚える必要がなく、メニューやアイコンから選択するだけなので、初心者にも扱いやすいです。
マルチタスキング: 複数のアプリケーションやウィンドウを同時に開き、視覚的に切り替えることができます。
CLI(Command Line Interface)
CLIは、テキストベースのインターフェースで、ユーザーがキーボードを使ってコマンドを入力し、コンピュータに指示を出します。この方式では、GUIに比べてグラフィカルな要素がほとんどまたは全く使用されません。

CLIの特徴:
高い効率と柔軟性: 熟練したユーザーは、CLIを使用して迅速に複雑なタスクを実行できます。
スクリプトと自動化: 複数のコマンドをスクリプトとして保存し、一連の操作を自動化することができます。
リソースの使用が少ない: GUIに比べてシステムリソースを少なく消費するため、性能が限られている環境でも効率的に動作します。

まとめ


ICT機器を人間が使うためには、人間のやりたい動作(指示)をハードウェアに伝えるためのオペレーティングシステム(OS)が必要で、特殊な技術を持たなくても、誰もがICT機器を使うためには直感的で使いやすいOSが必要なことは理解できたと思います。

実際にICT機器を使って作業をする場合は、アプリケーションソフトウェア(アプリ)を使うことが多いと思いますが、ハードウェアを効率的に使うためにアプリの動作を調整する役割もOSが担っています。

普段、意識をすることが少ないOSですが、ICT機器を使いこなすためには、最低限の機能や概要について知っておく必要があります。