原创 (七)進程通信(本機IPC)

目錄 1. 無名管道      1.1 無名管道的通信原理  1.2 無名管道的API 1.2.1 函數原型 1.2.2 無名管道特點 1.2.3 父子進程通信 1.3 無名管道有兩個缺點 1.4 什麼時候合適使用無名管道呢 2. 有名管

原创 (二)系統初始化

目錄 x86架構概述 計算機的工作模式 8086處理器原理 32位處理器 系統交互 常用匯編指令 從BIOS到bootloader BIOS 時期 bootloader 時期 從實模式切換到保護模式 kernel.img 運行 啓動過程總

原创 (三)DPDK-Core Libraries

  環形緩衝區管理(librte_ring) 簡介 dpdk的無鎖隊列ring是借鑑了linux內核kfifo無鎖隊列。ring的實質是FIFO的環形隊列。 ring的特點: 無鎖出入隊(除了cas(compare and swap)

原创 (四)DPDK-PMD

Ethernet controller overview   PHY (物理層的模擬信號)  ----> MAC(數字信號) ---->FIFO(buff 先進先出)----> DMA&Queue mangement  (維護管理多個Q

原创 (二)DPDK-OverView

目錄 DPDK-概述 DPDK是什麼 DPDK特點  DPDK的優劣 DPDK架構 DPDK框架 環境適配層EAL 核心組件 以太網輪詢驅動架構PMD 報文轉發算法支持 網絡協議庫(librte_net) DPDK-概述 DPDK是什麼

原创 (五)DPDK-skeleton/basicfwd

學習這個例子用於理解單純的 dpdk 轉發過程,L2 和 L3 的轉發是基於此:在rte_eth_rx_burst()收包後進行解包,提取 mac、ip 等信息然後在轉發到輸出網卡。 main 函數  main函數的內容: 初始化

原创 (二)文件屬性

我們通過ls查到就是文件屬性,只不過ls只顯示了部分文件屬性。 Table of Contents 1.涉及到的OS API 2.文件類型 2.1 文件的7種類型 2.2 如何判斷文件的類型  3、獲取文件屬性的函數,stat、lstat

原创 (六)信號

目錄 1. 信號 1.1 什麼是信號 1.2 信號的命名  1.3 誰會向進程發送信號 1.4 進程收到信號後,進程會如何處理 1.5 都有哪些信號 1.5.1 信號列表 1.5.2 常用信號 2. signal函數 函數原型 調用捕獲函

原创 (四)進程環境

Table of Contents 0.那麼進程所需的運行環境有哪些? 1. 啓動代碼  1.1 啓動代碼的作用 1.2 啓動代碼是由誰提供的 (1)啓動代碼一般都是由編譯器提供的,一般有兩種提供方式 (2)gcc -v 1.3 啓動代碼

原创 (零)DPDK-基礎概念

CPU 中的內存結構  CPU 和各級緩存、內存、硬盤之間的關係  緩存一致性: 目前結構每個core都會持有自己私有的L1/L2 Cache, 但 L3 cache是所有core共有的. 那麼就存在一個cache一致性的問題 

原创 (零)網絡基礎知識

       

原创 (零)操作系統基礎

目錄​ 進程管理   (1)應用程序如何運行與OS上的 (2)什麼是進程 (3)進程控制 1)爲什麼要進行進程控制 2)控制做些啥事情 3)多進程併發運行 4)進程控制信息(PCB) 5)進程的運行狀態 6)有關進程調度 8)進程通信 

原创 (八)C線程

1.線程爲什麼能彌補進程的缺點 爲什麼線程切換的開銷很低 但是使用多線程來實現多線任務時,由於線程本質上它只是程序(進程)的一個函數,只不過線程函數 與普通函數的區別是,普通函數時單線的運行關係,而線程函數被註冊爲線程後,是多線併

原创 (六)DPDK-l2fwd

 概述 在計算機網絡中,二層是鏈路層,是以太網所在的層,識別的是設備端口的MAC地址。 DPDK作爲用戶態驅動,主要的目的也就是不需要讓報文經過操作系統協議棧而能實現快速的轉發功能。 網卡驅動在二層上的作用就是根據設定的目的端口,轉發報

原创 面試題36. 二叉搜索樹與雙向鏈表 面試題37. 序列化二叉樹

 面試題36. 二叉搜索樹與雙向鏈表 遞歸實現 問題:棧溢出:   [28,-98,67,null,-89,62,null,-97,-25,null,64,null,null,-72,-9,null,null,-88,-41,null,