近年のコンピュータは高性能なCPU、大容量のメモリ、高速通信が行えるネットワークカードなど、様々な高度な装置によって構成されています。これらの装置の性能を十分に発揮させるためには、しっかりとした管理が必要です。基本ソフトウェア(オペレーティングシステム,OS)は、コンピュータに備わるさなざまな装置を管理するソフトウェアです。

画像参照:https://pc-yougo.com/software/
オペレーティングシステム(OS)の役割と種類
OSとは、「オペレーティングシステム」の略で、コンピューターのハードウェアとアプリケーションを管理・制御し、ユーザーがコンピューターを使えるようにするための基本的なソフトウェアです。パソコンのWindows、スマートフォンのAndroidやiOS、macOSなど、様々な種類があります。 また、役割としては、CPU,メモリ,ハードディスク装置などのコンピュータ資源を管理することです。
OSの特徴を表す用語を下記に整理しています。
| 用語 | 特徴 |
|---|---|
| シングルタスク | 1回にひとつずつタスクを処理するプログラム管理方式のことです。 |
| マルチタスク | 複数のタスクを同時に処理するプログラム管理方式のことです。 |
| リアルタイムOS(RTOS) | 自動車、家電、医療機器など、決められた時間内に確実に処理を完了させる必要がある「組込みシステム」向けのOSです。 |
| シングルユーザ | 「1人が使用できるライセンス形態」と「システムを1人でしか利用できないモード」の2つの意味があります。 |
| マルチユーザ | 1台のコンピュータやシステムを、複数のユーザーがそれぞれ独立した環境で共有・利用できる仕組みのことです。 |
| CUI | キーボードで文字(コマンド)を入力してコンピューターを操作する方式です。 |
| GUI | マウスやタッチパネルなどのポインティングデバイスを使って、アイコンやボタンといったグラフィック要素を操作する方式です。 |
また、代表的なOSを下記に整理しています。
| OSの名称 | 説明 |
|---|---|
| Unix系OS | 1969年に誕生したUNIXの仕様や思想を引き継いだオペレーティングシステム(OS)の総称です。主な特徴は、マルチユーザー・マルチタスク機能、シンプルな構造による安定性と軽快な動作、そしてCUIによる操作が基本です。 |
| Windows | マイクロソフトが開発・販売するマルチタスク,マルチユーザ,GUIに対応したOSです。 |
| MacOS | Appleが開発・販売するMacシリーズのパソコン用のマルチタスク,マルチユーザ,GUIに対応したOSです。 |
| Android | Googleが開発したオープンソースのモバイルオペレーティングシステムで、スマートフォンやタブレットなどに搭載されています。 |
| iOS | Appleが開発した、iPhoneやiPadなどのモバイルデバイス向けのOSです。 |
OSの3大機能
OSは、CPU,メモリ,ハードディスク装置といったコンピュータ資源を効率的に利用するための様々な機能を持っています。特に重要な機能を下記に整理します。
| 機能 | 概要 |
|---|---|
| タスク管理 | 複数のタスク(プロセス)を効率的に実行するために、CPUやメモリなどのリソースを管理し、タスクの優先順位付けや実行状態の切り替えを行うことです。 |
| 記憶管理 | 限られた主記憶装置を効率的に利用するために、プログラムやデータが使用するメモリ領域を確保し、解放することです。 |
| ジョブ管理 | コンピューターが処理する一連の「ジョブ」(プログラムやバッチ処理などの仕事の単位)を、OSが自動で実行・監視・終了させる役割を担います。 |
タスクとジョブ
「ジョブ」は人間がコンピューターに依頼する仕事の単位であり、「タスク」はコンピューターが内部で処理する仕事の単位です。ジョブは、ファイルを開く、印刷データを生成する、プリンターに送信するといった複数のタスクに分割されて処理されます。OSは、複数のジョブやタスクを管理し、効率的に実行することで、マルチタスク(同時に複数の処理が動いているように見せる機能)を実現します。
ジョブ
- ユーザー視点の仕事の単位: 人間がコンピューターに依頼する1つのまとまった仕事です。
- 具体例: 「文書を印刷する」という一連の作業全体が1つのジョブです。
- 管理: OSはジョブ管理システムによって、ジョブの実行をスケジュールしたり、管理したりします。
タスク
- OS視点の処理単位: コンピューター内部で、ジョブを実行するためにOSが処理する最小単位です。
- 具体例: 「ファイルを開く」「印刷データを生成する」「プリンターに送信する」など、ジョブを構成する個々の処理がタスクに当たります。
- 実行状態: タスクは、「実行状態」「実行可能状態」「待ち状態」といった複数の状態を遷移しながら処理されます。
- プロセス・スレッドとの関係: タスクは、実際にはより細かくOSに管理される「プロセス」や「スレッド」という単位で実行されます。文脈によっては、タスクとプロセスがほぼ同じ意味で使われることもあります。
補足
プロセス:OSからメモリ領域等の割当てを受けて処理を実行しているプログラムのこと。
スレッド:プロセス内で並行して実行される最小の処理単位のこと。

