原创 虛擬化技術之設備直接分配(passthrough)

1、設備直接分配技術         如何提高虛擬化設備的性能問題是虛擬化領域長期的研究重點。如前所述,設備模擬模型會導致虛擬化性能大大下降;泛虛擬化設備模型雖然在性能上擁有一定的優勢,但由於需要修改操作系統,具有侷限性.。並且當前的兩

原创 Xen事件通道詳細介紹(一)

1、基本概念 事件通道(Event Channel)是Xen用於Dom和Xen之間、Dom和Dom之間的異步事件通知機制,事件通道的應用非常廣泛,Xen體系結構上的物理中斷(pIRQ)、虛擬中斷(vIRQ)、虛擬處理器間中斷(Virtua

原创 C++中vector實現及使用詳解

    vector是)C++中的一種數據結構,確切的說是一個類.它相當於一個動態的數組,當程序員無法知道自己需要的數組的規模多大時,用其來解決問題可以達到最大節約空間的目的 1、vectot與array        vector與ar

原创 成員初始化列表與構造函數體區別

C++ Primer中在講構造函數初始化列表的時候有這麼一段話:        無論是在構造函數初始化列表中初始化成員,還是在構造函數體中對它們賦值

原创 C++中string類使用詳細說明

        之所以拋棄char*的字符串而選用C++標準程序庫中的string類,是因爲他和前者比較起來,不必 擔心內存是否足夠、字符串長度等等,而且作爲一個類出現,他集成的操作函數足以完成我們大多數情況下(甚至是100%)的需要。我

原创 Linux中斷負載均衡

     Linux 內核需要對連接到計算機上的所有硬件設備進行管理,毫無疑問這是它的份內事。如果要管理這些設備,首先得和它們互相通信才行,一般有兩種方案可實現這種功能: 輪詢(polling) 讓內核定期對設備的狀態進行查詢,然後做出相

原创 紅黑樹詳解(源碼+圖示)

Rbtree.h文件中數據結構及函數 rb_node 紅黑樹節點數據結構中使用成員rb_parent_color同時存儲兩種數據,一是其雙親結點的地址,另一是此結點的着色。__attribute__((aligned(sizeof(lon

原创 CPU拓撲結構之非一致性內存訪問

非一致內存訪問——NUMA        硬件已經趨向使用多條系統總線,每條系統總線爲一小組處理器提供服務。每組處理器都有自己的內存,並可能有自己的 I/O 通道。但是,每個 CPU 都可以通過一致的方式訪問與其他組關聯的內存。每個組稱爲

原创 IO虛擬化及虛擬化模型

1、I/O虛擬化簡介        I/O虛擬化(Input/output virtualization,簡稱IOV)是虛擬化的一種新形式,是來自物理連接或物理運輸上層協議的抽象,讓物理服務器和虛擬機可以共享I/O資源。        在

原创 Xen事件通道詳細介紹(二)

3、事件通道的操作 Dom與事件通道相關的操作都需要通過Xen提供的超級調用HYPERVISOR_event_channel_op或HYPERVISOR_event_channel_op_compat來完成。其中HYPERVISOR_ev

原创 如何查看Xen、操作系統及內核版本信息

      有時在使用非自己搭建的環境平臺時會需要查看系統信息,尤其是系統中編譯過多個內核時,我們有時會需要當前使用的是哪個版本的內核。因此,一些查看系統版本以及內核版本信息的命令也是需要掌握的。         對於虛擬化環境而言首先

原创 Xen虛擬化平臺安裝

      近些年來,虛擬化技術已經在很多的領域中得到了廣泛的應用,由於其突出的優點,虛擬化技術受到工業界和學術界的共同關注和重視,同時也是當前計算機領域的一個熱門研究方向。        xen是什麼? 是英國劍橋大學計算機實驗室開發

原创 虛擬化平臺網橋配置與使用

        在搭建了虛擬化平臺後,虛擬機想要上網的話有多種方式; 1、將主機的網卡通過直接分配的方式直接分配給網卡,這樣虛擬機便可以直接佔有物理網卡的使用權,這種方式下的性能特別好,但是這樣主機的Dom 0便不可以使用該網卡了,所以不

原创 CentOS安裝最新git

在很多Linux系統庫中都有Git,可以直接用命令行安裝。 例如Fedora中可以直接用yum install git等,參考如下: Debian/Ubuntu $ apt-get install git Fedora $ yum in

原创 淺談sscanf與sprintf

最近在C++編程中會遇到要進行字符串和整型之間相互轉換的情況,對於C++的字符流操作還不是很熟悉,而且感覺使用起來並沒有原來C語言中的sscanf與sprintf順手(個人對C++還不是特別熟練),所以還是習慣的使用了sscanf與spr