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

topのソースコードリーディング

プロセス毎の統計情報をどのように監視, 管理いるのかを知るために, まずはtopコマンドのソースコードから順番にカーネルまで調べていきたい. 最初に,topのソースコードでprocessの情報を取得している部分を探した.1. window_show関数は画面に収まる範囲…

vmstatのソースコードリーディング3

kernel_stat構造体はcpu_usage_stat構造体, irq配列, 割り込みの合計値, softirqの配列を保持しており, DECLARE_PER_CPUでCPU毎に保持されている.1. include/linux/kernel_stat.hで外部関数としてaccount_***_timeの関数が定義されている. 2. 実際の関数…

vmstatのソースコードリーディング2

/proc/statの出所を探す. 1. /proc/statはfs/proc/stat.cのproc_stat_init関数で生成されている. proc_create("stat", 0, NULL, &proc_stat_operations); (statカーネルモジュールでは, fileのopen, raed, llseek, releaseをそれぞれ定義している) 2. /proc/…

vmstatのソースコードリーディング

普段何気なく使っているvmstatの仕組みについて, 調べてみた. (ソースはprocps-3.2.8.tar.gzを利用)1. vmstat(オプションなし)はgetstat関数を呼び出して出力する情報を得ている. 2. getstat関数は/proc/statを読み取っている 2-a: /proc/statの読み方 参考…

Xen Cloud Platform 1.5 Beta インストール

XCP

OpenStack + Xen Cloud Platformを試すために、 まずはXen Cloud Platformをインストール.■ Xen Cloud Platform インストール手順 1. isoイメージをダウンロード http://www.xen.org/download/xcp/index.html 2. CDに焼いて, インストール 3. storage poolに…

run levelの設定

ubuntu*1の場合, /etc/init/rc-sysinit.conf を変更する。#env DEFAULT_RUNLEVEL=2 env DEFAULT_RUNLEVEL=3ちなみに, runlevelコマンドで現在のrunlevelの確認, initコマンドでrunlevelの一時的な変更ができる。 *1:ubuntu 11.10

4月以降 参加したい勉強会とコミュニティを調べたメモ

日本OpenStackユーザ会 http://openstack.jp/ OpenCloudCampus http://puresuta.sakura.ne.jp/occ/index.php http://opencloud.jp/ クラウドネットワーク研究会 https://ssl.kokucheese.com/event/cancel/27170/ 日本Linuxユーザ会 https://jp.linux.com/lin…

4月以降 参加したい勉強会とコミュニティを調べたメモ

日本OpenStackユーザ会 http://openstack.jp/ OpenCloudCampus http://puresuta.sakura.ne.jp/occ/index.php http://opencloud.jp/ クラウドネットワーク研究会 https://ssl.kokucheese.com/event/cancel/27170/ 日本Linuxユーザ会 https://jp.linux.com/lin…

監視ツール達

OSS貢献者賞、奨励賞の受賞者および成果を見て、アウトプットしていくことは重要だとあらためて認識。 平松さんの受賞理由に書かれていた監視ツールに関するものに興味を惹かれたので今日はそれを使ってソースコードを見てみる。 LKST SystemTap Ftrace Perf…

C言語の作法

C

for文の制御 0で終了, -1は動作する。 ~(c=getchar())は文字列入力がなくなれば0となってループを抜ける。 multi-character character constant int test = 'abce'; という書き方ができる。 error: lvalue required as increment operand 配列アドレスをイン…

POJ 1001

POJ

Don't print the decimal point if the result is an integer. を読み落としてはまるなど。

組み込みOS自作入門の入門(2)

Ubuntu 9.10はツールのupdateが書けれなかったので、11.10に変更。 なぜか、Ubuntuであればbinutilsもgccもコンパイルが通った。 CentOS/fedora/cygwinがあかんのか。ソースはとりあえずwebからダウンロード。 そして、h8write書きこもうとすうるが反応しな…