画像参照:about:blank
マルチタスク
マルチタスクOSとは、複数のプログラムや処理(タスク)を、あたかも同時に実行しているかのように見せる機能を持つオペレーティングシステム(OS)です。単一のCPUコアでも、OSが非常に短い時間でタスクを切り替えることで、複数の作業を効率的に進められます。現代のPC用OSの多く(Windows、macOS、Linuxなど)が該当します。
仕組みと特徴
- 同時に実行しているように見せる:実際には1つのCPUで順番にタスクを実行していますが、切り替えが非常に速いため、ユーザーには同時に動いているように見えます。
- 効率的な作業:データ入力中にウェブを閲覧するなど、複数の作業を同時に行えるため、ユーザーの作業効率が向上します。
- 現代のOSのほとんどがマルチタスクOS:Windows、macOS、Linux、iOS、Androidなど、現在一般的に使われているOSはすべてマルチタスクOSです。
- シングルタスクOSとの対比:MS-DOSのような、複数の処理を同時に行えないOSはシングルタスクOSと呼ばれます。
方式
- プリエンプティブ方式:OSがCPUの時間を管理し、タスクの優先度やCPU使用時間によって、実行するタスクを強制的に切り替えます。
- 利点:1つのアプリケーションがフリーズしても、他のアプリケーションに影響を与えず、システム全体が停止するリスクが低い。
- 現代のOSで主流:現在の多くのOSはこの方式を採用しています。
- ノンプリエンプティブ方式:各タスクが自らOSに処理を渡すまで、CPUの使用を解放しません。
- 利点:処理が単純になります。
- 欠点:1つのタスクがCPUを使い続けると、他のタスクが待たされる、あるいはシステム全体がハングアップする可能性があります。
- 歴史的OS:Windows 3.1や古いmacOSがこの方式でした。
カーネルとシェル
OSの核となる「カーネル」と、ユーザーが操作するための窓口となる「シェル」です。カーネルはハードウェアを直接制御し、メモリやCPUの管理などOSの中核機能を担います。シェルはユーザーからのコマンドを解釈し、カーネルに伝達し、実行結果をユーザーに分かりやすく表示する通訳のような役割を果たします。
カーネル
- 役割: OSの中核であり、ハードウェア(CPU、メモリ、ディスクなど)を直接制御・管理します。
- 機能:
- ハードウェアの抽象化: 異なるハードウェアを共通のインターフェースに置き換えて、ソフトウェアが特定の製品に依存しないようにします。
- リソース管理: CPU、メモリ、ストレージ、ネットワークなどのリソースを管理します。
- システムコール提供: ソフトウェアがカーネルの機能を利用するためのインターフェースを提供します。
- 特徴: ユーザーが直接操作することはなく、OSが起動する際に最初に動作します。
シェル

コメント