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

printkの出力先はカーネルのバッファ(=メモリ)

printk処理の(時間的な)オーバーヘッドを知りたくて、調べてみた。 printkの直接の出力先は、"log_buf"というバッファ(=メモリ)。 →カーネルのソース「kernel/printk.c」で定義されている /var/log/messagesのようなファイルへの書き込みは、ユーザプロセス…

Linuxカーネルのネットワーク処理

送信で重要な関数:dev_queue_xmit 受信で重要な関数:netif_receive_skb受信処理のコールスタック・例 do_softirq __do_softirq net_rx_action e1000e_poll e1000_clean_rx_irq e1000_receive_skb napi_gro_receive dev_gro_receive napi_skb_finish netif_…

Linuxの関数トレース(ftrace)は面白い!

Linuxカーネルのftrace機能は、カーネル内での処理の流れを知りたいときにとても便利! カーネル内で実行されたほぼすべての関数を時系列順に知ることができる。 さらに追加情報として、PIDやプロセス名、遅延時間(処理時間)なども取得されていて、おぉ!こ…

LinuxでRAMディスクを使ってみる

RAMディスクにLinuxカーネルのソースとかを置いてビルドしたら早いと思って調べてみた。 作成方法↓ >mount -t tmpfs -o size=256m /dev/shm /mnt/ramdisk 書き込み速度比較↓ [XX@YY tmp]$ dd if=/dev/zero of=/tmp/tmptmp bs=1M count=250 250+0 records in …

qemu-imgって色々できるんだ

"create"で仮想ディスクの作成だけじゃなく、"info"で情報の取得 >qemu-img info win8.img image: win8.img file format: raw virtual size: 20G (21474836480 bytes) disk size: 0"convert"でファイルフォーマットの変更、"resize"でサイズを変更、"snapsho…

VNCをインターネット経由で使う時のセキュリティ対策 -SSHポートフォワーディング-

SSH ポートフォワーディングでVNCを使う http://www14.plala.or.jp/campus-note/vine_linux/server_vnc/vnc_portforwarding.html

インストールされているパケージの確認

ubuntuでrubyを削除(アンインストール)しようとしたがなかなかうまく行かなかった。 以下で解決。>dpkg -l | grep ruby でruby関連のパッケージを確認して >sudo apt-get purge ruby* で削除。

gccやgem(ruby)など複数インストールされているアプリケーションのバージョンを切り替える(update-alternatives)

28.3. update-alternatives コマンドの使い方 http://vinelinux.org/docs/vine5/manuals/update-alternatives-3.html

PE(Portable Executable)の解析

PEは、WindowsのEXE,DLL,SYS(driver)などのファイルのファイルフォーマット。 インポートアドレステーブルと API フック - Web/DB プログラミング徹底解説 http://keicode.com/windows/win09.phpEXEファイルの内部構造(PEヘッダ) (1/3):CodeZine http:/…

Windows 8 でキーボードのキーを入れ替え

PC

Windows Vista/XP/2000/NT4.0のキー配列の変更方法 http://www.jaist.ac.jp/~fujieda/scancode.html