原创 翻譯:libvirt :debug and logging

譯libvirt : debug and logging 需要使用libvirt部分功能啓動虛擬機,但是有需要qemu打印log。libvirt給出了相應的解決辦法: LIBVIRT_DEBUG LIBVIRT_LOG_FILTERS

原创 libvmi 和volatility

首先,爲什麼之前配過了 libvmi 還要做 volatility : #include <libvmi/libvmi.h> #include <stdlib.h> #include <string.h> #include <errno.

原创 c和Python混編出現的問題

代碼在各種網站上有很多了,簡單說就是將c的參數調用Python接口進行一系列的封裝,然後傳入Python進行執行。源碼包非常繁雜,gcc編譯是不切實際的,如何將Python2.7庫的鏈接添加到makefile中呢? 我的代碼使用的是Pyt

原创 spice源碼解析之 client-server 通信機制

spice客戶端建立連接從 application.cpp 開始,下面整理下spice客戶端和服務端的連接機制。 1. 首先,spice客戶端打開監聽,添加監聽端口; static int reds_init_net(void) {

原创 spice源碼解析之qemu-2.9.1/vl.c

之前說過,spice的初始化是在qemu中進行的,qemu中也包含了spice的一部分線程,vl.c是qemu對設備進行初始化的主要函數,先把初始化過程記錄一下吧~希望能堅持下去搞明白整個處理過程。:)

原创 系統關閉xen虛擬化,並改爲KVM

簡單說一下問題,,有一天突然virsh list –all想看一下虛擬機情況,竟然出現了domain-0。。。 原本應該是kvm虛擬化,怎麼會出現xen 的概念呢?就開始了一系列的調整: #第一部分 1.lsmod |grep xe

原创 虛擬機播放本地視頻,qemu有大量Write?

最近在做測試,需要監控系統狀態,然而多次測試的結果總是與我想象的有些差距。。。比如,播放本地視頻,爲何出現大量的Write。。鬱悶了好久,還是要解決的呀!先看看是那個進程搞的鬼: 哦,好吧,qemu是在寫磁盤… 1. 想到了stra

原创 spice-client源碼解析之application.cpp

application.c是作爲客戶端和服務端建立連接的開始,並且函數裏包括了對連接類型的設置,對智能卡的支持,channel 創建就是從這裏開始的; 1.配置信息 Application::Application() : Pro

原创 spice-client源碼解析之process_loop.cpp

spice 維護了一個Events Queue Loop,用來處理事件; 1.爲什麼使用event loop: 個人理解:event 是把需要處理的時間放到一個循環裏, 同一個loop中的線程的執行使用異步api ,大量的節省了系統的

原创 SDL

SDL庫的作用說白了就是封裝了複雜的視音頻底層操作,簡化了視音頻處理的難度。 以下轉自WiKi: SDL(Simple DirectMedia Layer)是一套開放源代碼的跨平臺多媒體開發庫,使用C語言寫成。SDL提供了數種控制圖像、

原创 Linux中斷

1. CPU工作的模式 (1). 中斷(由各種設備發起); (2). 輪詢(由CPU主動發起); 所有linux操作系統都是基於中斷驅動的。 2.中斷IRQ Interrupt Request,簡稱IRQ,中斷其實就