BETA

【Linuxを0から学ぶ】Linux標準教科書でサーバー構築に強くなる

投稿日:2018-11-06
最終更新:2018-11-06
※この記事は外部サイト(https://mittsu-blog.com/learn-linux-on-0ba...)からのクロス投稿です

Linux標準教科書に従って、Linux を0から学んでいきます!

今回は第1章と第2章を読んだ感想と実務で役に立ちそうだと思ったことをまとめました。

それでは早速、Linux とはなんなのか学習を始めていきましょう。

ソフトウェアの構成について

ここがまずはじめに感動した部分です。
コンピュータがハードウェアとソフトウェアに大きく分けられることはわかっていても、
ソフトウェアが何で分けられるのか明確に頭の中で意識できているひとは少ないのではないかと思います。

ソフトウェアにも大きく分けて2種類あります。 基本ソフトウェアと応用ソフトウェアてす。 基本ソフトウェアは Operating System(OS) のことを指し、応用ソフトウェアはその上て動くアフリケーションを指します。たとえは Windows や Linux、Mac OS X は基本ソフトウェア、Word や Excel、PowerPoint は応用ソフトウェアになります

つまり、Linux のような OS と、Photoshop とか RubyMine のような 他のソフトウェアとは明確に違うということであり、Linux をひとことでいうと

Linux とは:コンピュータ上で動作する基本ソフトウェア

ということがいえそうです。

どこが違うのか

では具体的にどのような点が違うのでしょうか?次の箇所を見てみましょう。

基本ソフトウェアは応用ソフトウェアか動作する際に必要な「部品」を提供したり、ハートウェアという「資源」を管理するという役割かあります。

部品とは何か

「部品」というのは次のようなものです。

例えば Photoshop を使うときには当然 Photoshop の「ウィンドウ」が開きます。あるいは「メニュー」や「保存確認のメッセージ」など様々なものが使われています。これらはいずれも Photoshop 以外でも使われるものです。

つまり、OS は不特定多数のアプリケーションで使われるものをあらかじめ用意しておくこともその役割なのです。

資源とは何か

「資源」というのは次のようなものです。

例えば Photoshop を使うときにはメモリを消費します。それと同時に、Finder で写真を探したり、Chrome でインターネット上から素材を探すこともあるかもしれません。

これら全ての作業に、メモリが消費され、CPUが演算を繰り返しています。

これら計算資源を OS( である Linux )が管理してくれているおかげで、私たちは瞬時に使うアプリケーションを切り替えて作業に没頭することができています。

Linux の動作原理

ソフトウェアは基本と応用に分けられましたが、さらいん基本ソフトウェアもまた二つに分けられます。カーネルとユーザランドです。

カーネル

カーネルとは、ハードウェアと直接やりとりをする部分のことです。Mac だけではなく、この世の中には多種多様なパソコン・コンピュータがあります。それらハードウェアの違いを吸収(利用者が気にしなくても大丈夫なように)してくれているのがカーネルです。

ユーザランド

ユーザランドとは、OS でカーネル以外の部分のことを指します。なんだか大雑把な定義ですが、その具体的な中身としては、コマンドを理解して処理してくれるシェルがあります。

パッケージ

Linux に追加で機能を提供するライブラリをパッケージと呼び、それを管理するプログラムをパッケージマネージャーと呼びます。

従来は、応用ソフトウェアを Linux 上で動作させるためにとても大変だったようですが、現在はこのパッケージやそのマネージャという概念・ツールが揃っているためにとても簡単になっています。

というのは、あるソフトウェアをインストールするにもそのソフトが依存するライブラリやプログラムを一緒にインストールしておかなければならなかったり、開発が盛んなプログラムは都度更新していかなければなりませんが、そのためには一旦古いものを削除しなければならなかったりとややこしいいことが多かったのです。

パッケージマネージャーはそれら依存関係を自動的に解決してくれたり、古いプログラムの削除や新しいプログラムのインストールも担当してくれるようになっています。

CentOS では yum, Ubuntu では apt というパッケージマネージャーを使うようです。

まとめ

  • Linux はコンピュータ上で動作する基本ソフトウェア( OS )である。
  • Linux には他のアプリケーションに広く使われるだろう機能を事前に準備してある。
  • Linux はメモリやCPUなど計算資源を管理してくれるので、複数のアプリを同時に動かすことができる。
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@edihasamの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!