原创 OSI模型;TCP/IP

OSI七層模型 從下到上:物理層,數據鏈路層,網絡層,傳輸層,會話層,表示層,應用層 物理層:主要定義物理設備標準,比如網線的接口類型,各種傳輸介質的速率。主要傳輸的是比特流(I/O轉換爲電流強弱來傳輸,傳到目的地再由電流轉換爲I/O)

原创 內存池,進程池,線程池

內存池 在使用new、malloc在堆區申請一塊內存的時候,由於每次申請的內存大小不一樣就會產生很多內存碎片,不好管理和浪費。 內存池則是在真正使用內存之前,先申請分配一定數量的、大小相等的內存塊留作備用。當有新的內存需求時,就從內存池中

原创 nginx的多進程模型

nginx的多進程模型 nginx也支持多線程模型,但是多進程模型有更多的優勢,默認是多進程模型 nginx在啓動後會有一個master進程和多個worker進程。master進程主要用來管理worker,包含接受來自外界的信號,向個wo

原创 系統調用和庫函數調用的區別

系統調用:sci,,位於內核空間,實際上是一個非常有用的函數調用多路複用和多路分解服務。一般是由c和彙編混合編寫實現,接口用c來定義,具體實現則是彙編,執行效率高,方便上層調用。 庫函數調用:庫函數分爲兩類:一類是隨着操作系統提供的,一類

原创 起航

5月22日2016年,這個月很重要,重要的原因來與時間對我很緊迫。然而,面對時間的緊迫,我還是選擇了博客這種方式來總結我的知識點。因爲我口頭表達能力

原创 linux內核剖析

總結一下最近對linux內核的淺在瞭解,主要從兩個方面:Linux操作系統的體系架構和子系統 Linux操作系統的體系架構主要分爲用戶空間和內核空間 用戶空間包括:包含glibc,提供了連接內核的系統調用接口,還提供了用戶空間應用程序和內

原创 ASN1之DER編碼規則

在說DER之前先了解一個概念,數據的序列化。 什麼是數據的序列化呢,將高級語言代碼轉變成二進制流的過程就是數據的序列化。數據序列化的目的就是物理存儲和網絡傳輸。在高級語言中有許多結構化的結構,比如,樹,圖,結構體等,高級語言裏的代碼最終在

原创 OpenDDS之DDS學習筆記

    DDS:data distribution service數據分發服務     DDS信息發佈中間件是一種輕便的、能夠提供實時信息傳送的中間件技術。DDS中間件是一個軟件層,從操作系統、網絡傳輸和底層數據格式的細節中抽象出應用。相

原创 區塊鏈hyperledger fabric架構詳解

hyperledger fabric是區塊鏈中聯盟鏈的優秀實現,主要代碼由IBM、Intel、各大銀行等貢獻,目前v1.1版的kafka共識方式可達到1000/s次的吞吐量。本文中我們依次討論:區塊鏈的共通特性、fabric核心概念、fa

原创 區塊鏈相關名詞

公鑰:包含數字證書,相當於賬號,全網每個節點都有一個公鑰,別人付錢時都是付給這個公鑰 私鑰:相當於賬號的身份證明,可以解開公鑰加密的數據(驗證簽名),說明付款方式確實是你。 節點:節點之間發生的支付就是交易。 區塊:一段時間內所有的交易會

原创 nginx源碼剖析之內存池與內存管理

Nginx源碼剖析之內存池,與內存管理 作者:July、dreamice、阿波、yixiao。 出處:http://blog.csdn.net/v_JULY_v/。 引言         Nginx(發音同 eng

原创 nginx的事件處理

NGINX的網路事件通過異步阻塞很好的處理 nginx的信號處理 對於nginx來說,如果nginx正在等待事件epoll_wait時,如果程序收到信號,在信號處理函數處理完後,epoll_wait會返回錯誤,然後程序可再次進入epoll

原创 用戶棧和內核棧的區別

用戶棧和內核站的區別 內核棧:內存中屬於操作系統空間的一塊區域 作用:1保存中斷現場,對於嵌套中斷,被中斷程序的現場信息一次壓入系統棧,中斷返回時逆序彈出    2保存操作系統程序相互調用的參數,返回值,以及函數的局部變量 用戶棧是用

原创 死鎖的常見問題

1.死鎖的概念: 多個線程在執行態中因爭奪資源造成的一種僵局,若無外力將一直保持這種狀態,這些永遠互相等待的進程稱爲死鎖進程 2.造成死鎖的四個必要條件 1)互斥條件:進程對所分配到的資源進行排他性使用,即在一個時間段內某資源只能被一個進

原创 NGINX的高併發處理

NGINX的worker搶佔機制 在master裏面,先建立需要lfd,然後fork出多個worker進程,當用戶進入nginx服務的時候,每個worker的lfd變的可讀,並且這些worker會搶佔一個accept_mutex的鎖,一個