さて、、、テスト勉強は何をしようかと考える。。。
とりあえず、前半戦のもののだけ集中してやって、後半戦は週末に回そう。
しかし、来週の方がきついような気がするな・・・特に、最終日が一番きついのかな。
そこだけでも、早めに準備をしておくか。
結局、昼間のうちは論理と形式化をやりながら寝て過ごした。
勉強して、寝て、というのを繰り返して、何とも怠惰な生活を
していたわけだけど、ある程度疲れは取れたかもしれない。
夜になって、データ構造とアルゴリズムの課題をやり始める。
gettimeofdayでマイクロ秒の値が取れるのだけど、これがどうなってるのか
気になって、Linuxのカーネルのソースコードを読んでいた。
どうも、内部的にはナノ秒で値を取ってきているみたいだけど、
途中で丸めちゃってマイクロ秒になっているみたい。
Linuxの内部には、xtime変数という時間を管理している変数があって、
この変数自体はタイマーの割り込みで4msごとに更新されている。
そうなると、gettimeofdayのマイクロ秒はどこから出てくるのか、という
話になるんだけど、関数の内部でxtime変数が更新されたときとの差分を
計測して、マイクロ秒の値を算出しているみたい。
この内容は、Linuxのカーネル解説本にも書いてあるのだけど、
本を読んでいるだけでは、結局どういう事なのか、ということが
いまいちわからなかった。
あと、検索していたら同じようなことをしている人を発見。
gettimeofdayがマイクロ秒オーダー精度がある理由(未完) - NoiseFactory
http://www.argv.org/~chome/blog/noisefactory/2008/02/gettimeofday.html
しっかりと考察されていて非常に面白い。
テスト前だというのにカーネルのソースコードを読んで、
いったい何をしているんだろうね。。。
まぁ、あんまり後悔してないけど。
ReaDの研究者情報を見ていたら、面白い先生がいた。
S大の工学部を卒業して、N大の文学部を卒業した後、外国で博士を取って、
現在、A大の文学部にいる先生。
もしかしたら、知り合いとかに聞くと知っている人がいるかもしれない。
思いっきり理系の分野を学んだ後に文学部に行って、
さらに外国で博士か・・・。すごなぁ。。。
しかし、出身地がかなり近い気がするな。。。
さて、もう少し勉強して2時半頃には寝ますかね。