天泣記

2008-09-07 (Sun)

#1

文字とグリフの違いが気になって、

ISO/IEC TR 15285:1998 Information technology -- An operational model for characters and glyphs <URL:http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html>

というのを読んでみた

まぁ、テキストファイルにはいってるのが文字で、フォントに入ってるのがグリフなわけね

#2

ところで、このページにはこれだけじゃなくていろいろある

いくつか気がついたこと

2008-09-12 (Fri)

#1

/proc/nnn/statm を読むとき、該当プロセスが死んでいると何が起きるか。

プロセスがなければ当然 No such file or directory であるが、タイミングによっては No such process になることもあるようだ。

% ruby -e 'p $$; sleep 10'
13585

としておいて、(10 秒以内に) 他の端末から

% cd /proc/13585
% while :       
do
cat statm
done

とする。そうすると、

...
1834 679 415 355 0 456 0
1834 679 415 355 0 456 0
1834 679 415 355 0 456 0
cat: statm: No such process
cat: statm: No such file or directory
cat: statm: No such file or directory
cat: statm: No such file or directory
...

というように、No such file or directory に変化する前に No such process が起こる。

zombie かな、と思って、zombie 期間を長くとれるよう

% ruby -e 'pid = spawn("sleep 10; echo exit")
p pid
sleep 11
Process.wait pid
'

とし、cat じゃなくて、open と read を直接呼んでどっちがエラーか調べられるプログラムを作ってやってみると、

...
1384 365 251 161 0 174 0
1384 365 251 161 0 174 0
1384 365 251 161 0 174 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
...
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
read: No such process
open: No such file or directory
open: No such file or directory
open: No such file or directory

zombie でもないようだ。zombie 期間は 0 の並びが返ってきて、wait されるタイミングの read が No such process になっている。

open したときはまだプロセスが (zombie ではあっても) 存在して、read したときにはもうない、というのが原因か。

2008-09-21 (Sun)

#1

思い立って、x86 のアセンブラっぽいものを書いてみる。

書きはじめてすぐにわかったのは、DSL の必要性である。命令がたくさんあって、それぞれにアドレッシングモードがあったりなかったり、というのを個々に書いていくと、重複が多くなりすぎてやってられない。

重複を削っていくと、結局、インストラクションセットリファレンスの記述 (00/r とか書いてある行) をだいたいそのまま書けば、アセンブラが生成される、というのもに落ち着いた。(16/32bit はさらに削れるので削ったが)

つまり、リファレンスの記述は DSL なわけだ。というのは考えてみれば当り前といえば当り前か。

できたものはこんなかんじ。

% ruby -Ilib -rdyasm -e '
p DyAsm.run(<<"End")
eax = 100
eax += 2
ret
End
'
102

あんまりアセンブラっぽくない。

2008-09-29 (Mon)

#1

IPA から「情報セキュリティ技術動向調査(2008 年上期)」が公開された。

<URL:http://www.ipa.go.jp/security/fy20/reports/tech1-tg/index1.html>

委員だったりするのだが、言語関係の話として Cコンパイラの最適化の話と、Debian の openssl の話を書いた。


[latest]


田中哲