タグ

ブックマーク / blog.miraclelinux.com (6)

  • ユメのチカラ: ソースコードの読み方

    ソフトウェア工学の標準的なカリキュラムにソースコードの読み方というのがあるのかないのか知らないが、プログラマとして最も重要な資質の一つにコードの読解力というのがある。 ついでに言えば、大学や専門学校であまり教えられているとはいえないけど、実践では常に必要とされているものとして、テストの方法論、デバッグの方法論、性能向上の方法論、メモリなど各種資源の削減方法論などなどがある。国際化、移植性なども重要な単元であるがソフトウェア工学の中で教授されていると言う話はあまり聞かない。コードのハック一般についてどこかで議論されているのだろうか。経団連あたりで議論しているのだろうか? 閑話休題。 ソースコードの読み方ということで、最近では「コード・リーディング」というそのものずばりの教科書も出ているので状況は好転しつつある。コードの読み方はオープンソースの時代になり、間違いなく広く情報を共有できるようにな

  • ユメのチカラ: 取締役退任。生涯一プログラマ宣言。

    6月30日臨時株主総会において、ミラクル・リナックス株式会社の新取締役として、児玉崇、伊東達雄を選任し、それに続く、取締役会議により、新しい代表取締役として児玉崇を選任した。佐藤武前代表取締役社長は、取締役会長へ、わたしは取締役を退任した。 ここにご報告する。 さて、ここからが題(?)である。取締役を退任したからといってミラクル・リナックスを辞めるわけではない。今後は経営者という責任ある立場を退き一技術者としてミラクル・リナックスに貢献していく。 2000年6月にミラクル・リナックスを創業以来8年にわたって取締役CTOとしてミラクル・リナックスとともに歩んできたが、取締役というよりも、技術屋としてミラクル・リナックスのV1.0の開発、OSDL (Open Source Development Lab -- The Linux FOundationの前身)への参画、そしてAsianuxプロ

  • ユメのチカラ: プロセスプログラミングの実践方法

    学ぶ方法を学ぶことは重要だ。知識は陳腐化する。しかし、学ぶ方法というのは、道具立てが変わってもかなり安定的で変化は少ない。 インターネットのおかげで確かに知識の取得方法は劇的に変化した。量的な変化が質的な変化に転換した。なんでもかんでもインターネットで検索してからことをはじめるという感じになってしまった。あんまりじっくり考える機会がなくなったような気がしないでもない。 かつてプロセスプログラミングと言う概念が流行った。最近ではあんまり言わないがソフトウェア開発の究極の姿だと言われた。ソフトウェアは人が作るのだが(当たり前だけど)、そのプロセスを厳密に記述していければ、つまりコンピュータが理解可能なくらい精密に記述できれば、ソフトウェア作製も自動化できるのではないかというアイデアである。随分荒唐無稽なことを言うとあなたは思うかもしれないがあながち夢物語ではない。 例えば、ソフトウェア開発では

    pipo
    pipo 2006/12/01
  • 路地裏 ソース解読研究所: Number -17

    17番といっても、Redsの赤丸急上昇中 長谷部選手のことではありません。 最近のkernelでは、17という数字に関係した機能が1つあるというお話です。 みなさんは、syslogメッセージで次のようなメッセージを見たことはありますか? messages:Apr 20 10:50:26 localhost kernel: oom-killer: gfp_mask=0xd0 これは、oom-killer、つまりOut Of Memoryが発生したことを知らせるカーネルのメッセージです。Out Of Memoryとは、カーネル内でのメモリのやりくりがどうにもつかなくてメモリが足りない状況に陥ったことを表します。このような場合、カーネルは仕方ないので、プロセスをkillしてメモリを確保しようとします。そのためoom-killerと呼ばれています。 このとき、カーネルがどのプロセスをkillするか

    pipo
    pipo 2006/12/01
  • 路地裏 ソース解読研究所: ダンプ内のSPINLOCK

    あるカーネルダンプのスタックが次のようになっているとします。 ----- #2 [f7fedde0] call_usermodehelper at c0130dc4     [RA: c01c0a37  SP: f7fedde4  FP: f7fede7c  SIZE: 156]     f7fedde4: f66a3d80  c011e39b  00000001  f7b8bc6c     f7feddf4: f7ed4010  c0130cb6  f7fede2c  f7ed4000     f7fede04: 00000000  00000000  00000000  00000001     f7fede14: dead4ead  4b87ad6e  00000000  00000000     f7fede24: 00000000  f7fff080  f7fede4c  c03

    pipo
    pipo 2006/12/01
  • 路地裏 ソース解読研究所: 時間は無限?

    マシンを立ち上げるとLinuxカーネルが立ち上がります。そして、マシンを停止するまでカーネルが動きつづけるわけです。この間、カーネルは刻々と時を刻んでいきます。 そこでカーネルでの時間の管理に使われるのが、jiffiesという変数です。 kernel-2.4では、kernel/timer.cで次のように定義されています。 ---- unsigned long volatile jiffies __cacheline_aligned; ---- unsigned longなので、32bit環境では、0〜0xffffffffの範囲を表すことができます。 このjiffiesは、timer割り込みと呼ばれる処理の際に1ずつ増加していきます。timer割り込みの頻度は、"HZ"として定数で定義されています。 linux-2.4.21/include/asm-i386/param.h ---- #if

    pipo
    pipo 2006/12/01
  • 1