1分で分かる!OSとは?
~ ことりん君、ぱそこんとにらめっこ ~
うーん…めもりってやつはここかなぁ…。でぃすくはこの辺りかなぁ…。
ことりん君、難しい顔してどうしたの?
あ、ジャバード先生!いいところにきてくれた!じつはアルパカさんがパソコンを欲しいっていうから、「ボクなら電気店に売っているパソコンより性能が良いものを安く組み立てることができるよ!」ってついつい言っちゃったんだ!
ことりん君、パソコン組み立てたことあるの?
ないよ!(キリッ)これまでに1回も!(キリッ)
えぇ…。それは大変なことを引き受けちゃったね…
どうにかなるでしょ!(キリッ)
ことりん君、ポジティブだね…
でさ、ちょっと聞きたいんだけど「おーえす」ってのは要らないよね?「おーえす」の価格を見たんだけどちょっと高いから、これを導入しなければだいぶ安く済みそうなんだ!
あ、ダメダメ!OSはパソコンを動かすためには、ぜったい必要なものなんだ!どれだけ良い部品を揃えても、OSがインストールされていないパソコンは全然動かないよ!
え、そうなの??OSってそんなに大事なの?
うん!パソコンにとってOSはとっても大事なものなんだよ!OSがないと、キーボードを叩いてもパソコンは反応しないし、ディスプレイに何も表示できないんだ。他にもインターネットにも繋ぐことができなかったり、パソコンに写真とかのデータを保存することもできない。OSがないとパソコンはただのガラクタになっちゃうんだよ!きっとアルパカさん困るだろうから、OSもちゃんと買ってあげてね!
そうなんだ!ありがとう!とりあえず組み立ては終わったから、アルパカさんのところに持って行ってくるね!OSは後から買うよ!じゃあまたね!
気を付けてね!
(…あれ、ことりん君大量に部品残して行っちゃったけど大丈夫なのかな…)
OSとは?OSの基礎知識
OSとはOperating System(オペレーティングシステム)の略で、ソフトウェアとも呼ばれています。
私たちが普段利用しているPCやスマートフォンは、大きく分けると「ハードウェア」と「ソフトウェア」という2つで構成されています。ハードウェアとは、PCやスマートフォンのディスプレイ、バッテリーなどのような部品を指します。一方ソフトウェアとは、特定の機能をもった私たちの目には見えない手順や命令などのことです。PCでいうとWordやExcelなどもソフトウェアに属しますし、スマートフォンにいれるアプリもソフトウェアです。
OSは、「ハードウェア」と「ソフトウェア」の間を取り持つ役割を担っています。また、メモリ管理、ファイル管理など、PCやスマートフォンなどといったデバイスを動かすために必要となる機能が揃っており、人がPCやスマートフォンを使えるようにする役割を担っています。
パソコン向けのOSといえば、Microsoft社のWindows、Apple社のOS X、そしてOSS(オープンソースソフトウェアの略で、無償で公開されているソースコードです。利用などが自由に許可されています。)のLinuxなどが有名です。最近では、Google社が提供しているChrome OSなどもじわりとシェアを伸ばしています。また、スマートフォン向けのOSでは、Apple社のiOS、Google社のAndroidなどが有名です。
OSとエンジニア
前述した通り、OSはパソコン向けやスマートフォン向けといったように、さまざまな種類があります。デスクトップアプリケーション(パソコン上で動作するアプリケーションのこと。WordやExcelなどを指す。)の開発などでは、OSの仕様に強く依存した開発を行う必要があります。
Windowsデスクトップアプリケーションの開発であればWindowsの知識が必要となりますし、Mac向けのデスクトップアプリケーションも然りです。そのため、サーバサイド(バックエンド)エンジニアやインフラエンジニアは、開発するアプリケーションが対象とするOSの知識は身に付けておきたいところです。
また、情報システムや社内ヘルプデスク部門に所属している社内エンジニアもOSの知識が必要になってきます。「急にパソコンが動かなくなった」「パソコンが、うなっている」など、社内PCの様々な問い合わせを担当するエンジニアは、OSの知識がないとこういうトラブルを解決することができません。これもOSによって、対応の仕方が違うことがあります。
採用する時に知っておくとよいこと
開発環境のOS
エンジニアによっては、「Windows環境のみでしか開発経験がない」「Linux環境のみでしか開発経験がない」ということもあります。
具体的な例としては、企業としてMicrosoft社の製品にフォーカスしているケースです。このような企業では、すべてMicrosoft社製品で環境を構築することが多いです。
同じ「OS」でも中身は全く異なります。特にWindows環境のみでしか開発経験がないエンジニアが、Linux環境で開発をするのは、なかなかハードルが高く、入社後の立ち上がりが遅くなります。
面接で開発経験のある環境を聞いておくとよいでしょう。
求人のポイント
求人を作成する時は、下記のポイントを求人に入れるとよいです。
使用できるパソコンのOS
仕事で使用できるOSを選択できる場合は、求人票に記載しておくと訴求ポイントになると思います。
開発するエンジニアは、Macのパソコンを好みます。エンジニアの訴求にもWindowsの他にMacのパソコンも用意しておくとよいでしょう。
逆にエンジニアでも資料を書くことが多いエンジニア(マネージャーなどの管理職)は、Windowsを選択することが多いです。
OS 豆知識
OSのシェア
各プラットフォームのOSに関するシェアを把握しておきましょう。
2020年5月~2021年5月のパソコンOSのシェアは以下の通りです。Microsoft社のWindowsが1強であることが分かります。ただし、Web業界では開発環境の構築が容易である等の理由から、Macを開発機とする企業やプロジェクトも多いです。
OS名 | シェア |
Windows | 73.54% |
OS X | 15.87% |
Unknown (不明) | 5.92% |
Linux | 2.38% |
ChromeOS | 2.29% |
引用元:statcounter Desktop Operating System Market Share Worldwide – May 2021
続いて同期間のスマートフォン(モバイル)OSのシェアです。AndroidとiOSでほぼ市場を占有しています。
OS名 | シェア |
Android | 72.72% |
iOS | 26.74% |
samsung | 0.4% |
KaiOS | 0.17% |
引用元:statcounter Mobile Operating System Market Share Worldwide – May 2021
OS関連の資格
OSに関する対外的な知識やスキルを証明するためには、資格が有効ですが、エンジニアで取得している人は稀です。
Windowsに関する資格は以下です。※ 2022年6月30日に廃止される予定です。https://docs.microsoft.com/ja-jp/learn/certifications/exams/98-349
Linuxに関する資格は「LinuC」が有名です。
https://linuc.org/linuc/levels.html
クロスプラットフォーム開発
これまでご紹介してきた通り、OSにはたくさんの種類があります。そのため、1つのアプリケーションについて様々なOSに対応させようとすると、初期開発、保守ともに多大なコストがかかってしまいます。これを解決するのがクロスプラットフォーム開発と言われる手法です。
クロスプラットフォーム開発をすれば、どのOSであろうとも同じ仕様のアプリケーションが動かせます。
このクロスプラットフォーム開発を実現するために、いくつかのツールが用意されています。代表的なクロスプラットフォームツールをご紹介しておきます。
例えば、Xamarinというツールを使用してソフトウェアAを開発すれば、それがWindowsでもMacでもiOSでもAndroidでも使用できます。このツールがないと、1つ1つのOSにあった開発をしないといけないことになり、同じような開発作業を4回繰り返さないといけなくなります。
ツール名 | 企業 | 対応OS | 開発言語 |
Xamarin | Microsoft | Windows
Mac iOS Android |
C#
F# |
Unity | Unity Technologies | Windows
Mac Linux iOS Android Web PlayStationシリーズNintendo Switch XBox One magic leap |
C# |
Flutter | Windows
Mac Linux iOS Android Web |
Dart |