目次
Linuxとは
Linuxとは、WindowsやMac OSと同じオペレーティングシステム(OS)の一種です。
OS(オペレーティングシステム)とは、人間とコンピュータの間でコンピュータの資源(resource)を効率良く管理するソフトウエアです。
コンピュータの中身は、小さなプログラムと電子機器(資源:Resource)で動いています。
これらを人間が意識することなく、全体のバランスを取りながら操作(オペレーション)しているプログラムをオペレーティングシステム(OS)と呼びます。
Linuxの歴史
1969年
Unixオペレーティングシステム
ケン・トンプソンとデニス・リッチー(両者ともAT&Tベル研究所の職員)によって構想・開発され、
1970年
初めてリリースされた。続いて彼らはUnixの移植性を高めるためにC言語で書き直した。
入手性と移植性の高さが功を奏し、Unixは教育機関や企業に広く採用され、複製され、改変された。
1977年
カリフォルニア大学バークレー校のComputer Systems Research Group (CSRG) によって、Unix 6th editionを基盤とするBerkeley Software Distribution (BSD) が開発された。
1987年
アンドリュー・タネンバウムが出版した教科書である『Operating Systems: Design and Implementation』の記述の実例として、教育機関での利用を目的とするMINIXがリリースされた。MINIXはソースコードが公開されたが、改変や再配布には制約があった。
1990年代初期
Intel 386搭載PCで動作する商用Unix系OSは個人で使用するにはあまりに高額であった[9]。
1991年
linuxは、フィンランドのヘルシンキ大学に在学していたリーナス・トーバルズ氏によって開発され、に最初のバージョンが公開されました。OSといえば大企業が開発した商用のものだけで、ソースコードを公開することはタブーといわれていた時代に、インターネット上で無料でソースコードを公開したことで大きな反響を巻き起こしました
OSの役割は次の様なものがあります。
OSの役割はいろいろなものがありますが、個々の内容は別の記事で説明します。
OSの役割がすべてわかれば、情報処理技術者試験の「コンピュータシステム」がほぼ理解できるでしょう
OSの役割
OSの役割は次の様なものがあります。
ハードウェア制御管理
メモリやCPUの動きを最適にできる様に管理します。
タスク・プロセス管理管理
複数ユーザーの複数の仕事を同時にこなします。
メモリ管理
複数の仕事をこなす時に、メモリが不足しない様に割り当てます。
ファイルシステム・ディスクアクセス管理
データの保管や読み出しを管理します。
デバイス管理(周辺機器管理)
キーボードやマウス、プリンター等を操作します。
ネットワーク管理
ネットワーク通信を管理します。
セキュリティ管理
ユーザー別のデータの使用やプログラムの使用を制限します。
アプリケーション管理
アプリケーションの開発やコンパイルを行います。
ユーザインタフェース管理
ユーザーに使いやすいインターフェイスを提供します。
GUI(Graphical User Interface)
CUI(Character User Interface)
Linuxを学ぶ為の環境
1)パソコンに「Liunx」をインストール
ちょっと古いパソコンにLinuxをインストールする事ができます。
最新型のPCは、ハードウエアのドライバーがなかったりしますので、ちょっと古いPCがお勧めです
LinuxのサイトからDVDイメージダウンロードしてインストール用DVDを作成してインストールします。
2)仮想サーバーに「Linux」をインストールします。
WindowsやMacに、仮想サーバーを設置して、Linuxをインストールする事ができます。
Oracle VM VirtualBox
https://www.virtualbox.org/
VMware Player
https://www.vmware.com/jp/products/workstation-player.html
Hyper-V
https://learn.microsoft.com/ja-jp/virtualization/hyper-v-on-windows/about/
3)クラウドサーバーに「Linux」をインストール
各社のクラウドサーバーに「Linux」にインストールする事ができます。
AWS( Amazon Elastic Compute Cloud)
https://aws.amazon.com/jp/?nc2=h_lg
GCP( Google Compute Engine)
https://cloud.google.com/?hl=ja
IBM Cloud
https://www.ibm.com/jp-ja/cloud/free
さくらのクラウド
https://cloud.sakura.ad.jp/
Linuxの特色
•オープンソース
Linuxのソースコードは公開されておりカスタマイズが可能
•マルチプラットフォーム
Iotやロボット、産業機器に移植ができる
•マルチユーザー・マルチタスク
サーバーとしての利用が容易にできる
•サーバー機能
インターネットサービス提供ができる
バックアップ/クラスタ接続/ロードバランスがができる
オープンソース
LinuxはOSS(オープンソースソフトウェア)として提供されています。
オープンソースソフトウェア(OSS)
ソースコードが公開されており、無償で誰でも自由に改変、再配布が可能なソフトウェアのことです。(OSS: Open Source Software)
特定の企業でなく、有志によって組織されたコミュニティなどで開発されていることが多く、開発にはプログラマが参加しています。
従って、いつ改版されるか、バグの修正がされるかは明確でない事があり、利用は、自己責任で行う必要があります。
OSSライセンス
公開されているソースコードを無制限に利用できるわけではなく、ライセンスの種類によって定義されたものを意味します。
MITライセンス、GPL、BSDなどです。
改変したソフトウェアを配布する場合、ソースコードの開示が必要になることもあります。
OSSを用いて商用利用のソフトウェアを開発し、ソースコードを公開せずに販売する場合はライセンスの内容に注意する必要があります。
オープンソースにより、いくつかの改変・再配布(Distribution:ディストリビューション)が行われています。
参考:GNU General Public License version 2.0(GPL v2.0)
特徴
・商用利用可能・利用に伴い作成者はいかなる責任も負わない
頒布時の主要な条件
無保証である旨をソフトウェアの重要部分(ヘッダ部など)に記載する必要あり
GPL ライセンスを利用して作成されたソフトウェアは頒布時にソースコードの公開義務あり(改変部分のソースコード公開を含む)
頒布がバイナリによるものであれば、ソースコードに加えてバイナリを生成するために必要な構成ファイル等の開示義務あり
GPL ライセンスが適用されたプログラムの全部あるいは一部を用いて作られたソフトウェアは GPL に従って頒布されること
GPL ライセンスを適用したソフトウェアを頒布する際に GPL ライセンスで書かれている以上の条件を課すことは出来ない
本ライセンスを適用している OSS の例:MySQL, Redmine, Git, CentOS
ディストリビューション
マルチプラットフォーム
マルチユーザー・マルチタスク
マルチユーザー
同じシステムを、複数のユーザーが使用する事ができます。
マルチタスク
異なるプログラムを同時に実行することができます。
サーバー機能
インターネットサービスの機能が豊富にあります
インターネットサービス
ドメインサービス:DNS
Webサーバー:Apache
SSHサーバー:SSH
ファイル転送:Ftp
メール:POP3,IMAP4,SMTP
データベース:MySql
サーバー管理
分散処理
ロードバランシング