目次
Linuxとは何か
Linuxという言葉は、2つの意味で使われます。
基本的にはLinuxと言われた時には、Linux OSを指すことが多いです。 Linux OSは、WindowsやMac OSと同じOSの一つです。
(※) Linux OSはコストの面や高い安定性の面で、サーバー用途のOSでトップシェアを誇っています。
OSとは何か
OSとは、 コンピュータを動作させるための基本ソフトウェア群です。 ブラウザとかアプリケーションはOSがあることで、動くことができます。 アプリケーションを動かすためにはOSが必要です。
(※)アプリケーション(応用)に対して、OSは基本です。
OSが提供する機能
OSが提供する機能として、以下のようなものがあります。
OSとは上記の機能を担うソフトウェア群のことで、私たちが普段当たり前に使っている機能を提供してくれます。
(※)さまざまなことを並行して行えるのは、OSがプロセス管理を行なってくれているからです。
Linuxカーネルとは何か
Linuxカーネルとは、 Linux OSのカーネルです。カーネルとは、OSの中核にあるソフトウェアのことです。 カーネルは、プロセス管理、メモリ管理、デバイス管理などのハードウェア制御やファイルシステムを提供するという役割を担っています。LinuxカーネルはLinux OSで使用されます。
(※)Kernelは日本語で「中核」という意味です。
OSはカーネルとそれ以外に分けられる
OSはカーネルとそれ以外に分けられるが、カーネルはOSの一部の機能しか持たないので、その他のOSの機能はカーネル以外のソフトウェアで実現する必要があります。
Linuxカーネルの特徴
Linuxカーネルの特徴は、 オープンソースで開発されていることです。 オープンソースで開発されているので、WindowsやMac OSのようにライセンス料を払わずに無料で使用することができます。無料なのに安定性も高いです。
Linuxディストリビューションとは
Linuxディストリビューションとは、 OSとして動かすのに必要なソフトウェア群を、Linuxカーネルとまとめて提供したものです。 それぞれの開発者はLinuxディストリビューションをインストールすることで、すぐにLinux OSとして使用できるようになります。
Linuxカーネルが開発された当初は、開発者はLinuxカーネルをインストールして、周辺のソフトウェアは自分で探して、LinuxカーネルとセットでインストールすることでOSとして使用することができていました。Linuxディストリビューションのおかげでこれらの手間が省けます。
(※) Linuxディストリビューションは、ほとんどLinux OSと同じような意味です。 Linuxカーネルは共通ですが、周辺のソフトウェアがディストリビューションによって微妙に異なってきます。
ディストリビューションの種類
ディストリビューションには大きく分けて2つの種類があります。1つがCentOSのようなRedHat系と、UbuntuのようなDebian系です。現時点でより主流なのはRedHat系だそうです。
普通のPCとサーバー用のコンピュータの違いは何か
操作する際のインターフェースの違い
普通のPCの場合はGUI、 サーバー用のコンピュータはディスプレイを持たないので、シェルでコマンドを実行するCLIを使用します。ユーザー数の違い PCは一人のユーザーだけが操作しますが、サーバー用のコンピュータは複数のユーザーがログインして操作を行います。
(※)CLI(コマンドラインインターフェース)とは、 キーボードでコマンドを入力して、文字列として結果を出力するインターフェースのことです。また、マルチユーザーシステムとは、一人のユーザーではなく、複数のユーザーが同時にログインして利用することを前提とするシステムのことです。サーバー用のコンピュータはマルチユーザーシステムを採用しています。
Linux OSがインストールされているマシンを用意する3つの方法
- 今持っているパソコンのOSをLinuxに書き換える
今動いているアプリケーションが動かせなくなってしまうので、この方法はやらない方が良いです。 - AWSやGCPでEC2インスタンスを起動させてそこにLinux OSをインストールする
- 仮想マシンとしてLinux OSがインストールされているマシンを用意する
物理マシン、仮想マシンとは何か
物理マシンとは
物理マシンとは、普通のコンピュータのことです
仮想マシンとは
仮想マシンとは、 物理マシンと同じ機能をソフトウェアで実現したコンピュータのことです。 仮想マシンの実体は物理マシン上のファイルであり、このファイルが物理マシン上で実行されることによって、物理マシンと同じ機能をソフトウェアで実現しています。物理マシンにインストールされているOS上で、仮想化ソフトウェア(Virtual Box等)が動いていて、そのソフトウェアを使うことで、仮想マシンを作成することができます。仮想マシン上にOSをインストールします。
仮想化を知る上で以下の画像が分かりやすかったので、引用させていただきます。
画像引用(サーバ仮想化とは?)
(※)物理マシンが持つOSをホストOS、仮想マシンが持つOSをゲストOSと呼びます。ホストが招待する側、ゲストが招待される側であるため、そのような名前になっています。
終わり
VirtualBoxを使って仮想マシンを立ち上げようとしたのですが、うまくいかなかったので、EC2インスタンスを設置して以降はやります。
参考記事
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】 | Udemy