日記的「駄目」プログラミング Yet Another Hacking Life

Archive for the ‘Linux’ Category

ext3からext4 no journaling modeへの変換

09.07.2011 · Posted in Linux, PandaBoard, 日記

PandaBoardの公式ページで紹介されているUbuntu 11.04は「ARM/OMAP – Ubuntu Wiki」からダウンロードできる。自分は11.04のHeadless Image(モニタやキーボードを使わない前提でX.orgなどが起動しないバージョン)を使っている。 で、このイメージでインストールされるUbuntuのファイルシステムはext3である。世の中的にはフラッシュメモリ用のファイルシステムならext4がいいんじゃね?って話なので変換してみる。また、ext4でも&...

MatchaのGUIはGTK+

06.21.2010 · Posted in Linux, Matcha, プログラミング

移動ロボットのプログラムをしていると動作中のセンサデータをモニタしたいというシチュエーションは多い。で、GUI。 Matchaはフレームワークなのでアプリケーションのモデルを縛ることになる。一方で低レベルの部分でIPCの実装を提供する。やろうと思えばMatchaアプリケーションのモデルを離れて自前でイベントループを回すことができる(ようになる予定)。 ここでGUIにからんで二つの選択肢がある。ひとつはMatchaフレームワークでGUIを提供する方法。もうひとつは既存のGUIフレームワークからMa...

Linuxでファイルをepoll?その2

06.21.2010 · Posted in Linux, Matcha, プログラミング

epollって時点でLinux限定だよな。 ってのはともかく方法が分かりました。inotifyを使用すればファイルへの変更などのファイルシステム上のイベントをselect系で監視することができます。当然read()でもできます。Linuxにどっぷりですが、どのOSでもファイルの監視くらいはできるだろうから採用してもいいでしょう。 inotifyはかなり便利でディレクトリを監視すればディレクトリ以下で起きるファイルの生成など多くのイベントを監視することができます。ちょろりと活用方法を企み中です。 ...

Linuxでファイルをepoll()?

06.19.2010 · Posted in Linux, Matcha, プログラミング

そろそろMatchaのIPC実装の目処をつけようかと、実験コードを書き始める。 Matchaの基本コンセプトとしてユーザスペースでのポーリングを極力抑えるというものがある。で、デバイス関係はデスクリプタをまとめてepoll()で待つという実装をしている。 IPCにはメッセージパッシングやブリテンボードなどいくつかのモデルがあるが、ブリテンボードについてはRAMディスク上のファイルで実装しようかと思ってた。epoll()のトリガでflock()でRCUなら楽勝だろうと。 で、実験コードを書いたが動...