2010-01-01から1ヶ月間の記事一覧

double freeバグのデバッグ.

昨日久々に,double freeのバグに当たったので,それのデバッグ方法をメモ書き.こんな感じで,2重にfreeするバグを持ったプログラムがあったとして, サンプルなので,原因は簡単に分かりますけど・・・ [masami@moonlight:~]% cat double_free.c #include <stdio.h> </stdio.h>…

forkしてpipe読み書きにかかる時間.

こんなコードを書いて,Linux,Minixでかかる時間をtimeコマンドで見てみました. #include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <sys/types.h> #include <sys/wait.h> int main(int argc, char **argv) { pid_t pid; int max; int i; int pfd[2]; char buf[16]; if (argc != 1) max = atoi</sys/wait.h></sys/types.h></stdio.h></stdlib.h></unistd.h>…

KVM環境でMinixのビルド時間を計測

n7shiさんの日記(カーネルビルド時間)を参考に, KVM環境だとどうかなーと思い,時間を計ってみました.使ったPCの環境はこんな感じです. CPUは「Intel(R) Core(TM)2 Duo CPU T9600 @ 2.80GHz」で, カーネルは「Linux moonlight 2.6.33-rc5-tip+ #1 SMP PR…

オレオレカーネルで使うメモリ管理の仕組みを作って見ました.

といっても,まずは作成とテストがしやすいように,Linux上の普通のアプリとして実装してます. 大体動いているので,次はこれを,オレオレカーネルに移植します. 一応,ページ単位のメモリ管理は作ってあるので,移植時の変更点はinit_kmalloc_area()でmal…

PCIメモ2

2010/02/10追記:下の日記が,ちゃんと動く版です〜 http://d.hatena.ne.jp/masami256/20100208/1265644385昨日のソースにデバイスがマルチファンクションの場合の処理を追加してみました.というか,マルチファンクションかどうかチェックしてないですけど…

PCIのメモ.

2010/02/10追記:下の日記が,ちゃんと動く版です〜 http://d.hatena.ne.jp/masami256/20100208/1265644385最近だらだらと自作カーネルを書いているんですが, PCIについて,OSDevとかこちらを読んで,現状分かったことを忘れないうちにメモっときます.PCI…

久々にPythonでプログラム書いたのでメモ.

仕事でテストデータ作るのが面倒だったのでw ツールを作成してみました. 何がしたいかというと,.mp3ファイルがたくさん欲しかったので,IDv3タグを変更してIdv3タグ的に別のアーティスト・アルバムにしたかったのです.IDv3タグをいじれるライブラリを探し…