原创 Linux下如何實現秒以下精確定時與休眠

Linux中提供的休眠函數是sleep和alarm,但是他們僅僅提供以秒爲單位的休眠,這中休眠有些進程顯然太長了,那麼怎樣才能使進程以更小的時間分辨率休眠呢?    我知道的方法有2種,下面就做分別介紹。    第一種方法是使用定時器,Li

原创 Base64編碼解碼與實現

Base64是一種很常見的編碼規範,其定義爲:Base64內容傳送編碼被設計用來把任意序列的8位字節描述爲一種不易被人直接識別的形式。(The Base64 Content-Transfer-Encoding is designed to

原创 (翻譯)UTF-8 字符集基礎(一)

作者: Marius Bancila  翻譯: wangxg   字符集簡史      在所有字符集中,最知名可能要數被稱爲ASCII的7位字符集了。它是美國信息交換標準委員會(American Standards Committee fo

原创 S3C2440上LCD驅動(FrameBuffer)實例開發講解

一、開發環境 主  機:VMWare--Fedora 9 開發板:Mini2440--64MB Nand, Kernel:2.6.30.4 編譯器:arm-linux-gcc-4.3.2   二、背景知識 1. LCD工作的硬件需

原创 PAP和CHAP協議介紹

1. 前言    PAP和CHAP協議是目前的在PPP(MODEM或ADSL撥號)中普遍使用的認證協議,CHAP在RFC1994中定義,是一種挑戰響應式協議,雙方共享的口令信息不用在通信中傳輸;PAP在RFC1334中定義,是一種簡單的明

原创 MD模塊之處理讀寫過程分析-2

這一節講述raid5模塊中處理讀寫流程。這個過程很複雜,最關鍵的函數就是handle_stripe,處理一次讀或寫都會多次調用這個函數才能完成。當然,這個函數也是raid5模塊的一個核心函數,他還負責同步,重建,以及擴展的實現。在分析之前,

原创 MD模塊之處理讀寫過程分析-4

MD在處理讀寫錯誤時是不一樣的。寫數據發生錯誤時處理較簡單,讀發生錯誤時會比較麻煩,它會把讀不出來的數據通過計算出來,然後在重新寫回磁盤上。首先先看看如何處理寫錯誤的。 1、寫數據時發生錯誤      如果寫發生錯誤,那麼回調函數raid5

原创 MD模塊之處理讀寫過程分析-3

這節我們來分析神奇而又NB的handle_stripe,2.6.21版本的處理raid5和raid6分別用handle_stripe5和handle_stripe6這兩個函數,我們這裏主要說handle_stripe5,handle_str

原创 我的友情鏈接

51CTO博客開發

原创 MD模塊之處理讀寫過程分析-1

md可以說是一個虛擬的設備驅動層,它屬於塊設備驅動,擁有塊設備驅動的特點。所以,他實現了塊設備操作接口 static struct block_device_operations md_fops =  {  .owner      = T

原创 POWERPCB常用技巧

轉載 POWERPCB常用技巧:(一)  1。移動元件時可按TAB鍵翻轉。  2。加任何形狀的孔(包括方形元件腳):可在24層用二維線畫。  3。加裸銅(即阻焊,在加大導通電流和增加焊接附着力時經常用到)用鋪銅功能在28層加。  4。把當前

原创 static struct option opts[] = {

1. 前言   Linux中的netfilter提供了一個防火牆框架,具有很好的擴展性,除了自帶的模塊之外,用戶可以根據自己的需求定義新的防火牆模塊加入其中,而編程過程也不是很複雜,只要依葫蘆畫瓢即可,可在原來的類似功能的模塊基礎上修改

原创 Python文件操作遇到的低級問題

今天測試代碼,發現一個問題,一段python程序,執行之前把操作記錄到文件,以前沒有遇到問題,今天發現無法寫入文件記錄,首先貼一下代碼: def nas_conf_add(conf):         try:               

原创 brk和sbrk .

brk和sbrk主要的工作是實現虛擬內存到內存的映射.在GNUC中,內存分配是這樣的:       每個進程可訪問的虛擬內存空間爲3G,但在程序編譯時,不可能也沒必要爲程序分配這麼大的空間,只分配並不大的數據段空間,程序中動態分配的空間就

原创 我的友情鏈接

51CTO博客開發