インフラ基礎知識 ③ OS の基礎知識

Linux

LinuxはオープンソースのサーバーOSで1991年に開発され、Linuxと同様にサーバーOSとしてよく扱われるUnixと互換性を有しています。

Linuxカーネル

この部分がOSの核となります。ハードウエアやアプリを制御するための基本的な機能を実装しています。

Linuxカーネルは次のような機能を持っています。

デバイスの管理機能

LinuxカーネルはCPUやメモリなどのハードウエアの部分をデバイスドライバーと呼ばれるソフトウエアを使用して制御しています。

プロセスの管理機能

Linuxはなにか命令を実行する際に、プログラムのファイルに書かれているコードを読み、メモリの上に展開しその展開されたプログラムを実行します。この実行されているプログラムのことをプロセスといいます。

メモリの管理機能

上記で記載したプロセスが起動されると、プログラムの中で使用するデータもメモリ上に展開されます。

Linuxカーネルはメモリの割り当てを効率よくするための機能も持っています。

Linuxディストリビューション

Linuxには様々な種類がありそれらのことをLinuxディストリビューションと呼びます。

Linuxを扱いやすくするためのものという認識で大丈夫かと思います。

下記に主要なLinuxディストリビューションの一覧を載せておきます。

ディストリビューション説明
Red Hat系Fedora半年スパンでリリースサイクルが繰り返されているため、新しい技術をいち早く使用することができるがLinuxの中では扱いが少し難しいとされている。
Red Hat Enterprise LinuxRed Hatが提供する企業向けのLinuxディストリビューション。各種メーカーのハードウェア上で動作認定した上で提供されている。
CentOSRed Hat Enterprise Linuxのクローン
Debian系DebianGNU/Linuxを中心とするUnix系システム
KNOPPIXCD-ROMやDVD-ROMで起動ができる
Ubuntuデスクトップ環境が充実している

Linuxファイルシステム

Linuxファイルシステムとは書き込みや読み込みなどの操作をハードディスクやUSBなど記録する媒体が違っても問題なく行えるようにするためのものです。

下記に主要なLinuxファイルシステムを数種類載せておきます。

名前説明
ext2初期段階のlinuxシステムで使用されていた。
ext3ext2にジャーナリングを追加したも
ext4ext3の拡張、現在のlinuxファイルシステムのデファクトスタンダード
tmpfsIBMが自社の商用UNIXであるAIXに採用したファイルシステム


Linuxのセキュリティー

企業のサーバとして利用されることも多いLinuxにはオープンソースでありながら有志たちの手で日々アップデートされています。

下記に主要なセキュリティー機能をあげさせていただきました。

アカウントによる権限設定

Linuxはユーザーアカウントに権限を設定することができます。

この権限には特権ユーザーでシステムすべてを管理することができるみなさんもご存知のrootユーザーとそれ以外のユーザーである一般ユーザーがあります。

このrootユーザーはアプリケーションのインストールやファイルシステムのマウントまたデーモンを起動するためのシステムアカウントも作成でシステム自体のシャットダウンなんかも行えます。

特定のプロセスを動かすためだけのアカウントのことをシステムユーザーと呼びます。

ネットワークフィルタリングによる機能

Linuxにはネットワーク関係の機能が豊富に備え付けられています。

なぜならLinuxが元から複数人のユーザーがネットワークを介して使用するという状況を想定して作成されているからです。

SELinux (Security – Enhanced Linux)

SELinuxという機能はアメリカの国家安全保障局が提供しているLinuxのカーネルに強制的にアクセス制御を付与する機能です。

ディレクトリやファイルへのアクセスはパーミッションに基づいて許可されています。

まとめ

今回の記事はWebサービスをリリースするにあたって完全に理解する必要はないので足早に説明させていただきました。

文章を書くのに慣れてなくて、記事ごとに文体がバラバラでごめんなさい…汗

こんな感じなのか程度で覚えておいていただければ幸いです!


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です