【資料結構重溫】Linux核心中的hash和bucket

 雜湊表(Hashtable)又稱為“散置”,Hashtable是會根據索引鍵的雜湊程式碼組織成的索引鍵(Key)和值(Value)配對的集合。Hashtable 對象是由包含集合中元素的雜湊桶(Bucket)所組成的。而Bucket是Hashtable內元素的虛擬子群組,可以讓大部分集合中的搜尋和擷取工作更容易、更快速。  雜湊函數(Hash Function)為根據索引鍵來返回數值雜湊程式碼的演算法。索引鍵(Key)是被儲存物件的某些屬性值(Value)。當對象加入至 Hashtable時,

Linux系統UID和GID詳解

 Linux系統UID和GID詳解  一個檔案都有一個所有者, 表示該檔案是誰建立的. 同時, 該檔案還有一個組編號, 表示該檔案所屬的組, 一般為檔案所有者所屬的組.   如果是一個可執行檔, 那麼在執行時, 一般該檔案只擁有調用該檔案的使用者具有的許可權. 而setuid, setgid 可以來改變這種設定.   setuid: 設定使檔案在執行階段具有檔案所有者的許可權. 典型的檔案是 /usr/bin/passwd. 如果一般使用者執行該檔案, 則在執行過程中,

經典]Linux核心中ioremap映射的透徹理解 .

   幾乎每一種外設都是通過讀寫裝置上的寄存器來進行的,通常包括控制寄存器、狀態寄存器和資料寄存器三大類,外設的寄存器通常被連續地編址。根據CPU體繫結構的不同,CPU對IO連接埠的編址方式有兩種:  (1)I/O映射方式(I/O-mapped)  典型地,如X86處理器為外設專門實現了一個單獨的地址空間,稱為"I/O地址空間"或者"I/O連接埠空間",CPU通過專門的I/O指令(如X86的IN和OUT指令)來訪問這一空間中的地址單元。  (2)記憶體映射方式(Memory-mapped)  R

Linux下使用USB轉串口讀GPS資料

 //----------------------------------------------------//AUTHOR: lanyang123456//DATE:2012-02-28//---------------------------------------------------- 核心版本2.6.18 或2.6.32 或

linux加密函數crypt()

/* use the "crypt" function to encrypt the passward of the logining user the declaration of the function is: char *crypt(const char *key, const char *salt); key : the passward to encrypt salt: contain two character ([a-zA-Z0-9./]) here we set "salt"

linux下RTP編程(使用JRTPLIB))

流媒體指的是在網路中使用流技術傳輸的連續時基媒體,其特點是在播放前不需要下載整個檔案,而是採用邊下載邊播放的方式,它是視頻會議、IP電話等應用場合的技術基礎。RTP是進行即時資料流媒體傳輸的標準協議和關鍵技術,本文介紹如何在Linux下利用JRTPLIB進行即時資料流媒體編程。 一、流媒體簡介       

jrtp報在linux上的安裝

1、如果需要將程式移植到其他系統,如arm-linux上,則需要安裝tool-chain2、將開發包解壓3、/configure4、如果需要移植到arm-linux,修改Makefile檔案,cc=arm-linux-g++  ar= arm-linux-ar ld=arm-linux-ld5、make6、make install7、將編譯產生的庫的鏡像檔案拷貝至/lib下,預設組建目錄在/user/local/lib8、編譯器:arm-linux-g++ souce.cpp -ljrrtp -

linux下簡單的sniffer程式

/**************************************** Author  : 李亞楠* Time    : 2006-04-02* function: 檢測本機網路****************************************/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <errno.h>#include

linux 發送郵件程式

大家都知道,要發送郵件,就是編寫一個 smtp用戶端,smtp其實是基於anscII的字元協議,說白了,也就是你往伺服器上發送指定的字元,伺服器便會有相應的響應,當然到底發送什麼字元呢?這個就是smtp協議了。如果想發送二進位的檔案,音視頻資料,那麼就需要MIME(通用internet郵件擴充協議),它利用一些編碼方式將這些資料轉化為anscII字元,發送出去,接收端在利用相應的解碼方式進行解碼。我們這裡製作一個簡單的郵件發送程式,其中身份驗採用Base64編碼,它將資料流劃分為24位的塊,再將

基於jrtp庫的linux多線程程式調試一

