はじめに
今回は、WindowsServerやLinuxというOSで有名な『サーバー用OS』について解説していきます。
では、『サーバー用OS』とはどのようなもので、何ができるのでしょう?
結論から言えば、サーバー用OSとは『安定性を最優先に作られ、止めないで連続稼働を続けられるOS』ということになります。
『OS』とはどのような存在なのでしょう?
まず、世の中のあらゆるコンピューターはハードウェアだけでは動くことができません。
コンピューターを動かすには『OS』が必要です。
『OS』とは『Operating System』の略であり、オペレーション、つまり演算処理をおこなうシステムになります。
これを分かりやすく言えば、『OSがコンピューターに指令を出し、コンピューターそのものを動かす』という意味合いになります。
そしてこのOSは、サーバーに限らず、あなたが利用しているPCばかりか、タブレットやスマホにも当然入っているものです。
あなたがコンピューターに打ち込んだ言葉も、スマホでタップした動きも、OSがそれらの入力を受け取って、ソフトウェアやハードウェアに指令を発しています。
つまり、OSこそが処理の中心地であり、あなたが望むものや動きを助ける架け橋となり、結果を返してもらえる存在というわけです。
ユーザーインターフェースを知っておこう!
では、OSが何をしているかを理解していくことになるのですが、その前に、OSが持つUIについて知っておかなければなりません。
『UI』とはUser Interfaceの略で、いわゆるコンピューターがディスプレイに映し出す画面のことです。
UIには『GUI(Graphical User Interface)』と『CUI(Character User Interface)』という2種類のものがあります。
あなたはGUIの方が聞く頻度は多いかもしれないですね。
反対に、CUIはあまり馴染みがないかもしれません。
『GUI』は、WindowsやMacだけでなく、ほぼ全てのコンピューターにグラフィカルな画面を表示させるインターフェースのことです。
そして、誰でもマウスやキーボードを使って操作しやすくした体系のインターフェースだとも言えます。
反対に『CUI』は、グラフィカルにはなっておらず、キャラクター、つまり文字だけを画面に表示し、キーボードのみでコンピューターを操作しなければならない操作体系です。
もしかしたらあなたは「キーボードを使ってコンピューターを操作するってどういうこと?」と思われるかもしれませんね?
今のようなグラフィカルなコンピューターが生まれる以前は、実はGUIもマウスも存在しておらず、キーボードを使って操作することが当たり前だった時代があります。
そして、その頃はキーボードのみでコンピューターを操作しなければならず、その方法として『コマンド』というものを使っていました(今でも使います)
もし、今PCでこの記事を見ていたら、試しにその画面を開いてみましょう。
Windowsならプログラム名で『コマンドプロンプト』か『cmd』と入力してみてください。
Macなら『アプリケーション』の『ユーティリティ』から『ターミナル』を起動してください。
どちらも黒い画面が表示されたと思います。
この画面をCUIと呼び、あなたはこの画面のみを使って、コンピューターの基本的な操作をすることができるわけです。
このようにコンピューターを操作する方法にはGUIとCUIという2種類がありますが、これらはどちらも入力装置としての役割のみになります。
OSにとっては、人間がGUIを使おうがCUIを使おうがどちらでも構わず、入ってきた情報をコンピューター用に置き換えて命令を出しているに過ぎないということになるからです。
『機械語』や『カーネル』という言葉を知っておこう!
前項目で、GUIとCUIのユーザーインターフェースを知ることができました。
そして、そこからOSが各部に命令を出していることも分かりました。
次は、あなたがGUIやCUIで操作した内容が、どのような命令でコンピューターを動かしているのかということを知っていきましょう。
それは普段私たちが日常ではあまり聞くことがない『機械語』という言葉から始まります。
機械語とは、OSがハードウェアやソフトウェアを動かす大元のプログラムのことで、2進数で表された『0』と『1』の数字の羅列です。
よくコンピュータのイメージで見るアレですね。
機械語が『0』と『1』の数字の羅列ということは、当然人間が理解することは出来ず、コンピューター任せな言葉になります。
そしてOSは、この機械語を使って各ソフトウェアやハードウェアに指令を与えているのです。
このOSが出す指令のことを『カーネル』と呼びます。
カーネルはOSの中核的な存在であり、人間がインターフェースで操作した内容を、コンピューター用の機械語に翻訳してくれる翻訳家としての役割を担ってくれています。
イメージとしては、あなたがキーボードで何かキーを打ったら、ユーザーインターフェースを経て、OSにあるカーネルが機械語に翻訳し、CPU、メモリ、アプリなどに指令を出します。
そして、返ってきた結果の文字をディスプレイに表示させているというわけです。
こうして、カーネルを含むOSのおかげでコンピューターは人間の役に立っているのです。
サーバーOSの種類
普段利用している一般のOSとサーバーOSの違いは何なのでしょうか?
その最大の違いは『安定性』でしょう。
一般のOSから見てみると、WindowsやMacは再起動やシャットダウンをおこなえることが前提のシステムになっています。
今でこそ少なくなりましたが、2010年以前だと新しいアプリをインストールする度にいちいち再起動を促されたものです。
一方サーバーOSは、24時間の連続稼働が求められるものなので再起動やシャットダウンをおいそれとはできません。
したがって、サーバーOSは稼働したままアップデートや各種メンテナンスが最初からおこなえるようになっています。
この安定性がサーバーには求められるので、サーバーにはサーバー専用のOSが必要になるというわけです。
そして今現在、主要なサーバーOSは『WIndowsServer』『Linux』『UNIX』の3つであり、多くのシステムがこれらの内どれかを利用しています。
Windowsはマイクロソフトが販売しているもので分かりやすいですが、『Linux』『UNIX』という名前はあまり聞きませんね。
『Linux』で身近なものと言えば、今ではgoolgeのAndroidが有名で、他にはカーナビやゲーム機などに普及されているOSです。
あれ?なんだかサーバーとはかけ離れていますよね。
これは、Linuxと言ってもサーバーOSのみというわけではなく、様々な形態のLinuxが存在しているからです。(後述します)
『UNIX』は、実は『Linux』を参考に作られたものであり、企業が求める目的のサーバー用に設計される専用OSになります。
企業相手なので、個人では簡単に使えるOSではありません。
『Windows Server』の特徴
- マイクロソフトが販売している、Windows系のサーバーOS
- Windowsと親和性が高く、Windowsユーザーには使いやすい
- Windowsクライアントの管理が容易
- 豊富なサーバーソフトウェアが揃っている
『Linux』の特徴
- サーバーOSとしてシェアが大きい
- ソースコードがオープンソースであり、誰でも自由に改変が可能
- 元々がフリーウェアであり、無料で使える
- 豊富なサーバーソフトウェアが揃っている
『UNIX』の特徴
- UNIXサーバー用に作られたOS
- 性能と信頼性が圧倒的に高い
- 専用のOSになるのでコストが高い
以上、サーバーOSは主にこれら3つの内のどれかが使われていることが多いです。
数多くある『LinuxOS』の種類
『Linux』はオープンソースであるのと同時に、無料なので開発者たちのコミュニティが活発です。
つまり派生となるLinuxが次々に作られることになるので、実はLinuxと言っても数多くのOSが存在しています。
そして、それらには無料だけでなく、有料のLinuxも作られています。
「あれ?無料なのに何で有料のものがあるの?」とあなたは思いますよね?
実はその理由は、独自に開発したLinuxOSを販売している企業もいて、そのOSのサポートを手厚くするために有料化しているのです。
ちょっと脱線しますが、あなたがWindowsを使っていてトラブルが起これば、購入した販売店なり、マイクロソフトのサポートに連絡しようとしますよね?
ところがフリーウェアであるLinuxの場合、もし何かトラブルが発生したり、脆弱性が発見された場合に開発元に申し出てもすぐに助けてくれるとは限りません。
サーバーを導入したい企業としてはこれでは大変困りますよね。
ですからOSベンダーは、そういったフリーのLinuxにはない、サポートを含めた有料でサービスを提供し、企業が困った時には対応できるようにしているわけです。
有料で有名なのは『Red Hat Enterprise Linux』や『SUSE Linux Enterprise』『Turbolinux』などがあります。
反対に、無料なのは『Red Hat Enterprise Linux』から有償部分を外した『CentOS』や『Debian』『Ubuntu』などがあります。
これら無料のOSを使用する場合は、当然ながら自己責任になるので、サポートを期待しないで利用しなければなりません。
とは言え、トラブルがあれば市場的に影響範囲も大きくなるので、様々なユーザーのOSコミュニティでお互い頼りながら解決の道を目指していくようになります。
まとめ
サーバーOSがどのようなものか分かったでしょうか?
OS自体はサーバー用もPC用も変わらず、ユーザーインターフェースから始まりカーネルを使って指令を出すところまで基本的に同じです。
しかし、サーバーOSに大事なのは『安定性』です。
それがクリアになって、始めてサーバー用途として使えるものになります。
そして、そのサーバーOSの数は多く、コストをかけた手厚いサポートを受けるか、それともコストをかけずに自己責任でサービスを提供するかを選ぶ必要が出てきます。