ペタしてね Linuxカーネルの場所もわかったところで、お次は、

Linuxカーネルの役割についてプログラムとプロセス

という概念で勉強していこうと思います。


Linuxカーネルの役割として、「プロセス管理」という

ものがあるそうです。Windows同様、Linuxでも多数

のアプリケーション・プログラムを動かすことが可能

ですが、このようなプログラムはすべて、カーネルの

コントロール下で「プロセス」という単位で動作してる

ようです。プロセスの概念はプログラムそのものでは

なく、プログラムの実行状態であることを示します。


各プロセスには起動時に「プロセスID」と呼ばれる

ユニーク(※1)な番号が割り振られて、これを基に

管理されるんだそうです。


そうすることで、同じプログラムを同時に稼動させても

そのそれぞれを区別して管理できるようです。


どのプログラムが起動しているかというのは、【ps】

コマンドで確認できるみたいですょ。この【ps】コマンド

はWindowsでいうところのタスク・マネージャに相当

するようなものだそうです。


またLinuxでは、プロセス毎に「仮想メモリー空間」を

割り当ててメモリーの干渉を防止しているようです。

こうすることで他のプロセスのメモリーを書き換えたり

できないようになっているようですね。






上記で説明した、プロセス管理やメモリー管理、また

『#011 Linuxのファイルシステム』 で説明したファイル

システムというのは、Linuxカーネルとしての機能であり、

それとは別にFedora8等Linuxディストリビューションには、

アプリケーション・ソフトウェアを管理する仕組みがあるみたい。


Windowsの場合、新しいソフトウェアをインストールする

には「.exe」という拡張子のインストール・プログラムを

ポチッとすれば、ウィザードが表示され、インストールが

開始されるかと思いますが、Linuxディストリビューション

では、プログラムを「パッケージ」という単位で管理してる

為、ほとんどのソフトウェアにこのようなインストーラは

付属していないらしいのです。


「パッケージ」というのは、プログラムやドキュメント、

ライブラリなどを1つのファイルにまとめたものを指す

そうです。


1つのファイルにまとまってるんだったら、Windowsの

インストーラと何が違うのょ?と思ったのはRinaだけ

でしょうか(・・;) まだよく分かってません。。。


また、そのパッケージに関する詳細情報も記録している

そうで、こういったパッケージを管理する仕組みを

「パッケージ管理システム」というそうです。


・・・そのままのネーミングですね( ̄∀ ̄)


ちなみに、ソフトウェアをインストールするときには、

「パッケージ管理コマンド」を利用してインストールする

みたいです。・・・が、そのコマンドが現時点ではまだ

表記されていないので分かりません。


Linuxでは「このパッケージを動かすには、あのパッケージ

が必要」という依存関係があるそうです。そして、この条件

に合致しないとソフトウェアが正常に動作しないそうです。


多分、Windowsとの違いって↑ココ↑なんだな、と勝手に

納得しました。。。


インストール時は、パッケージに記録された情報に基づき、

既にインストール済みのパッケージ情報と照合し、もし

問題があればインストールを注意し、別のパッケージの

インストールを促したりしてくれるそうです。アンインストール

時もパッケージ情報を確認し、起こるかもしれない問題が

あれば警告を発して、削除を中止してくれるそうです。


実際のパッケージ管理システムについては、また明日ニコニコ




▽▲▽▲▽▲▽▲▽▲

※1 ユニークな番号

パソコンを触りだした若かりし頃のRinaは、「面白い」を

意味する「君はユニークだなぁ(-^□^-)ハハハ」みたいな

イメージを持っていましたが、そうではありません。

過去の私は「面白い番号ってなんだろう?」と真剣に考え

たりしましたが、実際には「唯一の」とか「一意の」という

意味です。




Bye, Bye音譜