server.c線程函式宣告如下:void thread(void)建立線程如下:int id;int ret = pthread_create(&id,NULL,(void*)thread,NULL);編譯語句如下:arm-linux-g++ server.c -ljrtp -lpthread -o server錯誤提示:ANSI C++ forbids implicit conversion from `void *' in argument passing   解決:int

嵌入式linux ftp下載程式

ftp.h檔案#ifndef __FTP_H_#define __FTP_H_#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <fcntl.h>#include <unistd.h>#include <stdarg.h>#include

arm-linux-toolchain安裝

1 將arm-linux-toolchains.tgz 拷貝到/目錄2 執行tar -zxvf arm-linux-toolchains.tgz 系統將其解壓到/user/local/arm/2.95.3下3 修改/etc/profile如下:  增加PATH:  pathmunge  /user/local/arm/2.95.3/bin4 重新起動系統5 測試:arm-linux-gcc(++) --version

Linux的常見問題集和管理技巧1

一、 如何建立多使用者   提醒大家一句,別一直使用root使用者,因為root使用者在系統中有著至高無上的權力,一不小心就可能破壞系統。比如我們想刪除/temp目錄下的檔案卻將命令不小心輸成“rm / temp(在‘/’後多了一個空格)”,那麼就極可能刪去根目錄下的所有檔案。再者,“Linux是一個真正意義上的多任務、多使用者系統”,不體會一下 Linux的特色豈不可惜。為了方便自己和別人使用,就在Linux系統下多建幾個使用者吧。   輸入“adduser

linux系統調用(1)

本文是Linux系統調用系列文章的第一篇,對Linux系統調用的定義、基本原理、使用方法和注意事項大概作了一個介紹,以便讀者對Linux系統調用建立一個大致的印象。 什麼是系統調用?Linux核心中設定了一組用於實現各種系統功能的子程式,稱為系統調用。使用者可以通過系統調用命令在自己的應用程式中調用它們。從某種角度來看,系統調用和普通的函數調用非常相似。區別僅僅在於,系統調用由作業系統核心提供,運行於核心態;而普通的函數調用由函數庫或使用者自己提供,運行於使用者態。二者在使用方式上也有相似之處,

Linux的常見問題集和管理技巧2

六、如何設定音效卡   不用我說,這可是十分要緊的工作!不過如果你安裝了RED HAT Linux,則這項工作就簡單了!   用root登入系統,運行/usr/sbin/sndconfig。出現選擇音效卡類型的畫面。一般音效卡可以選取Sound Blaster 。   選完音效卡後再設定有關的資源。用TAB鍵結合方向鍵作出選擇後,按OK,如果聽到Linus(Linux的創始人)說話的聲音,就說明音效卡設定成功了。真像老式DOS遊戲的音效卡設定…… 七、如何設定顯卡

linux(armlinux)下UDP協議實現IP多播代碼

/*****************************************************   功能:   linux  arm-linux  UPD多播       **   時間:   2006-03-07               **   撰寫:   李亞楠                 * *****************************************************/#include

在Linux中添加新的系統調用

 系統調用是應用程式和作業系統核心之間的功能介面。其主要目的是使得使用者可以使用作業系統提供的有關裝置管理、輸入/輸入系統、檔案系統和進程式控制制、通訊以及儲存管理等方面的功能,而不必瞭解系統程式的內部結構和有關硬體細節,從而起到減輕使用者負擔和保護系統以及提高資源使用率的作用。

撿起linux —(1)

好久沒用linux,最近需要了才又撿起來,忽有世上已千年的感覺。以前一直用rehat9,vmware6,那時候vmtools可以解決滑鼠釋放和檔案分享權限設定問題,這幾天裝ubuntu9或者10之後發現這兩個功能一個也不好用了。那麼尋找新的方法。同時記些筆記下來。 1、ubuntu9.04以上的版本 需要vmware 6.5以上的版本來裝  低版本可能不行2、下面建立共用資料夾 不用vmware tools(不知怎麼不好使),ubuntu9.04 vmware6.5

linux休眠函數小結

應用程式:#include <syswait.h>usleep(n) //n微秒Sleep(n)//n毫秒sleep(n)//n秒驅動程式:#include <linux/delay.h>mdelay(n) //milliseconds  其實現#ifdef notdef#define mdelay(n) (/ {unsigned long msec=(n); while (msec--) udelay(1000);})#else#define mdelay(n) (/ 

撿起linux —(2)第一次成功編譯核心

花了一周時間  總算成功編譯了   2.6.30核心 中間出了一堆問題,vmware版本問題   ubuntu10.10連無線網問題   ubuntu宿主機檔案分享權限設定問題  滑鼠釋放問題  redhat編譯缺庫問題  。。。。。  對於我這種linux大內低手而言  都是一道道坎兒。好幾次想放棄  直接裝個高核心版本的ubuntu算了,最後還是堅持下來了    獎勵下自己  呵呵 簡述編譯過程   以後忘了  想撿起來容易些先說一些假單命令  老是忘:關機重啟命令:   

總頁數: 4065 1 .... 448 449 450 451 452 .... 4065 Go to: 前往
Tags Index:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。