原创 define 的高級用法

define 的高級用法 1、前言     今天看代碼時候,遇到一些宏,之前沒有見過,感覺挺新鮮。如是上網google一下,順便總結一下,方便以後學

原创 線程原語

線程原語比較兩個線程是否相等 #include<pthread.h> int pthread_equal(pthread_t tid1,pthread_t tid2); 相等--非0,否則-- 0 獲得自身的線程ID #include<p

原创 STL之vector用法

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

原创 STL之set 的用法

set 容器的用法 1.關於set C++ STL 之所以得到廣泛的讚譽,也被很多人使用,不只是提供了像vector, string, list等 方便的容器,更重要的是STL封裝了許多複雜的數據結構算法和大量常用數據結構操作。vecto

原创 內核導言之進程概述

進程概述一個進程是一個程序的執行,它是有一序列有格式字節組成的,這些有格式字節 被解釋成機器指令(正文)、數據和棧區。可以有幾個進程是一個程序的實例,一個 進程遵循着一個嚴格的指令序列執行,這個指令序列是自包含的,不會跳轉到其他進 程的指

原创 數據緩衝區高速緩衝

數據緩衝區高速緩衝 緩衝頭部 一個緩衝區有兩部分組成:一個含有磁盤上數據的存儲數組和一個標識該緩 衝區的緩衝頭部。 一個緩衝區的數據與文件系統上一個邏輯磁盤塊中的數據相對應,並且通過 考察緩衝頭部中的標識字段來識別緩衝區內容。緩衝區

原创 內部網關協議RIP

內部網關協議RIP RIP協議的特點: 1)僅和相鄰路由器交換信息 2)路由器交換的信息是當前本路由器所知道的全部信息,即是自己的路由表 3)按固定的時間間隔交換路由信息 路由表中最重要的信息: 1)到某個網絡的最短距離 2)應經過的下

原创 集線器、交換機、路由器、網關

集線器(HUB)  集線器就是將網線集中到一起的機器,也就是多臺主機和設備的連接器。集線 器的主要功能是對接收到的信號進行同步整形放大。集線器在OSI/RM中的物理層。 集線器的基本功能是信息分發,它把一個端口接收的所有信號向所有端口分發

原创 二叉排序樹的相關操作

二叉排序樹 定義: 1)若它的左子樹非空,則左子樹的所有節點都小於它的根節點; 2)若它的右子樹非空,則右子樹的所有節點都小於它的根節點; 3)它的左右字數也分別爲二叉排序樹。 二叉排序樹的創建和插入節點 代碼實現 int BST_In

原创 哈希表

哈希表 哈希表是一種高效的數據結構。它的最大優點就是把數據存儲和查找和所消耗的 時間大大減少,幾乎可以看成是O(1),而代價是消耗較多的內存。 哈希表的基本原理 哈希表的基本原理是使用一個下標範圍比較大的數組A來存儲元素,設計一個函 數

原创 內核導言之操作系統體系結構

UNIX 操作系統的體系結構 文件子系統使用一個緩衝機制存取文件數據,緩衝機制調節在內核與二級存儲設備之間的數據流。緩衝機制同 塊IO設備驅動程序交互,以便啓動往內核去的數據傳送及從內核來的數據傳送。設備驅動程序是用來控制外圍 設備

原创 創建守護進程的步驟

守護進程編程步驟 1. 創建子進程,父進程退出     所有工作在子進程中進行   形式上脫離了控制終端 2. 在子進程中創建新會話  setsid()函數  使子進程完全獨立出來,脫離控制 3. 改變當前目錄爲根目錄  chdir()

原创 內核導言之文件子系統概貌

文件子系統概貌 索引節點(index node):描述了文件數據在磁盤上的佈局,並且包含諸如文件所有 者、文件存儲許可權和存取時間等其他信息。每個文件都有一個索引節點,都是它可 以有多個名字。索引節點被存儲在文件系統上,當需要操作文件

原创 CSMA/CD 協議

CSMA/CD 協議(載波監聽多點接入/碰撞檢測) 網絡適配器的作用 網絡適配器裏面裝有處理器和存儲器;適配器和局域網之間的通信是通過電纜 或雙絞線以串行的傳輸方式進行的,但是適配器和計算機之間的通信則是通過計算 主板上的IO總線以並行

原创 排序算法(三)

堆排序 堆給人的感覺是一個二叉樹,但是其本質是一種數組對象,因爲對堆進行操作的時候將堆視爲一顆完全二叉樹,樹種每個節點與數組中的存放該節點值的那個元素對應。所以堆又稱爲二叉堆,堆與完全二叉樹的對應關係如下圖所示: 把堆看成一個棵樹,