OS(Operating System)
って言葉を聞くと、なんだが重要なものに思えますが、サーバに乗っている各技術を動かすためには必要不可欠な技術です。
簡単に表現すると「サーバの司令塔(監督)」みたいなものですかね。
といっても何を指令するのかというと、利用者がマウスやキーボードを操作したり、httpのリクエストなどでサーバへ来た指示(依頼)を受け付けて、サーバ内のCPUやメモリなどに計算や処理をお願いします。そして、その結果を画面に出したり、ネットワーク経由で返したりします。
実際はカーネルやらデーモンやらブートローダやら様々な仕掛けが動いているのですが、細かく理解するのは大変ですね。
以下サイトが非常に参考になります。
OSって今この画面を見ている時も実は忙しくサービスを提供し続けてる働きものですよね!
OSの基礎
OSの仕事を以下に記載してみました。
制御プログラム(狭義の意味でのOS)
- ジョブ管理
- タスク管理
- 記憶管理(メモリ管理)
- データ(ファイル)管理
- デバイス管理
ハードウェアを管理(制御)して、応用ソフトウェアやミドルウェアから、コンピュータが安定的、効率的に動作できるように動いている基盤のソフトウェアが制御プログラムですね。OSのメインと言える部分です。
一般的に、上記の管理を行うプログラムのことを「カーネル(kernel)」と呼びますね。カーネルには、メモリ管理やプロセス管理などに機能を限定したマイクロカーネルと、多くの機能を網羅したモノリシックカーネルがあります。
言語処理プログラム(言語プロセッサ)
C言語やJavaなどのプログラミング言語で書かれたプログラムを、コンピュータが理解できる機械語に翻訳するプログラムのことです。「コンパイラ,アセンブラ,インタプリタ」と呼ばれているものですね。これも重要な役割です。広義の意味でのOS(基本ソフトウェア)の役割となります。
サービスプログラム
コンピュータの機能を補う、補助的なプログラムのことで、ユーティリティとも呼ばれています。ファイル変換(ファイル圧縮)、テキストエディタ、分類/併合、整列等 ソートプログラム、エディタ、リンカ等がありますね。広義の意味でのOS(基本ソフトウェア)の役割となります。
サーバOS
OSを二つに分けると「クライアントOS」と「サーバOS」に分けることができますが、この違いを簡単に表現すると以下のようになります。
- サービスを提供するためのアプリケーション(ファイル、メールサービスなど)が搭載されている
- データアクセスの高速化と安定性に関わる拡張、同時に使える機能や接続を受付けるコンピュータの台数が違う
- サーバとしては配下にある他の端末を管理できる仕組みがある(AD)
- 当然、サーバーの方がライセンス費用が高い
サーバOSの方がシステムを構築する上では圧倒的に良いですね。
サーバOSの比較
サーバOSは以下の種類に分けることができますね。
- Windows Server-OS
- LINUX-OS
- UNIX-OS
値段や使い易さが違いますが、細かい違いは最後の資料で解説しておりますので、ご参照ください!
※サーバOSに関して資料にまとめてみましたので、こちらも参考にしてみてください。
[pdf-embedder url="https://itmanabi.com/wp-content/uploads/2018/11/system-kiso-os.pdf"]