« 卒業 | トップページ | Hacking Ruby by Fridge »

カーネル

oprofileを使った時にvmlinuxがないと指摘を受けたのでインストールをしてみた.(/boot/にはvmlinuzしかなかった)
僕が使っているsuse9.3のYASTからはコンパイル済みのイメージが見付からなかったので, ソースをダウンロードしてコンパイルする.

# cd /usr/src/linux-XXX
# make

何も考えずにmake.なんとなくカーネルイメージが完成したのでそれをopcontrolで指定してプロファイルを取る.

samples  %        image name               app name                 symbol name
8507     58.5277  processor                processor                (no symbols)
1404      9.6594  fridge                   fridge                   cvectorFind
487       3.3505  fridge                   fridge                   fgSysCast
476       3.2749  fridge                   fridge                   fgSysCastObjInt
423       2.9102  fridge                   fridge                   fgSysObjAssMeth
372       2.5593  fridge                   fridge                   fgSysObjLesMeth
332       2.2841  fridge                   fridge                   fgMethDef

昔うちの大学に講師に来てた人が「LinuxはプログラマのためのOSだ」と言っていたが, 今でこそその言葉が実感できる.

話変わって.
個人的に,どんなにプログラミング言語が進化してもC言語だけはなくならないと思う(例えC++がなくなっても). Javaがどんなに進化しようがCPUに直接入力できるネイティブコードを吐き出すわけではないので,C言語に取って代わるものではない.
僕の本来の専門分野では現代のハードウェアスペックを持ってしても膨大な計算量がかかってしまう場合が多く, その分野においてはC言語(もしくはアセンブラ)という選択肢以外ありえない(C++ですらありえない).

でもC言語では生産性という面に関しては(他の言語と比べると)あまりよくなくて, しかもセキュリティ的な観点から見ればまったくよくないものができてしまうことも多々ある.

だから例えば,Javaで言うところのGroovyのような言語がC言語にもあればと最近よく思う(もちろんオブジェクト指向である必要はまったくない).
C言語の実効速度(もちろんインラインアセンブラも使えて)で生産性の高い言語ができれば, 世の中けっこういいことが起こるんじゃないだろうか.

というわけでコレはそのうち実装するかもしれない.

« 卒業 | トップページ | Hacking Ruby by Fridge »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/163977/3727946

この記事へのトラックバック一覧です: カーネル:

« 卒業 | トップページ | Hacking Ruby by Fridge »