PythonでESXi向けVM管理スクリプトを書いてみた(作成中)

#!/usr/bin/python #CMD_DF = "df | fgrep \"datastore1\" | awk -F ' ' '{print $4}'" CMD_DF = "df | fgrep \"ram\" | awk -F ' ' '{print $4}'" import sys import commands while 1: # --- Check free space in datastore1 --- result = commands.getout…

Linuxコマンド:printf

何気なくシェルの自動補完で"p"から始まるLinuxコマンド一覧を眺めていたら,"printf"なんてコマンドが! >printf "%s 0x%x\n" "this is printf" 1024 >this is printf 0x400 普通にprintfできる!! 以上!・・・実は有名コマンドだったり?

x64アーキテクチャ向けの自作OS

x64アーキテクチャの公式リファレンス •AMD64 Architecture Programmer’s Manual Developer Guides & Manuals AMD http://developer.amd.com/resources/documentation-articles/developer-guides-manuals/Intel(R) 64 and IA-32 Architectures Software Deve…

KVMの内部構造(まだメモ)

KVM

Linuxのカーネルモジュールであるkvm.koは,キャラクタデバイス/dev/kvmを通してユーザ空間で動作するqemu-kvmとやりとりする. 例: KVM_CREATE_VCPU - 仮想CPUを作成する [qemu-kvm] ret = kvm_vm_ioctl(s, KVM_CREATE_VCPU, env->cpu_index); [kvm-kmod] …

Winmergeでバイナリファイルを比較する

ZBinToTextプラグインを入れるとバイナリ比較ができる!!便利!! ただし,64bit版Winmergeでは使えないので,32bit版のWinmergeを使います. (ソースは公開されてるから,自分でプラグインを64bit版でビルドすればきっと64bitでも使えるけど.)↓プラグイン…

qemu-kvm上のLinuxをKGDBを使ってデバックする:Fedora17の場合

1.qemu-kvm上にゲストOSとしてFedora17をインストール。 2.自分でビルドしたカーネルをゲストOSにインストール(ビルドオプションは下記リンク参照) 3.GRUB2のカーネルのブートパラメータを変更(下記リンク2つ目を参照) 4.qemu-kvmを-sオプションをつけて起動…

QoSについて

第6回 QoS論議で長引く会議をまとめる方法:教科書には載っていない ネットワークエンジニアの実践技術|gihyo.jp … 技術評論社 http://gihyo.jp/admin/serial/01/net_prac_tech/0006

YouTubeの動画配信に使われている技術・プロトコル

動画の形式:Flash Video(.flv)形式 動画の配信方式:Real Time Messageing Protocol(RTMP) Over HTTP RTMPというプロトコルをHTTPパケットにくるんで配信している。 HTTPヘッダーのContent-Type(MIME-Type)が"video/x-flv"だった。 "x-"のプレフィクスはMIM…

RSVPやDiffServなど、RFC仕様の日本語訳まとめサイト

RFC日本語版リスト http://www5d.biglobe.ne.jp/%257estssk/rfcjlist.htmlDiffServ:RFC2474 IPv4とIPv6ヘッダーでのサービス区分フィールド(DSフィールド)の定義 http://www5d.biglobe.ne.jp/%257estssk/rfc/rfc2474j.htmlRSVP:Japanese Vers…

ネットワークのQoSに悩んだら、ここをみる

Quality of Service ソリューション ガイド、 Cisco IOS Release 15.1S - Cisco Systems http://www.cisco.com/cisco/web/support/JP/docs/CIAN/IOS/IOS15_1S/CG/018/qos_15_1s.html 特に、輻輳管理

Windowsプログラミングの参考サイト

EternalWindows http://eternalwindows.jp/

Windows:SendInputで指定した"dwExtraInfo"をグローバルフック内で取得する

Windowsで、マウスに対してSendInputをした場合で試した。 SendInput関数のINPUT構造体内のMOUSEINPUT構造体のdwExtraInfoに指定した値を、マウスのグローバルフックのコールバック関数内で取得したいときは、コールバック関数のlParamがMOUSEHOOKSTRUCTEX構…

Windows: DrowIconExで透過が出来ない。。。

下のコードで、マウスカーソルをデスクトップに描画しても、なぜか背景が透過されない。 透過されずに黒い四角の背景が描画されてしまう。 HDC hDesktopDC = GetDC(NULL); HCURSOR hCursor = LoadCursor(NULL,IDC_ARROW); DrawIconEx(hDesktopDC, 10, 10, hC…

Windowsの.libファイルやダイナミックリンクライブラリ(DLL)について

".lib"ファイルには2種類あるらしい.混同しないようにメモ。 一つ目は、静的なリンクに用いられる「静的リンクライブラリ(標準ライブラリ)」。 二つ目は、DLLを作った際の副産物としてできる「インポートライブラリ」。 これは、"暗黙的リンク"に用いられる…

Vim - Tips

便利なコマンドがよくまとまっているサイト↓ vimで効率的にコードを書くための小技 - bonar note http://blog.bonar.jp/entry/20070415/1176651778 cindentなどのインデント幅を変更したい時 :set shiftwidth=4Vimのメモ - メモのメモ http://ogawa.s18.xrea…

Vim: 文字を新しい文字に入れ替える(上書きする)

"r"で一文字、"R"で複数文字を連続上書きできる。UNIX今日の技 - FrontPage http://www.q-eng.imat.eng.osaka-cu.ac.jp/~ippei/unix-tips/#l3

TCP・コネクションの解説

ASCII.jp:TCPのコネクションとはなんですか?|TCP-IPまるわかり http://ascii.jp/elem/000/000/438/438944/

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

ファゴット協奏曲一覧

英語のWikipediaにファゴット協奏曲の一覧が乗っていた。Bassoon concerto - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/Bassoon_concerto ついでにソナタも。 Bassoon sonata - Wikipedia, the free encyclopedia http://en.wikipedia…

Windows8でCreateProcess系の関数

1: 779b3848 @!"ntdll!RtlCreateProcessParametersEx" 2: 77985c74 @!"ntdll!NtCreateProcessEx" 3: 77985c88 @!"ntdll!NtCreateProcess" 4: 779a151c @!"ntdll!RtlpCreateProcessRegistryInfo" 3: 77985c88 @!"ntdll!ZwCreateProcess" 2: 77985c74 @!"ntdll…

Windows:PEヘッダからたどって、DLLのエクスポート関数を列挙する

Windows7の32bitアプリ、Visual Studio2008で動作確認。 #include <stdio.h> #include <windows.h> #define RVAtoVA(type, base, offset) ((type)(PVOID)(((PCHAR)(base))+(offset))) int main() { DWORD dwModuleBaseAddr; PIMAGE_DOS_HEADER pDosHeader; PIMAGE_NT_HEADERS32 p</windows.h></stdio.h>…