フクチ@プログラミングと釣り好き大学生のブログ

プログラミングと釣りと、ときどき日常生活

UNIX系OSを大まかに知る①

こんばんは、
今日は、UNIX系OSについて現時点での知見を大まかにまとめようと思います。

というのも
isuconをやっていると、
自身はmacOS Xを使っているのですが
macOS以外のOSの環境下でwebアプリをデプロイしていて

例えばUbuntuCentOS など
初めて見た時は何がなんだかわかりませんでした。

ってことで
調べてまとめてみました。

0.そもそもOSとはなんぞや

OSとは、コンピューターを動かすためのソフトウェアのことです。
Operating System オペレーティング システムの略。コンピューター全体を管理、制御し、人が使えるようにする役割があります。
コンピューターを使う上では 基本となるソフトなので、OSを基本ソフトウェアといいます。
身の回りにある家電製品や産業機器などのコンピューターには 役割や機能は異なりますが すべてOSが入っています。

参照:PC講座


要は人とコンピュータの動力源てきなやつか。
OSの種類を大まかに分けると UNIXwindowsMac に分かれる
ちなみに知っての通り、一般人が使っているOSで一番のシェア(デスクトップOS)はwindowsで90%以上を誇る

1.UNIXとはなんぞや
OSの種類の一種で
・現存している最古の OS
・インタネットサーバはほぼ UNIX系統のOSが使われている
・高いセキュリティとネットワーク機能の安定性を誇る らしい。

1969年にアメリカの研究所でMulticsという世界初のOSがつくられたが重すぎて使いものにならず、
なんとか作り直して、実用化したのが UNIX

開発元の事情がありUNIXソースコードは世界中に公開されていた(後にライセンス化される)

そのおかげもあってか
ソースコード見れるし、自分たちでさらに改良できるんじゃね?」
ってことで世界中でヒットして、UNIXから派生したOSがどんどん出てくる

ーーなるほどなるほど、
とりあえず、 OSの起源はUNIXからきていたんだな

2.Linuxの誕生
そして、UNIXから派生したものの代表的な一つがLinuxです。
UNIXの機能に対して不満を感じたフィンランドの大学院生がUNIXを参照に開発したのが
Linuxだそうです。

しかも、驚くべきことが
あくまで参照してつくったということ。
UNIXがライセンス等の問題でうるさかったために一から開発をして作ったらしい。
末恐ろし。

だから、使われているコマンドは似てるけど、ソースコードは違う。
さらに
UNIXとは違って、Linuxは完全にソースコードが公開されていて
これまた、派生した色々なOSが出てきて大ヒット。

3.種類について
で、UbuntuCentOSはなんなのというと
結論からいうと
Linuxディストリビューション(配布形態、派生したモノ)に含まれるらしいです。

結局、UNIXから派生した OSを大まかに分けると

①systemV系---これはUNIXを開発した親会社が開発したもの
BSD---カリフォルニア大学のバークレー校が開発したUNIXの互換 OS
Linux---linuxはさらにRedHat系とDebian系、slackware系に派生

の三つに分けられる。

4.MacOSってunixからの派生?
Mac OSにはDebianというappleが開発したOSがあってそれがUnixの互換OSであるBDS系がカーネル部分(OSの根幹的なやつ、車でいうエンジン?)のベースに使われているらしい。
若干ややこしい。。。
だからディレクトリの階層設定とかコマンドがほぼ一緒なのか。
まとめると、こうなるのか
f:id:Yuki-F:20170816165914p:plain


しかし、
調べみてなんでにこんなに派生させちゃったんだろう。と思いましたが、
もっと良いOSを作りたい、という野心をもった多くのハッカー達のおかげでどんどん良いモノができていて
僕らがこうやって良いOSを使えているのかなとも感じました。

現に、OSによって得意分野があるみたいで
一般user向けはwindowsだけど、サーバ向けはUNIX系が使われているみたい。
さらに細かい分類があるみたいでけど、ここでは控えます。

ってことで
大まかな UNIX系OSを振り返りました。


次回は
macOSUbuntuCentOSの代表的なパッケージ管理システムとインストールコマンドの違いを忘れがちだから書きたいな。


参照:
UNIX系 OSについて1Pでまとめていた
http://uguisu.skr.jp/Windows/first_unix.html

・OSの歴史を初心者向けに面白く書かれていた。
OS種類:https://eng-entrance.com/programming-os
UNIXLinuxの違い:https://eng-entrance.com/unix_linux
Linuxの誕生;https://eng-entrance.com/linux_birth
Linuxディストリビューションhttps://eng-entrance.com/linux_beginner_distribution

・OSのシェア(デスクトップOS)
http://news.mynavi.jp/news/2017/07/03/131/