原创 堆的應用

優先級隊列      優先級隊列(priority queue) 是0個或多個元素的集合,每個元素都有一個優先權,對優先級隊列執行的操作有查找,插入一個新元素 ,刪除。 一般情況下,查找操作用來搜索優先權最大的元素,刪除操作用來刪除該元

原创 epoll的高效實現原理

epoll的高效實現原理原文地址:http://blog.chinaunix.net/uid-17299695-id-3059110.html開發高性能網絡程序時,windows開發者們言必稱iocp,linux開發者們則言必稱epoll。

原创 代理服務器工作原理

(1) 代理服務原理 代理服務器有很多種,大體來說有http,ftp,socks代理三種,其中又分透明代理和不透明代理。其中透明代理一般是網關,是硬件。所以這裏討論不透明代理。 當機器通過代理服務器上網時。通訊是分兩次的,先是機器和代理服務

原创 死鎖產生的四個必要條件及如何避免死鎖

在多道程序系統中,由於多個進程的併發執行,改善了系統資源的利用率並提高了系統 的處理能力。然而,多個進程的併發執行也帶來了新的問題——死鎖。所謂死鎖是指多個進程因競爭資源而造成的一種僵局(互相等待),若無外力作用,這些進程都將無法向前推進。

原创 關於進程和線程的知識點彙總

進程與程序的區別與聯繫1) 進程是程序及其數據在計算機上的一次運行活動,是一個動態的概念。進程的運行實體是程序,離開程序的進程沒有存在的意義。從靜態角度看,進程是由程序、數據和進程控制塊(PCB)三部分組成的。而程序是一組有序的指令集合

原创 進程調度算法

一、進程調度的任務(1)保存處理機的現場信息。在進行調度時首先要保存當前的處理機的現場信息。(2)按某種算法選取進程。調度程序按某種算法選取進程,將其狀態改爲運行狀態,並準備把處理機分配給它。(3)把處理機分配給進程。由分派程序把處理機分派

原创 linux篇——centOs下的vim配置

一、配置vim的好處    進行vim配置,可以讓我們在後續敲代碼更加方便。按F5可以直接編譯並執行C、C++代碼以及執行shell腳本;按“F8”可進行C、C++代碼的調試;“Ctrl + A”爲全選並複製快捷鍵,方便複製代碼;按“F2”

原创 進程控制塊PCB結構 task_struct 描述

注:本分類下文章大多整理自《深入分析linux內核源代碼》一書,另有參考其他一些資料如 《linux內核完全剖析》、《linux c 編程一站式學習》等,只是爲了更好地理清系統編程和網絡編程中的一些概念性問題,並沒有深入地閱讀分析源碼,我

原创 LoadRunner腳本增強之關聯

關於Loadrunner關聯一、什麼時候需要關聯 1.關聯的含義        關聯(correlation):在腳本回放過程中,客戶端發出請求,通過關聯函數所定義的左右邊界值(也就是關聯規則),在服務器所響應的內容中查找,得到相應的值,已

原创 I/O多路轉接之select

I/O多路轉接之select(只負責等)系統提供select函數來實現多路複用輸入/輸出模型。傳向select的參數告訴內核:1)我們所關心的文件描述符。參數nfds是需要監視的最大的文件描述符值+1; 2)對每個描述符,我們所關心的狀態。

原创 線程安全和可重入函數的區別與聯繫

線程安全:    一般來說,一個函數被稱爲線程安全的,當且僅當被多個併發線程反覆調用時,它會一直產生正確的結果。就是多線程訪問時,採用了加鎖機制,當一個線程訪問該類的某個數據時,進行保護,其他線程不能進行訪問直到該線程讀取完,其他線程纔可使

原创 select、poll、epoll之間的區別總結

select、poll、epoll之間的區別總結[整理]   select,poll,epoll都是IO多路複用的機制。I/O多路複用就通過一種機制,可以監視多個描述符,一旦某個描述符就緒(一般是讀就緒或者寫就緒),能夠通知程序進行相應

原创 Linux——學習篇(二)之find命令

Linux中的find命令:   對於Linux而言,有着“一切皆文件”的這一特性,所以相比較windows而言對於文件沒有後綴名,查找是並不輕鬆的的。因此,需要我們熟悉Linux下的find命令,更快地找到我們所需要的文件。  1. 命令

原创 Linux信號機制與信號處理

信號(signal)是Linux進程間通信的一種機制,全稱爲軟中斷信號,也被稱爲軟中斷。信號本質上是在軟件層次上對硬件中斷機制的一種模擬。與其他進程間通信方式(例如管道、共享內存等)相比,信號所能傳遞的信息比較粗糙,只是一個整數。但正是由於

原创 linux——學習篇(三)之makefile的簡單應用及實現簡單的進度條

一、makefile     make是一個命令,而makefile是一個文件。make命令執行時,需要一個 Makefile 文件,以告訴make命令需要怎麼樣的去編譯和鏈接程序。一個工程中的源文件不計數,其按類型、功能、模塊分別放在若干