OSの役割や機能を具体例付きで7つ紹介!【わかりやすく解説】
こんにちは!
現役Webエンジニアの今井(@ima_maru)です。
今回は、皆さんのパソコンにも入っているであろう「OS」についてです。
OSはオペレーティングシステムの略称であり、コンピュータの中核を担う存在です。
- OSとは?
- OSの主な役割・機能7つ
それでは解説していきます。
OS(Operating system)とは?
OSはコンピュータのとても大事な部分を担う存在です。
コンピュータは、ハードウェア(CPUや記憶装置など)がまず必要ですが、OSもなくてはなりません。
OSがないと、コンピュータはただのガラクタとなってしまいます。
例えるならば、操縦士のいないロボットのようなものです。
OSはコンピュータを自在に操り、ユーザとの情報伝達を効率的に行い、さらに多くのソフトウェアを動かすための環境を用意してくれます。
キーボードからの入力がディスプレイに表示されたり、マウスを動かすとカーソルが動いたりすることはすべてOSがあってこそ実現しているといってもよいでしょう。
最近では当たり前ですが、本来一つの処理しかできないCPUで、YouTubeを見ながらWordに文章を書くなんてことができるのも、OSのおかげといっていいでしょう。
こんな風に、コンピュータを使う人ならわかる「当たり前のこと」を提供しているのがこの「OS」と呼ばれるソフトウェアです。
ここから、OSが担っている主要な機能を紹介していきます。
OSの主な役割7つ
OSが担う役割はいろいろあるのですが、今回はその中でも重要だと思う7つを解説します。
OSが担う機能①:ハードウェア管理・制御
OSはハードウェアを管理・制御する役割を担っています。
ハードウェアとは、パソコンでいえば「マウス」「キーボード」「ディスプレイ」「スピーカー」といったものです。
そして、ハードウェアの入力・出力を管理しているのはOSとデバイスドライバと呼ばれるソフトウェアです。
OSがなければ、ディスプレイには何も映らないし、マウスを動かしても何も起きません。
また、OSはハードウェアを抽象化する役割も担っています。
同じマウスでも、製造元が違ったりして、細かな仕様の違いが生まれることがあります。
そういった違いは、OSとデバイスドライバが吸収してくれるので、アプリケーション開発などにおいて、具体的にハードウェアを意識しなくても開発ができるようになります。
OSがなければ、コンピュータはただのガラクタ!
OSが担う機能②:マルチタスク・プロセス管理
OSはプロセスを管理する役割を担っています。
プロセスとは、コンピュータの中のプログラムの実行単位です。
例えば、インターネットブラウザでYouTubeを開けば、新しくプロセス生成したことになります。
そして、プロセスがプログラムを実行するにはメモリ領域が必要です。
なので、プロセス生成時に、OSが使用可能なメモリ領域をプロセスに割り当ててあげます。
今度は逆に、ブラウザを閉じると、そのプロセスは消滅します。
この時、いらなくなったメモリ領域は、OSによって解放されます。
このように、OSは、プロセスの生成や消滅に伴って発生するメモリ領域の割り当てと解放というプロセス管理の役割を担っています。
メモリの割り当ては、OSのお仕事です。
また、最近の汎用的OSはマルチプロセスという仕組みが普通になってきています。
「マルチプロセス」とは、複数のプロセスを並行して動かす仕組みのことで、「マルチタスク」と呼んだりもします。(環境によって違う呼び方をする)
マルチプロセスの実現は、プロセスを微小時間区切りで切り替えを行うというテクニックなどを使います。例えば、
- OS:プロセスAに制御を渡す
- プロセスA:処理を実行する(微小時間)
- OS:制御を戻す
- OS:プロセスBに制御を渡す
- プロセスB:処理を実行する(微小時間)
- OS:制御を戻す
- OS:プロセスAに制御を渡す
- プロセスA:処理を実行する(微小時間)
- ・・・
といったように、高速でプロセスを切り替えることにより、あたかも同時に複数のプロセスの処理を行っているように見せるのです。
また、一つのプロセスが何秒間使えるかは、そのプロセスの優先度などによってきまります。
優先度の高いプロセスほど、長い間使っていられるので、長期的に見ればそれだけほかのプロセスより処理できる時間が長くなるのです。
このプロセスのどのように切り替えるかを考え、実際にプロセスの切り替えを行っているのもOSです。
複数のアプリケーションが同時に動くのは、OSのおかげなんですね!
OSが担う機能③:メモリ管理
OSはメモリ管理・保護の役割を担っています。
上で挙げたマルチプロセスの環境であれば、各プロセスが並行して動作していくこととなります。
そこで以下のような問題が生じます。
「ほかのプロセスの記憶領域にアクセス・上書きをしてしまう」
プログラムの中に間違いがあって、割り当てられたメモリ領域以外にアクセスしようとしてしまうことはよくあります。
また、悪意のあるプログラムやウイルスなどによっても引き起こされる問題です。
これらを制御できなければ、ひとつのプロセスのバグによってほかのプロセスまでもが正常に動作しなくなってしまいます。
これは、OSのメモリ保護によって解決されます。
OSは、プロセスのメモリアクセスを監視します。
そして、そのプロセスが使っていいメモリ領域外にアクセスしようとした場合、割り込み処理を行い対処します。
このようにして、OSはプロセスが独立して実行できるようにメモリ管理・保護をしています。
マルチプロセスの環境において、とても重要な役割です。
OSが担う機能④:ファイルシステム・ディスクアクセス
OSには、ファイルシステムと呼ばれるデータを管理する機能があります。
これは皆さんもなじみ深い「ファイル」や「フォルダ」といったデータの格納方法に当たります。
パソコン、厳密にいえばHDDやSSDといった補助記憶装置には、画像や動画、文書や実行ファイルなどいろいろな種類のデータを格納することができます。
OSはこの中のデータにアクセスすることはもちろん、データを「ファイル」という形式できれいに格納することができます。
このような機能を「ファイルシステム」といいます。
データなんてどう格納しても同じかと思いがちですが、そうでもありません。
- 高速アクセス:データに素早くアクセスできるか?
- 利用効率:領域を無駄なく使えているか?
- 暗号化機能:特定のユーザーのみ閲覧可能か?
などデータの格納・保存方法にも重要な要素があります。
ほとんどのOSはデータを管理する機能を担っているのです。
OSが担う機能⑤:ネットワーク
多くのOSはネットワークの機能を持っています。
これにより、異なるコンピュータ間での通信が可能になります。
OSが担う機能⑥:セキュリティ
OSはセキュリティの機能を担っています。
これは、認証といった技術を用いて、特定のユーザにのみリソースへのアクセスを可能にすることがそうです。
これがなければ、ほかのユーザーでもデータ見放題盗み放題です。
また、OSが実行していいコードなのか実行してはいけないコードなのか判別する機能もあります。
攻撃側が用意したコードをOSで実行してしまうと、攻撃側の意図したことが容易にできてしまうためです。
このように、セキュリティ面においてもOSは活躍するのです。
OSが担う機能⑦:ユーザインタフェース
OSはユーザインタフェースを提供する役割を担っています。
ユーザインタフェースとは、ユーザとコンピュータ間での情報伝達の窓口です。
ハードウェア面は上に書いた通りですが、ソフトウェア面でいえば、「GUI」「CUI」があげられます。
- GUI(Graphical User Interface):マウスでポチポチできるやつ(普通のやつ)
- CUI(Character User Interface):キーボードだけで操作するやつ(ハッカー黒い画面のやつ)
有名なOSの種類
OSにも色々な種類がありますが、今回はその中でも以下の6つのOSについて簡単に表にまとめます。
OS | 開発 | 特徴 |
---|---|---|
Windows | Microsoft | PC向け・圧倒的なシェア・対応しているソフトが多い |
Mac OS | Apple | Apple社のPCに搭載・グラフィック性能や操作性が高い |
Linux | オープンソース | 主にサーバー用に使われる・派生OSが多い |
Chrome OS | PC向け・ウェブブラウザ上で作業を行う・Androidアプリが扱える | |
iOS | Apple | スマートフォン向け・日本でトップシェアを誇る |
Android | スマートフォン向け・世界でトップシェアを誇る |
最後に
この記事を読んでくださった方におすすめの記事です。
以上「OSとは?主な役割7つを簡単に解説!」でした!
最後まで読んでいただきありがとうございます。