原创 路由表的建立和形成

      以下內容可翻閱第六版謝希仁版的《計算機網路》和《路由與交換技術》書查看具體協議信息 首先路由表有以下幾項形成 •網絡號 •下一跳地址 •接口 •Metric:跳數、延遲、費用 例如: 路由表項 †特定主機路由 „前綴長

原创 淺談對協程的理解

首先我瞭解了在linux下線程是輕量級進程,那麼我要告訴你,協程是一種用戶態的輕量級線程。         從硬件發展來看,從最初的單核單CPU,到單核多CPU,多核多CPU,似乎已經到了極限了,但是單核CPU性能卻還在不斷提升。serv

原创 查找一個字符串中第一個只出現兩/一次的字符

題目:查找一個字符串中第一個只出現兩/一次的字符 一、查找一個字符串中第一個只出現兩次的字符。 比如:“abcdefabcdefabc”中第一個只出現兩次爲‘d’,要求時間複雜度爲O(N),空間複雜度爲O(1)。 分析問題: 方法1、O(

原创 生產者—消費者模型

首先介紹下單個生產者和消費者模型 首先創建一個環,環分爲無數格子,其規則是:     消費者永遠追不上生產者     生產者永遠追不上消費者,更別說套圈   形成兩類角色,一個環形buf 假設有n個格子    :生產者的範圍是[n,0]

原创 三次握手和四次揮手

TCP三次握手建立連接 第一次握手 A 的TCP 向B 發出連接請求報文段,其首部中的 同步位SYN = 1,並選擇序號seq = x,表明傳送 數據時的第一個數據字節的序號是x。 第二次握手 .B 的TCP 收到連接請求報文段後,

原创 Makefile經典教程

該篇文章爲轉載,是對原作者系列文章的總彙加上標註。 支持原創,請移步陳浩大神博客: http://blog.csdn.net/haoel/article/details/2886 makefile很重要       什麼是ma

原创 TCP首部中的URG和PSH的區別和聯繫

1、URG推送位 緊急數據的起始點=序號; 緊急數據的終止點=序號+緊急指針; (綜上,緊急指針就是記錄緊急數據的字節數,緊急指針永遠爲正數) 1)在緊急數據後面的數據爲普通數據,需要按序緩存 2)窗口爲0也可以發送緊急數據 3)緊急數

原创 CRC校驗

  奇偶校驗碼(PCC)只能校驗一位錯誤,循環冗餘校驗碼(CRC)的檢錯能力更強,可以檢出多位錯誤 1. CRC校驗原理     CRC校驗原理看起來比較複雜,其根本思想就是先在要發送的幀後面附加一個數(這個就是用來校驗的校驗碼,但要注意

原创 瞭解身邊的超線程、雙核、雙cpu

一、從三者的工作原理和概念理解:     (1)超線程(HT):     超線程(Hyperthreading Technology)技術就是通過採用特殊的硬件指令,可以把兩個邏輯內核模擬成兩個物理芯片,在單處理器中實現線程級的並行計算,

原创 劍指offer--指定鏈表逆序打印

    題目:輸入一個鏈表,從尾到頭打印鏈表每個節點的值。            首先分析這個題,如果面試官沒有指定說明不允許改變鏈表結構,首先會想到的是將鏈表的頭部和指針方向改變,但如果面試官說了不能改變鏈表結構,就得考慮別的方法,此

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

•概念 重入:即重複調用,函數被不同的執行流調用,有可能會出現第一次調用還沒返回時就再次進入該函數開始下一次的調用。 可重入:當程序被多個線程反覆執行,不會對其結果產生影響(產生的結果正確)。      如果一個函數只訪問自己的局部變量或

原创 劍指offer--判斷規則二維數組是否存在一個指定數

題目:在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。 分析:從左至右遞增、從上至下在遞增       可以以左下角的

原创 NAT技術

一、概述      NAT技術,又名爲網絡地址轉換。該技術產生的原因:IPv4地址危機,在Internet上應用廣泛的IPv4技術,由於其先天性不足,在九十年代初期時,已經預計到了IPv4地址不足,從而開始開發IPv6技術。但開發IPv6

原创 創建守護進程爲什麼fork兩次

      守護進程(daemon進程)是後臺守護進程,有時候也叫精靈進程(agent).linux 下server都是daemon進程。 其特點是:   1)其父進程是一號進程,通常以d結尾   2)在後臺運行,獨立於終端,週期性的以某

原创 linux內存映射函數mmap

             內存映射,簡而言之就是將用戶空間的一段內存區域映射到內核空間,映射成功後,用戶對這段內存區域的修改可以直接反映到內核空間,同樣,內核空間對這段區域的修改也直接反映用戶空間。那麼對於內核空間<---->用戶空間兩者