Linuxとは?基本情報技術者試験の重要キーワードを解説
更新日:2021年9月30日
Linuxはシステム開発をはじめとして広く利用されているオープンソースのOSです。
現代において、Linuxの活用はシステム開発において必須となりつつあり、Linuxに関する知識は基本情報技術者試験の対策としてはもちろんのこと、実務においても重要となります。
この記事では、Linuxについてその概要や用途、そして基本情報技術者試験によく出る関連ポイントを解説します。
Linuxとは
まず、Linuxの概要や歴史、特徴について解説します。
Linuxの概要
Linuxは1991年に当時学生であったリーナス・トーバルスが開発したオペレーティングシステムです。なお、Linuxは「リナックス」と読みます。Linuxの最大の特徴はオープンソースソフトウェアであることです。
オープンソースソフトウェアであることから、Linuxを自由に拡張して利用することが可能であり、最初のLinuxから派生した様々なバージョン(これをディストリビューションといいます)のLinuxが存在します。
さらに、WindowsやMacとは異なり、利用するために料金がかからないことも大きな特徴です。
Linuxの歴史
リーナス・トーバルスは、当時幅広く利用されていたOSであるUnixをベースに、Linuxを開発しました。当初は機能面で見劣りするLinuxでしたが、オープンソースとしてLinuxを開発者コミュニティに向けてリリースしたことにより、様々な開発者たちが自由にLinuxを拡張させていくことになります。
これにより、機能面で充実していったLinuxは、無料で利用できるというメリットも相まって次第に幅広い分野で利用されるようになります。
さらに、折しも発展が進んでいたインターネットの世界において、Webサイトを構築するためのサーバー用OSとしてLinuxが広く利用されることになります。当時はWebサイトの収益性が低かったこともあり、無料で利用できるLinuxはWebとの相性が良かったことが理由の一つです。
近年では、Linuxから派生したスマートフォン向けのAndroid OSなども登場しており、Linuxは幅広い分野で利用される主要なOSの一つとなっています。
Linuxの特徴
これまで解説してきた通り、Linuxの最大の特徴はオープンソースソフトウェアであることですが、それ以外にも以下のような特徴があります。
-
自由に機能拡張ができる
Linuxはオープンソースソフトウェアであり、開発者は自由に機能を拡張することができる。開発された機能は自由に利用することができる。
-
コマンドで操作する
Linuxには、WindowsやMacといった他のOSとは異なり、基本的にマウスを用いたGUI操作には対応していない。操作はシェルと呼ばれる入力アプリからコマンドを入力することによって行う。
-
軽量に動作する
Linuxは主に技術者向けのOSであることから、無駄な機能がなく軽量に動作する。これによって、低スペックのPCやサーバーであっても軽快な動作を実現できる。
オープンソースソフトウェアとは
ここまで、Linuxの解説を行ってきましたが、Linuxの特徴であるオープンソースソフトウェアとは具体的にどのようなものを指すのでしょうか。ここでは、オープンソースソフトウェアについて解説します。
オープンソースソフトウェアを簡単に説明すると「自由に利用できるソフトウェアのこと」ではありますが、厳密な定義としてはオープンソースの推進団体であるOSIによって要件として定められています。
この要件の概要を整理すると、オープンソースの定義は以下のようになります。
|
これらの要件をよく確認すると、「無料で利用できる」という項目はありません。注意しなければならないのは、すべてのオープンソースソフトウェアが無料で利用できるとは限らないということです。
このような背景から、無料で利用できるオープンソースソフトウェアのことを、FLOSSなどと区別することもあります。
オープンソースソフトウェアは、その定義から自由にソースコードを改良し、配布することができます。よって、自律的に機能拡張が進んでいくという特徴があり、現代のシステム開発においては多くのオープンソースソフトウェアが利用されています。
Linuxの主な用途
以下では、Linuxの主な用途について解説します。
サーバー向けOSとしての利用
Linuxの最大の利用例はサーバー向けOSとしての利用です。特に、近年ではクラウドの普及もあり、クラウド構築用のOSとしてLinuxが利用されており、調査によってはクラウドの90%はLinux OSで構築されているとしているものもあります。
LinuxはWebサーバーやアプリケーションサーバー、データベースサーバーなどの機能を備えており、多様なサーバー構築を可能としています。豊富な実績があることから信頼性も高く、現代的なシステム開発においては必須となっています。
スマートフォン向けOSとしての利用
Linuxをベースとして開発されたAndroid OSは多くのスマートフォンに搭載されており、デファクトスタンダードとなっています。Android OSは4億台もの端末で利用されており、そのシェアは世界で9割近くに上り圧倒的な一位となっています。スマートフォン向けOSとしてもLinuxは広く利用されている状況です。
Android OSはLinuxをベースとしているため、当然無料で自由に利用することができます。これがAndroid OSが幅広く利用されている理由の一つとなっています。
組み込み機器向けOSとしての利用
Linuxが利用されているもう一つの場面として、家電や電子機器などの組み込み機器が挙げられます。例えば、家庭用の炊飯器や電子レンジ、テレビ、エアコンといった製品や、wifiルーター、プリンターといったPC周辺機器など、私たちの身の回りの製品の多くはLinuxが搭載されています。
Linuxはその軽量で動作するという特徴から、比較的スペックに限りがある組み込み機器での利用にも適しています。
Linuxに関して押さえるべき主なポイント
以下では、特に基本情報技術者試験で問われる内容を中心に、Linuxに関して押さえておくべきポイントについて解説します。
Linuxカーネル
カーネルとは、OSのコアとなる部分であり、CPUやメモリ、ディスクといった物理的な媒体とOS上で動作するアプリケーションをつなぐ役割を担う機能のことです。
Linuxカーネルとは、Linuxのコアとなるカーネル部分のことを指し、基本的には「Linux OS」という場合は、Linuxカーネルが利用されているOSということと同じ意味となります。
ディストリビューション
ディストリビューションとは、当初のLinuxから派生した様々なLinuxのバージョンを示す言葉です。Linuxはディストリビューションによって大きく機能が異なるため、Linuxを利用する際にはどのディストリビューションのLinuxを利用するのかまで意識して選択する必要があります。
主に利用されているディストリビューションを以下に示します。
ディストリビューション名 | 概要 |
---|---|
Debian | 最も普及しているディストリビューションであり、様々な派生ディストリビューションが存在する。 |
Ubuntu | デスクトップOSとしても利用できるGUIを備えたディストリビューションであり、商用サポートにも対応。 |
Red Hat Enterprise | 商用利用向けに作られたディストリビューションであり、保守サポートなどが充実している。 |
Cent OS | 商用利用向けに作られたRed Had Enterpriseを一般向けに提供するためのクローンOS。 |
Android | スマートフォン向けに作られたディストリビューションであり、軽量で動作する特徴がある。 |
シェル
Linuxは、原則としてコマンドラインからテキストにてコマンドを入力することによって操作します。この際、コマンドはシェルと呼ばれる入力画面から入力されます。
ディストリビューションによって様々なシェルが用意されており、シェルによって若干操作方法は異なります。
シェルは、シェルスクリプトと呼ばれる言語によって操作することもできます。シェルスクリプトを用いることで、Linuxの様々な操作を自動化することができ、システムの運用保守などにおいては欠かせない機能となっています。
コマンド
上述の通り、Linuxはシェルを通してコマンドによって操作します。コマンドには多種多様な種類が存在し、例えばファイルをコピーするコマンドやファイルを表示するコマンド、プログラムを実行するコマンドなど様々です。
主なLinuxコマンドを以下に示します。
コマンド名 | 操作 |
---|---|
li | ファイルの一覧を表示する。 |
cd | カレントディレクトリを移動する。 |
mv | ファイルを移動する。 |
cp | ファイルをコピーする。 |
cat | ファイルの内容を表示する。 |
chown | ファイルの所有者を変更する。 |
root | 管理者権限で操作を実行する。 |
まとめ
この記事では、基本情報技術者試験を受けようとされている方に向けて、Linuxに関する内容の解説を行いました。Linuxは現代のITシステムの幅広い分野で利用されており、基本情報技術者試験対策としてはもちろんのこと、IT業界で働くうえで必ず必要になる知識です。
このタイミングでぜひLinuxに関する基礎知識を押さえておくことをおすすめします。