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![]()
