今日コンピュータを使うにあたって避けて通れないのがOSです。
WindowsとかMacとかAndroidとかそういったやつです。自分のPCはWindowsだとか、スマホはAndroidだとかいうことは理解できますが、その特徴の違いとかについては、なんとなくしかわかっていないような気がします。
なので、近年の主要なOS(独断)について、その特徴をざっくりまとめて、各OSの特徴とその違いを掘り下げていきたいと思います。
OSとは
ざっくりと
オペレーティングシステム(Operating System:OS)は、コンピュータの基本動作を実現する基本ソフトウェアです。
キーボードを打てば文字が入力され、マウスを動かせば画面のカーソルが動きますが、これを実現させるためには、コンピュータ内部でこれらを制御する必要があります。また、WordやExcel、Webブラウザといったアプリケーションも、誰かがその動作を制御・管理する必要があります(タスクの管理等)
その役割を担うのがOSです。OSは外部ハードウェア(キーボード、マウス等デバイス)といった周辺機器の管理やメモリ・ファイルの管理の他タスク管理を行います。
ちょっと深入り
OSの主な目的として、以下の3つがあります。
- ハードウェアの抽象化
- リソース管理
- コンピュータの利用効率向上
ハードウェアの抽象化
例えばキーボードの目的は文字の入力ですが、メーカによってその仕様が異なります。それらを統一的で抽象化された利用方法で提供するのがOSの役割です。
仮に、アプリケーションがキーボード入力を直接制御しようとした場合、そのキーボードにテンキーはついているのかとかいちいち指定する必要があります。そして、その条件に合わないキーボードは使えません。これでは不便極まりないです。
OSがハードウェアの違いを吸収することで、どのアプリケーションでも同じようなやり方でハードウェアを扱えるようにしているのです。
リソースの管理
複数のアプリケーションを同時に動かす場合に、それぞれのアプリケーションが独立して動作できるようにリソースの管理をします。
この機能がなければ、限られたCPUやメモリをアプリケーションが奪い合い、きちんと動作しなくなってしまいます。
リソース要求に競合が生じた場合は、待たせたり、エラーを返す等して奪い合いが起きないように管理します。
コンピュータの利用効率の向上
複数のタスクを実行する際に、最大効率で処理ができるようにリソースや処理時間の配分を工夫して割り当てています。
私たちが日常使うコンピュータでは、この機能の恩恵を感じる機会は少ないかもしれません。
一方、Webサーバなど日々大量のタスクをこなすコンピュータでは、利用効率向上は非常に重要です。YouTubeやTwitterのサーバが落ちないのも、この機能のおかげかもしれません。
さてここから本題
Windows
Windowsはマイクロソフトが提供するOSで、PCにおいては高いシェアを誇ります。
WindowsはGUIを導入したことで世界的なヒット商品となりました。GUIとは、デスクトップ上にアイコンを表示し、マウス等で直感的な操作を可能にする仕組みのことです。
GUI導入前はコマンドを入力してアプリケーションを起動したりする必要がありました。それが直感的に操作できるようになったことで、PC利用者層を広げたことは間違いなさそうです。
32bit版と64bit版
Windowsでは、32bit版と64bit版の2種類が存在します。
32bit版では、4GB分のメモリしか認識できません。なので、ハードとしてどれだけメモリがあっても、32bit版のWindows OSでは4GB分のメモリしか使われません。
一方64bit版では、128GBまでのメモリを認識できます。PCのスペックによほど制限がない場合は、64bit版のOSを導入するのがいいと思います。
MacOS
Mac OS はAppleが提供するPCの”Mac”用のOSです。こちらもGUIを導入しており、そのデザインはWindowsよりも洗練されていると評判です。
MacOSの特徴は、他のOSをインストールできるという点です。例えばAppleの製品であるMac bookにはMac OSが入っていますが、そこにWindowsをインストールすることができます。これによって、Windowsにしか対応していないアプリケーションもMac bookで利用できるようになります。ちなみに、WindowsPCにMac OSをインストールすることは基本的に不可です。
また、Mac OSはApple製品内での親和性が非常に高いです。iPhoneなどiOS(後述)を持つデバイスと容易に連携することができ、うまく使うことで優れたユーザビリティを発揮します。
Apple社でOSからデバイスまでを一貫して開発しているのが大きな要因だと思います。
Linux
この虚ろな表情のペンギンはLinuxのシンボルです。開発者の1人であるリーナス・トーバルズの嗜好を汲んだキャラクターとして生まれ、「タックス(Tux)」と名付けられています。
Unix系のOSであり、フリーかつオープンソースなソフトウェアとして誰でも自由に使用・修正・頒布することができます。なので、様々な団体が独自のLinux(Linuxディストリビューション)を配布しています。UbuntuやCentOSなどもLinuxディストリビューションにあたります。
Linuxには基本的にGUIがありません。なので、マウスを用いた操作はできず、シェルでコマンドを入力して操作をする必要があります。
一方で動作は非常に軽く、スペックの低くてWindowsでは動かないPCでも、Lunuxでは動く場合があるみたいです。
Android
AndroidはGoogleが開発したモバイル端末用のOSです。Linuxカーネル(改変されていないオリジナルのLinux)とオープンソースのソフトウェアをベースに作られており、スマートフォンやタブレット向けに設計されています。
ユーザーインターフェース(UI)自体はスマートフォンやタブレットを製造するメーカが自由にカスタマイズすることができ、デザインの多様性を実現しています。
基本的には画面をタッチして操作するインターフェースですが、ジャイロスコープや加速度センサの入力にも対応しており、端末を動かすことで操作することも可能です。
アプリケーションは基本的にGoogle Playからインストールします。ここでインストールできるアプリは、Googleから認可を受けたものに限られます。一方で、Google Playを経由しないアプリのインストールも可能で、この場合は、マルウェア等に細心の注意を払う必要があります。
iOS
iOSはAppleが提供するiPhoneなどモバイル端末向けのOSです。上述のMac OSをベースに、タッチパネルのモバイル機器に最適化した形で構成を組んだものがiOSです。
「誰もが説明書なしに直感的に操作できるように」をコンセプトにデザインされたUIはMac OSと並んで洗練されており、高い評価を得ています。
iOSでは、電話、メール、カメラなど、現代のスマートフォンに必須の機能の他、様々なアプリケーションがデフォルトで入っています。
当初ユーザーがアプリケーションを追加することはできませんでしたが、SDK(ソフトウェア開発キット)が導入されてからは、App Storeを介して自由にアプリケーションを追加することができるようになりました。
Mac OSとの親和性が非常に高く、データの連携やリモート制御なども可能です。
iOSバージョンのアップデートは無料で提供されますが、ダウングレードは不可となっています。また公式もデバイスを安全に使用するためにソフトウェアを最新のバージョンにしておくことを推奨しています。
まとめ
主要?な各OSの特徴をまとめてみました。細かい動作のところまではわからずとも、なんとなくそれぞれの特徴がわかったように感じます。
どのOSが優秀といった問題ではなく、目的に応じてOSを選ぶことが大切なのかなあと思いました(薄い)
今後勉強を進めて、この記事にもっと細かいことを追記していければと思います^^
ではでは👋