OSとは
OSとは、簡単に言うと「机に向かって仕事をしている人」に例えることができます。人には頭脳がありますが、パソコンにとっての頭脳はCPUであり、回転の速い頭脳(CPU)があれば、たくさんの処理が行えます。
机はメモリーです。机が広いほど多くの仕事ができるように、メモリーが大きければそれだけ多くの作業が行えます。記憶装置(HDDやSDD)は机の引き出しです。引き出しが多ければ、たくさんの書類やデータを保管できます。このOSがあることによってコンピュータを操作し、必要な作業を行うことができるのです。
OSとアプリは表裏一体
OSは「(Operating System)」の略で、パソコン操作やアプリを動かす土台となる「基本ソフトウェア」のことです。
基本ソフトウェアであるOSに対して、ビジネスや趣味などで私たちが利用するアプリケーションソフトを「応用ソフトウェア」と呼びます。WordやExcelなどのアプリが応用ソフトウェアです。応用ソフトウェアであるアプリケーションソフト、通称アプリはOSの機能を利用して作られています。
つまり、エンジニアの皆さんが開発しているアプリはOSと表裏一体の関係にあります。もちろんOSがなくともアプリは作れますが、その場合にはアプリはOSが持っている機能をすべて備えておく必要があるため、開発するアプリの規模は何倍、何十倍にも膨れ上がり、非現実的な開発を行わなくてはなりません。
OSはパソコンやスマホなど端末全体の管理や制御を行っており、ユーザが端末を操作する際に重要な役割を果たしています。端末とOS、アプリは三位一体の関係にあり、どれか1つが欠けると私たちは端末を利用して作業を行うことができなくなります。
OSの仕組みと役割
サーバを含むパソコン・スマホ・タブレットなどの端末は、マザーボード・CPU・メモリー・ストレージなどから成り立っており、OSはそれらの橋渡しをしている「基本ソフトウェア」です。
基本ソフトウェアがあるだけでは私たちは仕事やゲームなどができません。仕事やゲームなどを行うための「応用ソフトウェア」であるアプリケーションが必要です。そのアプリを取りまとめて、ユーザが利用できるようにしてくれるのがOSの役目です。
以上は初歩的なことですが、これらを理解した上でエンジニアはアプリの開発を行う必要があります。
OSを学ぶ意味
開発したプログラムが思い通りの動きをしてくれるのは、OSによって必要な機能が実現されているためです。OSとアプリケーションプログラムには役割分担があり、それらを正しく理解してこそ、正しいプログラミングが行えます。
OSを知らなくともプログラミングは行えますが、裏でどのような役割分担がなされ、OSによってプログラムがどう動いているのかを知らないと、プログラムに不具合があった際に原因究明が難しくなります。そうした観点からも、エンジニアがOSを知り、学ぶ意味があるのです。
代表的なOSとそれらを選択するメリット
端末にはパソコン・スマホ・タブレットなどさまざまな種類があり、それらの端末には異なるOSが搭載されています。OSは他にもPS4などのゲーム機・カーナビ・家電製品などさまざまな機器にも搭載されています。
ここでは、その中から代表的なOSとして、Windows・MacOS・ChromeOSについて、それらのOSを選択する理由やメリットについてまとめてみました。
Windows
Windowsは、Microsoftが提供するOSとしてよく知られています。Windowsは多くのバソコンメーカーで採用され、比較的廉価なパソコンから専門家向けのハイスペックパソコンまでバリエーションが豊富にあります。対応するアプリやゲームも豊富で、ユーザの選択肢が豊富にあるのが特徴です。
Windowsのメリットは以下のようなものが挙げられます。
・数万円程度で購入できるパソコンが豊富にある ・提供メーカーが多く、豊富なデザインや機能から選べる ・対応するアプリやゲーム、フリーソフトが豊富にある
MacOS
MacOSはApple社が開発・提供するOSで、ハードウェアと一体で提供されています。フォントや色の表現性が高く、デザイン系ではよく利用されているOSです。また、iPhoneやiPadなどApple製品との相性がよい点も特徴です。
一方、Windows製品やWindows向けアプリやゲームと比較して選択肢が少ないデメリットもあります。メリットを整理すると、
・デザイン性に優れている ・デザインやDTM系、動画編集などとの相性がよい ・Apple製品との相性がよい
といった点があります。
ChromeOS
ChromeOSは、Google社がLinuxをベースに開発したパソコンやタブレット向けのOSです。Linuxの弱点と言われるGUI機能を強化し、マウス操作もできます。
Googleサービスを前提としており、MicrosoftOfficeが使えない、ネットワーク環境が必須、低スペックの端末が多いといったデメリットがありますが、一方メリットとしては、
・安価で2~3万円から購入が可能 ・軽量でコンパクト ・クラウドでデータの一括管理ができる ・起動が早い ・Androidタブレットとしても使える(但し制限はある)
などが挙げられます。
OSのバージョン管理の重要性
OSのバージョンアップやアップグレードはエンジニアのみならず、端末を利用するすべての人に関わる重要なイベントです。OSのバージョンアップやアップデートの主な目的は、次の通りです。
・機能の追加や強化 ・問題点や不具合の修正
OSのバージョンアップやアップグレードの目的、必要性について理解して正しいタイミングで行うよう管理することが重要です。
バージョンアップを怠ると起きる問題
古いバージョンのOSをそのまま使い続け、サポート期間を過ぎてしまうと、脆弱性などの新たな問題が起きてもサポートが行われなくなります。
またサポート期間が過ぎたOSを利用している端末に対して、新たなアプリがインストールできなくなったり、最新のプリンターや外部ディスクなど周辺機器が使えなくなったりといった問題が生じることがあります。
このように、古いバージョンのままOSを使い続けるリスクは時間とともに拡大していきますので、定期的にバージョンアップは行う必要があります。
バージョンの確認方法
OSのバージョンを確認する方法は各OSによって異なりますので、公式サイトなどの情報に従って確認を行う必要があります。ここでは、1つの例を挙げておきますので、都度自分が使う端末のOSのバージョンを確認することをおすすめします。
■ Windows10のバージョン確認 Windows10のバージョンは以下の方法で行います。各バージョンごとにサポート期間がありますので、注意が必要です。
1.タスクバーの「Windowsスタートアイコン」をクリックします 2.「設定」を選択します 3.「システム」を選択します 4.左下のバージョン情報をクリックします
以上でパソコンのスペックやWindows10のバージョン、インストール日などの情報が表示されます。
【参考】:Windows OSのバージョンを確認する|Microsoft サポート
■ MacOSのバージョン確認方法 MacOSのバージョンを確認する方法は大変シンプルです。画面左上のAppleメニューから「このMacについて」を選択するだけです。MacOSの名称とバージョン情報、パソコンのスペックなどが表示されます。
【参考】:Mac に搭載されている macOS を調べる | Apple サポート (日本)
■ Chrome OSのバージョン確認方法 ChromeOSのバージョンを確認する方法は2つあります。以下の方法で、行いやすい方法を選択しましょう。
1.ログイン画面で「Alt+ V」キーで、画面の上右側に1行のテキスト文字で、OSのバージョンとプラットフォーム、シリアル番号が表示されます。
2.ログイン後に設定画面を表示します。右下の時刻を選択し、設定ボタンをクリックします。表示された設定画面の左下「Chrome OSについて」を選択すると、OSのバージョンを確認できます。
【参考】:Chromebook のオペレーティング システムを更新する - Chromebook ヘルプ
IT職種とOSの関係
ITエンジニアはどのIT職種を目指すかによって、メインで利用するOSを何にするかが自ずと決まってくることがあります。ここではOSとIT職種の関係性について解説しますので、IT職種選択の参考にしてみてください。
WindowsOSをおすすめするエンジニア
Windowsはもっとも多く利用されているOSです。企業の多くはWindowsを利用しているため、Windows系のシステム開発に携わるエンジニアは少なくありません。
また、システムの企画書や要件定義書などをPowerPoint・Word・Excel形式での納品を求める企業が多いこと、統合開発環境(IDE)でMicrosoft Visual Studioを利用するプロジェクトが多い点などを考えると、WindowsOSを選択しておくのが無難でしょう。
MacOSをおすすめするエンジニア
iOS向けアプリの開発・グラフィック系・DTP・DTMなどに関わるエンジニアは、MacOSの選択をおすすめします。また、Appleの統合開発環境XcodeはWindowsでは直接利用することができません。MacやiPhone、iPadなどのアプリ開発を行うにはMacOSの環境が必須です。
Apple系のアプリ開発を目指しているエンジニアの方は、MacOSの習得をおすすめします。
ChromeOSをおすすめするエンジニア
Web系やサーバ系のエンジニアを目指し、Linuxを勉強している方はChrome OSを選択すると、違和感なく習得できます。それはGoogleがChromeOS上でLinuxの公式サポートを行っているからです。
Chrome OSを選択すれば、安価なChromebookをWebアプリの開発マシンとして活用することもできますので、Linux系エンジニア、Webエンジニアの方におすすめです。
【参考】:ChromebookでWebアプリ(Node.js/PHP)の開発環境を整えよう |マイナビニュース
OSに強いエンジニアを目指そう
ここまで、OSとは何か、OSが持つ機能や役割、主要なOSの特徴などについて解説しました。OSには入出力の制御以外にも、タスク管理・ファイル管理・ネットワーク管理などの機能があり、アプリケーションはこれらOSの機能をフルに活用して動いています。
私たちエンジニアはアプリ開発に際して必ずOSのお世話になるため、OSについて理解し、上手く利用することが、ソフトウェアの開発精度を高めることにつながります。
エンジニアとしてスキルアップを目指すには、OSについても詳しくならねばなりません。プログラミングスキル、エンジニアスキルを高めるためにもOSに興味を持ち、OSに強いエンジニアを目指しましょう。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから