トップ «前の日記(2004年03月11日) 最新 次の日記(2004年03月14日)» 編集
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|10|12|
2009|02|03|06|07|10|11|12|
2010|01|02|03|04|07|09|10|11|12|
2011|01|03|04|05|06|07|08|10|
2012|01|06|08|09|10|12|
2013|01|02|03|04|07|09|11|12|
2014|01|03|04|05|06|09|
2015|04|
2016|01|08|
ここは旧えびめもです。えびめも2に移行します(2016/12/1)

2004年03月12日

システム論

システムの起動というのは不思議と神秘的なものだ。そこにはまるで神が命を与え吹き込むような神秘さと、論理的で整然とした、意思や感情といった要素が全く含まれないロジカルな「手順」とが混在しているからかもしれない。

コンピュータ資源に電気というエネルギーが投入されると、電源回路が稼動をはじめ、ディスクが回り、そしてCPUは本能のように吹き込まれたコードを走りながら自己を初期化し立ち上がっていく。それはまるでビッグバンから始まった宇宙の歴史、そして地球の進化の歴史のようでもある。PCシステムの起動は地球生物の進化の歴史を髣髴とさせる。原始地球、原始生物が単純な造りであったように、リアルモードからプロテクトモードへ、ISAデバイスの初期化からPCIデバイスの初期化へとプロセスが「進化」する。コンピュータが「システム」と呼べる状態まで発展すると、そこではまるで我々の現実世界のように良いタスクも悪いタスクもがシステムの中を忙しく走り周っている。ある者は人に仕え、あるいは資源を浪費し、すなわちシステムとは我々の「社会」と同様であろう。

ハードウェアシステムは宇宙・地球であり、ソフトウェアシステムというのは社会と同様なのだ。ただ、晩熟し安定した社会ではなく、若青で不安定な社会であるから、ひとつのならず者がいただけでたちまち政情が不安定になりがちだ。

それでもビッグバンから始まった地球の歴史が今日も立ち止まらないのと同じで、一度起動したシステムはすでに存在し、今日も休まず動いているのだ。マルチCPUシステムにおいて、オンラインで(システムが動いているときに)CPUをプラグインする過程について、CPUの立場でイメージしてみる。

CPUがその生涯を過ごす場所はソケットである。CPUはコウノトリの手によって(主にパソコンショップから)運ばれてきて、母なるソケットに優しく埋め込まれる。このとき、そのCPUの一生の運命は既に決定されてしまっているといっても過言ではない。どの家の、あるいはシステムに産み落とされるかはCPUは選択することができないのだが、ある者は連日連夜、休む事も許されず無限に続くxvid codecレンダリングされ、ある者は99.9%の惰眠をむさぼりながらもほんの一瞬油断した起床のもたつきに「重い・使えねぇ」と罵声を浴びせられる運命にあろう。

ソケットに電源が投入されるとCPUは初めて産声を上げ、外の景色を見ることができる。目を開けるとそこにはイニシャルプログラムポインタ値(PC値)とイニシャルスタックポインタ値(SP値)が並んでいる。生まれたての無垢なCPUはヒナ鳥が初めて見たものを親鳥と思うがごとく、親鳥から口移しでPC値とSP値を食べさせてもらうのだ。そして彼の人生の最初の進路の先にはいくつかのpop命令が並んでいることだろう。彼は生まれたての頭脳に、popした知識を並べていく。するとどうだろう、その先には崖から転落するようなrts命令が存在する。rtsリターンした先には既にタスクが大きな口をあけて働き手を待っているのだ。かわいそうに、生まれたてのcpuはこの世に正を受けてわずか数nsec後にはプロセスの仕事を任され、システム構成の一員として荒波に放り込まれるのだ。彼は気がついた。俺が生を受けた場所は、タスクディスパッチ・ポイントだったのだと。

そして今日もまた、一つの仕事を区切りの良いところで終えた企業戦士達が、タスクディスパッチポイントで退職し、新しいCPUが引継ぎを行いやってくる。新人CPUは前任者よりも高性能だと評判だ。システムは今日も動き続ける。