こんにちは!はづきです
文系から一部上場IT企業に就職し、エンジニアをやっています
「Linuxを仕事で使うことになったけど、Linuxって何??」
今回はそんな人に向けて、「Linuxとは何か?」について解説します
Linuxは昔から使われているOSの1種です。安価で軽量のため、いまでもサーバによく使われています
OS?サーバ?という人も安心して読んでください!しっかり説明いたします
※この記事は初心者向けに平易に解説しています。正確な理解をしたい人は専門書・専門家をあたっていただければと思います。また、この記事の情報におけるCPの動作結果については自己責任でお願いします。
※本サイトにはプロモーション・広告が含まれています(はづきのブログより)
前提知識:OSとは?
LinuxはOSの一種です。ただ、OSってそもそも何?という方もいるでしょう
まずはOSがどんなものかイメージを持つところから始めましょう!
OSの種類を紹介
まずはOSの具体例を紹介します
- Windows
- MacOS
- Android
- iOS
どこかで聞いたことがありませんか?
WindowsとMacOSはノートPCに搭載されているOSです。一方で、AndroidとiOSはスマホに搭載されています
よく「Androidのスマホなの?iPhoneの人、写真撮って!画質が良いから!」みたいなことありませんか?あの会話で聞く"Android"はOSのことを指しています。AndroidのOSを搭載しているスマホは画質が悪いと言っているわけですね(私もAndroidユーザです(泣))
コンピュータ(CP)には基本的にOSが搭載されています。
OSはわりと身近な存在なんだな
OSはアプリとハードウェアを仲介するソフトウェアのこと
OSの説明のためには、アプリケーションとハードウェアを知っている必要があります
まずはアプリケーションとハードウェアについて理解しましょう!
アプリケーションは、和名で応用ソフトウェアと呼びます
みなさんもスマホで家計簿アプリやゲームアプリをインストールしたことはありませんか?これらがアプリケーションです。特定の用途のためにインストールされるものであり、CPに必ずとも必要なものではありません
ハードウェアは、CPの物理的な機械部分のことです
記憶装置ならSDカードやハードディスク、入力装置ならマウスやキーボード、タッチパネルなど。出力装置ならディスプレイやプリンタなどがあります。OSやアプリといったソフトウェアと違い、わかりやすく目に見えるのが特徴です
OSは、アプリケーションとハードウェアを仲介するソフトウェアです
和名で基本ソフトウェアと呼ばれています。CPに標準搭載されているソフトウェアだから基本ソフトウェアです
例えば、家計簿のアプリケーションでは「収入/支出金額を記憶装置に保存する」や「貯金額をディスプレイに表示する」などハードウェアを必要とする動作があるでしょう
そんなときにOSが、アプリケーションとハードウェアを連携させて上記の処理を可能にします
また、OSにはアプリケーションとハードウェアの差異を吸収する役割もあります。そのため、アプリケーション開発はOSに合わせて進めれば良くなります。たくさんあるハードウェアのメーカーや仕様の違いを細かく気にする必要はありません(ハードウェアにも標準規格があるけど)
iOSにしかないスマホアプリなどがあるのには、こういった背景があります
OSはハードウェアを管理してアプリの動作を手助けするソフトウェア!
CPがCPらしく動くために欠かせないソフトウェアというわけです
LinuxはOSの1種
Linuxはリーナス・トーバルズ氏によって開発されたOSです
開発されたのは1991年と言われていて、当然スマホはありません。ここでは”Linuxは古くからあるOS”であることを知ってもらえればOKです!
いまのように綺麗な画面表示ではなくコマンド形式が主流、そんな時代からあるからこそ特徴的なところがたくさんあります
また、Linuxという名称は狭義ではLinuxカーネル、広義ではLinuxディストリビューションを指すことがあります。このあたりはまた別の記事で説明しますね。たぶん、頭がパンクします
Linuxの特徴
Linuxが長い間使われているのには理由があります
まずはLinuxというOSの特徴をみていきましょう!
オープンソースソフトウェアで無料で利用できる
Linuxはオープンソースソフトウェアであり、そのソースコードの中身を見ることもできます
オープンソースソフトウェアとは、ソースコードを一般に公開していて、自由に改変や配付をして良いソフトウェアのことです
無料で配布されているため、自分のPCにLinuxをOSとして搭載して使うことや、自分好みにカスタマイズして使うことも可能です
多くのソフトウェアと互換性がある
Linuxは昔から活用されているため、Linuxに合わせて開発されたソフトウェアが多々あります
このように互換性があるソフトウェアが豊富なこともLinuxの特徴の1つです
ApacheやMySQLなど、いまでも現役で活躍しているソフトウェアも問題なく動かせます
世界中で使われているため情報が溢れている
Linuxは世界中で使われているため、Linuxに関するノウハウはネットの海にたくさん転がっています
マイナーなソフトウェアを使用していると調べても使い方がわからず困ってしまうこともあります。Linuxはその心配がありません
エラーコードが出ても、そのままGoogle等で検索すれば解決策が見つかることが多いです
Linuxはサーバに使用されることが多い
Linuxはサーバとしての役割を持っているCPに搭載されることが多いです
「サーバって何?」という人に向けてまずはWebサービスを例にサーバについて説明します
サービス提供を担当しているCPをサーバと呼ぶ
ネットの商品購入システムのサービスを例にサーバについて考えていきます
例えば、あなたがノートPCから商品購入ボタンを押したとします。商品購入システムは複数のCPが連携することで成り立っていて、「商品を買わせて!」という要求がインターネットを通してこれらのCPに届きます。そして、これらのCPは、商品購入に必要な処理を実施したうえで完了したことをノートPCに伝えます
このとき、要求を出した側のCPを"クライアント"、要求を返した側のCPを"サーバ"と呼びます。今回の例ではノートPCがクライアント、システムを構成するCPがサーバです
サーバはあくまでCPの役割を指しています。ノートPCも要求を返す役割を持てばサーバとなります
また、CPはそれぞれスペックが異なり、演算処理が得意なCPやデータ管理が得意なCPなどがあります。これらがお互いの長所を生かして1つのシステムを作っています
なぜLinuxがサーバCPに使われるのか
1つのシステムを構成するためには複数のサーバが必要になることが多いです
サーバはCPの1つですから、それぞれのサーバがOSを搭載しています。1つ1つに必要以上の性能を持った高価なOSを搭載していたらコストがかかり過ぎてしまいます。また、このようなOSを搭載するには高性能なCP(ハードウェア)を用意する必要があり、さらにコストがかかってしまいます
そこでLinuxです。Linuxは安価で軽量なため、OS自身の価格が安いことに加えて、低スペックのPCでも動かせるためハードウェアのコストも下げられます。また、Linuxと互換性のあるソフトウェアも豊富なためサービスを問題なく作ることができます
これらがLinuxがサーバCPに使われる主な理由になります
Linux学習とは"CUI操作"に慣れること
Linuxの操作はCUI操作です
GUI操作に慣れ切った現代人が苦労するのが、このCUI操作。。
Linux学習の最大の壁はこのCUI操作に慣れることと言って良いでしょう。最後にGUI操作とCUI操作について説明をします
GUI操作について解説
GUI操作は、みなさんがノートPCやスマホを操作するときの操作仕様です
わかりやすいアイコンやカーソルがあり、視覚的に「なんとなく操作方法がわかる」操作になります
開きたいアプリがあればクリックすれば良いし、閉じたいタブがあれば×ボタンを押せば良い、など「なんとなく」操作感がわかりますよね
WindowsやMacOS、AndroidやiOSはこのGUI操作を基本として作られています
CUI操作について解説
一方で、CPの操作をコマンドで実行するのがCUI操作です
GUI操作では、右クリックを押して「ファイルを作成」を押せばファイルを作ることができますが、LinuxのCUI操作では「touch」コマンドを実行しないとファイルを作成できません
コマンドの知識が必要であり、「なんとなく」では操作方法がわからないのがCUI操作になります
LinuxはCUI操作を基本としており、この操作方法を学ぶことがLinux学習の醍醐味です
不便なように感じますが、CUI操作はシステムを開発するうえでかなり便利です。このあたりは別の記事で書きたいと思います
まとめ
この記事では「Linuxとは何か?」について解説してきました
簡単にまとめます!
- LinuxはOSの1つ!
- OSとはアプリケーションとハードウェアの仲介をするソフトウェア
- Linuxは安価で軽量、便利なソフトウェアと互換性があるためサーバに搭載されることが多い
- Linux学習ではCUI操作を学ぶ
Linuxについて少しでも理解が進んだら幸いです
ここまで読んでいただきありがとうございました!
おしまい
コメント