- OSとは
- カーネルとは
- OS(カーネル)の主な機能
- システムコール
- プロセス管理
- メモリ管理
- ファイルシステム管理
- ネットワーク管理
- デバイスドライバー
- 代表的なOS
- Linux
- Windows Server
- UNIX
OSとは
OS(オペレーティングシステム)は、ソフトウェアとハードウェアの間で、コンピュータ全体を制御してユーザーが使いやすくするためにあります。
ハードウェアとソフトウェアの間で、メモリ管理やネットワーク管理など多くのソフトウェアが共通して利用する機能をOSが提供します。
カーネルとは
カーネルは、OSの中でも特に重要なソフトウェアであり、HDDやメモリなどコンピュータの資源管理等を行っています。
カーネルには、多数の役割がありますが、特に重要なことは、ハードウェアの詳細や他の動作中のソフトウェアへの影響を意識せずに、ソフトウェアを動作させることができることです。
OS(カーネル)の主な機能
OSの主な機能は以下となります。
- システムコール
- プロセス管理
- メモリ管理
- ファイルシステム管理
- ネットワーク管理
- デバイスドライバー
それぞれの項目についてこれから説明していきます。
システムコール
システムコールとは、ソフトウェアがOSを通じて何かを行いたいときに、カーネルの機能を呼び出す仕組みであり、その為の命令や関数などのインターフェース仕様のことです。
システムコールによって実現されるサービスには、ハードウェアへのアクセスや、プロセスの作成、ファイルの読み書き等があります。
ソフトウェアは、システムコールを利用することで上記の機能を使えるため、その裏で何が行われているかを意識する必要はありません。
プロセス管理
プロセス管理とは、コンピュータ内でOSが処理する仕事であるプロセスを管理する機能のことです。
OS上には多くのプロセスがありますが、プロセスを実行するCPUコア数は限られています。
プロセス管理では、実行するプロセスの優先順位や割り振るCPUの決定、必要に応じて、順番の変更や処理の中断などを行います。
メモリ管理
メモリ管理とは、コンピュータがプロセスの処理を行う場所であるメモリを管理する機能のことです。
OS上には多くのプロセスがあり、作業場所であるメモリを効率的に使う必要があります。
メモリ管理では、プロセス単位でのメモリ空間の割り当てと解放を行い、プロセス単位でメモリ空間を独立させます。
それによって、ソフトウェアは他のプロセスが利用しているメモリ空間を意識する必要はなくなります。
ファイルシステム管理
ファイルシステム管理とは、補助記憶装置(HDDやSSD等)のデータを管理し、人間に分かりやすいファイル単位で操作できるようにする機能のことです。
補助記憶装置内のデータは、ただの数値の集まりであり、非常に扱いにくいものです。
ファイルシステムによって、ソフトウェアは「ファイル」という単位でデータを作成、更新、削除できます。
また、ディレクトリ構造を提供することで、ファイルを整理したり、分類したりできます。
その他にもファイルの暗号化やアクセス管理、データ圧縮などの機能もあります。
ネットワーク管理
他のコンピュータとのネットワーク通信もOSが管理します。
TCP/IP(後で書きます。)
デバイスドライバ
デバイスドライバとは、コンピュータ内部に装着された装置や、外部に接続した機器などのハードウェアを制御・操作するための機能です。
代表的なOS
Linux
Linuxとは、オープンソースとして代表的なOSです。
オープンソースとは、ソフトウェアを構成するソースコードを、無償で一般公開することです。そうすることで誰でもそのソフトウェアの改良や再配布が行えます。
その為、Linuxには様々な種類があり、大きく分けるRed Hat系とDebian系があります。
Red Hatは、Red Hat Enterprise LinuxやCent OS、Cent OS等があります。
Debian系は、DebianやUbuntu、Linux Mintなどがあります。
Windows Server
Windows Serverとは、Microsoft社の提供するサーバOSです。
特徴としては、Windowsとよく似た外観や操作性、Microsoftの多くの製品との相性の良さなどがあります。
UNIX
UNIXとは、1969年にアメリカのベル研究所で開発された現存する中でも古いサーバOSです。
特徴としては、安全性が高く、また余計な機能が少ないので軽いことがあげられます。