POSIXに関して本当にざっくり、ざっくり理解した(つもり)のでメモ

POSIXとは

POSIXは、Portable Operating System Interfaceの略で、UNIX(OSの一種)に関する標準的なインターフェースを定めた規格のこと。

UNIXに関する標準的な規格とは…

UNIXは様々なところで改良や拡張が行われたため、UNIX系OSと呼ばれるOSが複数存在する。

そのため、あるUNIX系OSでは動いていたアプリケーションが別のUNIX系OSでは動かないというような問題が起こらないように、あるいはUNIX系OSで動くように開発されたアプリケーションであれば、どのUNIX系OSでも利用できるように「UNIX系OSにおける、アプリケーションがOSのシステムを利用するときの決まりごと」を定めたものがPOSIX

と、自分はざっくり理解しました。間違い、補足などあればぜひ教えていただきたいです。

Chapter02 シェルって何だろう?

この章ではシェルの役割や、種類、ターミナルについて学びました。これまで自分はターミナル=シェルという認識を持っていましたが、それは間違った理解であるということが学べてよかったです。備忘録として簡単にまとめたいと思います。

ターミナルとシェル

ターミナル:ユーザーがコンピュータへ入力する際に利用する「ハードウェア」のこと。入力装置にはキーボードが、出力装置としては主にディスプレイが使われる。 しかし、現在では物理的なターミナルが使われることはほとんどなく、代わりにターミナルをソフトウェアとして実装したターミナルエミュレータが利用されている。
※エミュレート(emulate)…真似る、模倣する

シェル:カーネル(OSの中核部分)のインターフェースとなっている「ソフトウェア」のこと。カーネルは直接人間が操作できるようにはなっていないため、人間とカーネルの橋渡しを担うソフトウェアが必要になってくる。その役割をになってくれているのがシェル。

例えばプレステでゲームをするとして、ターミナルに該当するのがコントローラー(入力装置)や画面を表示してくれるディスプレイ(出力装置)、プレイするゲームソフトがユーザーからの入力を受け付けたり、処理結果をディスプレイに出力するという意味でシェル、プレステ本体のCPUがカーネルに該当するでしょうか。ざっくりそんな理解でいます。

「Linuxの新しい教科書」でLinuxの基礎を学ぶ。Chapter01 Linuxを使ってみよう

Web開発をしていると多くの場面でLinuxコマンドを使う場面に遭遇します。開発を通して頻繁に使用するコマンドなどは覚えてきましたが、開発者用のドキュメントなどを読んでいるとまだまだ未知のコマンドに出くわすことも多いです。そこで、一度Linuxの基礎を学ぶために「新しいLinuxの教科書」という書籍を購入。アウトプットも兼ねてこのブログに学んだことを記録していきたいと思います。 まずは第1章からです。

Linuxとは何か?

macOSWindowsのようなOSの一種。オープンソースで誰でも無償で利用でき、高品質のソフトウェアが多数利用できるため、サーバのOS環境によく利用されている。

Linuxディストリビューションとは?

狭義に「Linux」とは本来Linuxカーネル(OSの中核になるソフトウェア)のみを指す言葉。それに対してLinuxディストリビューションとは、ユーザーが使いやすいようにLinuxカーネルに加えてコマンドやアプリケーションを含めパッケージングしたもの。一般に「Linux」と言えばこちらを指すことがほとんど。
Linuxディストリビューションには多くの種類があるが、Cent OSなどがあるRed Hat系と、UbuntuなどがあるDebian系が現在の主流。

章のまとめ、感想等

Linuxの特徴やメリットからなぜLinuxがサーバのOS環境でよく用いられているのかを学ぶことができました。また、Linuxディストリビューションなどの用語もあいまいな理解でいましたが、それがどういうものを指すのか理解できてよかったです。引き続き学習を継続していきたいと思います。