2005年05月23日(Mon) [長年日記]
● 制御用PCのソフトをつらつら妄想中
PCにいくつかハードウェアへのインターフェースが載っていて、それを動かすdaemonがLinux上でいくつか動いている。daemonはどうにかして指示をうけとり、モノを動かしたり状態を読んだりする。
その上にはバーチャルマシンが要て、コマンドを受け取ってdaemonに渡したり、実行結果を返したり、現在の状態を保持していたりする。
その上にはホストとの通信機構やローカルからコマンドをうけとるインターフェースや、ログを書き出すプロセスやらが居る。
たぶん、これくらいのレイヤに分けてソフトを作っていくのだけれど、それぞれの間のやりとりはどうしようかな。daemonとハードウェアはもちろんPCIバスやその上のシリアル通信路を使うしかないのだけれど、それ以上はいろいろ考えられる。
daemonとバーチャルマシンの間は…daemonじゃなくてドライバか。open(2)とかclose(2)とかfcntl(2)とかを定義しておくのか。
バーチャルマシンといろいろなインターフェースの間は、んんと。状態は共有メモリに出しておいて自由に利用させるのがいいかな。/procみたいな感じに参照する。共有メモリのfdってselect(2)できるのかな?ステータスが変化した時だけ確認したいプロセスもあるはず。
コマンドは送るだけならFIFOに書けばいいのだろうけれど、返り値が必要な場合(ほとんどだ)はどうするのがいいのだろう。メッセージキューも一方通行だよね。RPC使うのは大仰すぎるだろう。バーチャルマシンから自プロセス専用のFIFOを開けてもらう?
だんだん真面目に考えよう。わくわく。
● [memo][tDiary] 言語と地域
しばらく前にある方からお天気プラグインを英語で摂氏表示に設定できるようにできないか、というご意見をいただきました。彼の住んでいるところでは英語を使うけれど温度は華氏じゃなくて摂氏で表示するのが普通だということで、実にもっともな意見。これまで気づかなかった。
厳密に言うと、言語の設定はen_USとかen_GBとか地域も指定したいところだよね。ただ、tDiaryに関しては、本体では地域で違いがあるのは日付の表示くらいだろうし、日付の表示はそもそも別に設定できるようになっている*1。お天気プラグインで風速や風向まで表示するとなると設定項目が増えて大変なのだけれど、本体で将来にもあまり地域の設定の必要がないとすれば、お天気プラグインだけでローカルに対応した方がいいだろう。
そのうちMLに書こうと思ってるのだけど忘れそうなのでここに書いておく。
*1 これはきっと日本語では日付の表示形式がいろいろあることも関係してるよね。ドイツ語なんて「日.月.年」以外見たことなかった。
最近のツッコまれどころ