AxiZ沖縄ブログ

エンジニア育成学校【AxiZ沖縄】のブログです。

OSについて

OSについて基本的な知識を解説しておきます。
OSとはOperating Systemの略です。
OSもプログラミング言語で作られたソフトウェアです。
基本ソフトウェアとも呼ばれます。

具体的なOSを上げると、

等があります。
普段使っているコンピュータ(PCやスマホ)には、
必ず何かしらのOSが組み込まれています。
最近は電化製品にもコンピュータが組み込まれていることが増えましたが、
こういったコンピュータにも専用のOSが組み込まれています。

なぜOSが必要か

ではなぜOSというものが必要なのでしょうか。
まず、コンピュータは、ハードウェア(機械)がないと動きません。
具体的には、メモリ、CPU、ストレージ(HDD、SSDなど)、入力装置(マウス、キーボード) 出力装置(ディスプレイやスピーカーなど)などのハードウェアが必要になります。

次に、PCを使用するといろんなことができます。

  • 電卓を使って計算をする
  • メモ帳や文書作成ソフトを使って文章を書く
  • 表計算ソフトを使ってデータを分析する
  • メーラーを使ってメールのやり取りをする
  • ブラウザを使ってネットを閲覧する

上げるときりがありませんが、正直なんでもできます。
ただし、作業をするときには何かしらのソフトウェアが必要になります。

それらのソフトウェアは、プログラミング言語を用いて誰かが作成しているわけですが、
ハードウェアの制御までを意識するのはなかなか大変です。
コンピュータ上で動かす以上、メモリやCPUなどは確実に使用することになります。
しかし、簡単な電卓のプログラムを作成するときに、
いちいちメモリやCPUの動きまで考慮して作成しなければいけないとしたら、
きっと多くのプログラマーがプログラムを作るのを途中で断念してしまうことでしょう。

その問題を解決するのはOSです。
OSはハードウェアの制御をしてくれます。
そうすることで、プログラマーは、ハードウェアのことを気にせずに、
作りたいプログラムの機能だけを考えて作ることができます。

つまり、簡単に言うとハードウェアと一般的なソフトウェアの仲介役という感じです。
複数のソフトを同時に起動したときに動きを制御してくれるのもOSの役割です。

OSの種類

OSはたくさんの種類がありますが、用途によって大きく3つに分類されます。

の3つです。
一般のPC用は、WindowsMacOSがあります。
スマホタブレット用は、AndroidiOSが有名です。
サーバー用は、LinuxUNIX等があります。

なぜ用途によってOSを分ける必要があるかというと、
そのぞれ目的が異なるからです。

一般のPC用のOSは、多くの人が普段から仕事やプライベートで使用するものとなります。
そのため、使いやすさや、直観的に分かりやすいかどうかが重要になります。
なのでデザインや使い勝手に力を入れる必要があります。

スマホ用のOSも、多くの人が普段から使うという点ではPC用のOSと同じですが、
操作方法やサイズがPCとは異なるため、
スマホに適した使い勝手やデザインにする必要があります。

一方でサーバー用のOSですが、これはデザインや使い勝手はあまり重要ではありません。
サーバーを操作するのは、サーバーを管理しているエンジニアの人です。
コンピュータやシステムに対して専門的な知識を有している一部の人が操作するので、
デザインに特化する必要性はありません。
むしろ、サーバーは高い性能が求められることが多いので、
見た目や使い勝手の部分にメモリやCPUの資源を割いてしまうのはもったいないという側面もあります。
そのため、慣れている人であれば、CUI(マウスを使わず、コマンドだけで操作する)でサーバーを扱います。
また、サーバーは基本的に電源を落とさず、起動しっぱなしなので、
長時間シャットダウンしなくても動き続けることができる必要があります。

このように、用途によって何に重点を置くかが変わってくるので、
様々なOSが存在しているわけです。