スーパーエンジニアの独り言 > 第61回 カネゴンの繭
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
CTC教育サービスはコラム「スーパーエンジニアの独り言 > 第61回 カネゴンの繭 」を公開しました。
特撮の神様」円谷英二が率いる円谷プロ製作の空想特撮シリーズ「ウルトラQ」"Ultra Q" 第十五話「カネゴンの繭」"Cocoon of Kanegon" の放映をご覧になった事がありますでしょうか?
もし番組を観た事がない方でも「カネゴン」というチャックの歯付いた蝦蟇口(がまぐち)が頭になった奇妙な造形の怪獣はどこかでご覧になった事があるかと思います。
実はこの怪獣元々は少年なのですが、まるで「カフカ」(Franz Kafka) の「変身」"Die Verwandlung" や「安部公房」(Kōbō Abe) の「赤い繭」"The Red Cocoon" に肖る(あやかる)ように「カネゴン」になってしまったのです。何故このような容姿に変身したのか? の理由ですが、それはお金を貯める事に夢中な「加根田金男」(かねだかねお)少年が振るとコインの音が鳴る「繭」を拾うところから物語が始まります。「人の落としたお金を黙って拾ってはいけません」という親の忠告を聴かずにお金の音がする繭に執着していると部屋の中で巨大化したその繭の中に吸い込まれてしまいます。翌朝、目覚めると金男はご存知「カネゴン」になってしまったのです(拙作コラム「第26回 赤い繭」、「第38回 はらぺこあおむし」も併せてご覧ください)。
今回のお話は落としたコインを見つけては貪る(むさぼる)「カネゴン」の如く、不要なメモリ領域を見つけては回収する「ガベージコレクション」"Garbage Collection, GC" について散策したいと思います。
『オペレーティングシステムのプロセス』:
「 Ruby のメモリ管理はどうなっているのですか?」という質問を受けることが稀にあります。
この質問に対する一つ目の回答として思いつくのは、Ruby インタプリタはオペレーティングシステム "Operating System, OS" から見ると単に一つのプロセスに過ぎないのですから該当のオペレーティングシステムが行っている「プロセス管理」"Process Management" に従うことになりましょう、というのが妥当なご回答になると考えています。
お使いのオペレーティングシステムが人間との仲介してくれる事により目視で確認できる四角い機械である物理機器(現実世界)をイメージとして丸くて触りやすい論理構造(仮想空間)に対応付けてくれるのです。この作用によって箱の中に綺麗に納まったシリコンや金属とプラスチックの固まりが凝縮した配線で繋がったハードウェアで複数のプログラムを任意に実行できる環境を我々に提供してくれています。
オペレーティングシステムを詳しく知るというのは、つまり機械の箱をどのように制御しているのかという「仕組み」を理解することで非常に大切な事になります。
オペレーティングシステムへの知見を得るためには、プロセッサとメモリ、ストレージ、ネットワークインターフェースと無数のハードウェアを緊密に連動して動作を可能とするための制御を行うのが役割で且つ存在理由であるために、その複雑怪奇なロジックの闇間へと潜って深遠に達すると「ディラックの海」"Dirac Sea" という真空状態でマイナスエネルギーの電子に満ちた虚無空間にあると噂されるコアに触れることで総体として合意形成された真意を見極めるというのは難題であろうことは想像に難くないのです。ですが少しでも造詣を深めようと「場の量子論」"Quantum Field Theory" を唱えて倫理的に解明しようと励む行為は極めて尊いと言えましょう。
この続きは以下をご覧ください
http://www.school.ctc-g.co.jp/columns/super/super61.html
ソーシャルもやってます!