原创 在內核linux-3.1-rc4中加入系統調用 (32位和64位)

最近爲了在內核中加入指令,需要增加系統調用。我採用的方法是通過修改內核源碼來增加系統調用。1 .  實驗環境爲 Centos-6.0 + 32位,使

原创 Jimmy的文檔:Glusterfs的rpc模塊實現(第三部分)

第二節、rpc客戶端實現原理及代碼分析 rpc客戶端主要發起一個rpc請求,執行完rpc請求以後就退出rpc,下面分析客戶端rpc請求建立的整個過程。Rpc客戶端請求建立的第一步是執行cli_rpc_init函數,主要實現代碼如下:

原创 Jimmy的文檔:Glusterfs之rpc模塊源碼分析之RPC概述(第一部分)

一、RPC概述 第一節、RPC結構網絡 RPC(Remote Procedure Call Protocol)——遠程過程調用協議,它是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。RPC協議假定某些傳輸協議的存

原创 Jimmy的文檔:Glusterfs之rpc模塊源碼分析附錄(rdma和tcp)

聲明:本文轉至IT168:因爲GlusterFS實現了IB網絡(RDMA協議,專用硬件網卡支持),當時就在想普通的網卡能不能實現,就找到一篇這樣的文章介紹,基於TCP協議來實現。! 附件 RDMA over TCP的協議棧工作過程淺析

原创 Jimmy的文檔:Glusterfs的rpc模塊實現(第二部分)

二、Glusterfs的rpc模塊實現 第一節、rpc服務器端實現原理及代碼分析 1.rpc服務初始化(rpc/rpc-lib/src/rpcsvc.c) Rpc服務的初始化工作在函數rpcsvc_init中實現的,實現代碼如下: r

原创 Django Web 應用的總體設計

Django  Web 應用的總體設計        在鑽研更多代碼之前,讓我們先花點時間考慮下 Django 數據驅動 Web 應用的總體設計。Django 的設計鼓勵鬆耦合及對應用程序中不同部分的嚴格分割。 遵循這個理念的話,要想修

原创 Unix 高級編程 環境配置(Centos + X86_64)

UNIX環境高級編程 最近在讀 Richard Stevens 的大作《UNIX環境高級編程》,相信很多初讀此書的人都會與我一樣遇到這個問題,編譯書中的程序實例時會出現問題,提示 “錯誤:apue.h:沒有那個文件或目錄”。 apue.

原创 Jimmy的文檔:Glusterfs的rpc模塊實現(第四部分)

第三節、rpc通信過程分析 前面兩個小節分別對rpc服務端和客戶端的建立流程做了詳細的分析,也就是說rpc客戶端和服務器端已經能夠進行正常的通信了(rpc客戶端已經通過connect鏈接上rpc服務器了),那麼這一小節主要根據一個實際的例

原创 Redis:安裝、配置、操作和簡單代碼實例(C語言Client端)

  Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。從20

原创 Linux rpc 編程最簡單實例

通過rpcgen的man手冊看到此工具的作用是把RPC源程序編譯成C語言源程序,從而輕鬆實現遠程過程調用。 1.下面的例子程序的作用是客戶端程序(fedora Linux下)取中心服務器也是Linux上)時間的,編程過程如下: 先編寫一個

原创 關於TPM 的Seal 和 Unseal

    弄了好久,終於對Tpm的seal 和 Unseal有了一點感覺: 一、 tpm_sealdata     tpm_seal有輸入和輸出,輸入的文件是要保護的信息,輸出的文件包括TSS key 、ENC key 和加密後的數據,且輸

原创 虛擬機動態遷移drbd

衆所周知,xen支持虛擬機的動態遷移,我們實現了一個關於虛擬機動態遷移的實例:    具體的操作如下:     (1) 首先安裝drbd的安裝   DRBD(Distributed Replicated Block Device),分佈式

原创 Linux 邏輯卷管理 與 文件系統(LVM 與 FileSystem)的關係

一、 什麼是LVM          LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱,它是Linux環境下對磁盤分區進行管理的一種機制,LVM是建立在硬盤和分區之上的一個邏輯層,爲文件系統屏蔽下層磁盤分區佈局,

原创 Django 安裝及簡單實例

 Django 安裝及簡單實例 1. Django 安裝 (1)首先下載Django wget www.djangoproject.com/download/1.3/tarball/ 得到Django-1.3.tar.gz,將其解壓後安

原创 TELL_WAIT,TELL_PARENT,TELL_CHILD,WAIT_PARENT,WAIT_CHILD

信號應用-父子進程實現同步 本文主要參考《unix環境高級編程》   有五個例程的實現:TELL_WAIT,TELL_PARENT,TELL_CHILD,WAIT_PARENT,WAIT_CHILD。 把整個代碼就開說了: 開頭定義需要