原创 操作系統內存詳解

進程的簡單介紹 進程是佔有資源的最小單位,這個資源當然包括內存。在現代操作系統中,每個進程所能訪問的內存是互相獨立的(一些交換區除外)。而進程中的線程可以共享進程所分配的內存空間。 在操作系統的角度來看,進程=程序+數據+PCB

原创 diff & patch 製作及打補丁

生成patch過程: 1. Git branch a 2. git checkout a 3. modify 4. git commit -am 5. git diff master > patch (生成標準patch) 6.

原创 OJ演練--計算下一秒

#include<stdio.h> /* 功能:任意給出一時間,計算下一秒; 原型:void CalcNextSecond(char* pCurrentTime,char* pNextTime); 輸入參數:char* p

原创 tcpdump及wireshark介紹

文章目錄1,tcpdump1.1, tcpdump基本選項1.2, tcpdump過濾條件1.3, tcpdump抓包示例1.4, tcpdump高級過濾包頭2,wireshark分析數據包2.1,tcp三次握手 1,tcpdum

原创 C語言--使用dlopen、dlsym、dlclose運行時裝載動態庫

一個可執行程序可能與多個動態庫有關聯,通常是在程序運行時將必要的動態庫裝載入進程實體(內存中); 另外一種,則是使用dlopen/dlsym/dlclose來動態地將動態庫裝載到當前進程實體中. 簡單點說,就是: 1.dlopen

原创 gdb調試指南

gdb入門指令 gcc -g hello.c //加入調試信息 gdb ./a.out l // list,顯示函數 start // 開始逮捕調試,顯示即將運行的行 n // next,運行到下一行,

原创 linux系統進程狀態查看命令

文章目錄top統計信息進程信息查看進程下的線程信息perf排查導致cpu利用率過高的函數分析程序的cpu cache miss現象ps查看進程佔用的cpu,mem大小查看進程啓動時間 top top命令是Linux下常用的性能分析

原创 C語言--socket、epoll

sockaddr_in 分爲服務器端和客戶端,服務器端監聽端口發來的請求,收到後向客戶端發送一個Hello World,客戶機負責發送消息並打印收到的Hello World. 服務器步驟:建立socket,綁定socket和地址信

原创 rpmbuild及 ./configure && make && gcc學習筆記

文章目錄rpm簡介rpm命令rpmbuild製作rpm包spec文件結構./configure && make && make install rpm簡介 常見的Linux發行版主要可以分爲兩類,類ReadHat系列和類Debia

原创 virtio後端--vhost-user

virtio,vhost,vhost-user 是基於場景和性能而提出的三種 guest 和 host 之間的通信方案,三種方案,各有優劣。 在 vhost 的方案中,由於 vhost 實現在內核中,guest 與 vhost 的

原创 virtqueue:數據結構以及通信機制

何爲前後端–virtio: 說到前後端就要提到virtio,virtio是IBM提出的實現虛擬機內部和宿主機之前數據交換的一種方式,與全虛擬化方式比較(即通過qemu完全模擬設備的方式),性能有了較大的提升。 簡單來講,在virt

原创 OJ演練--合唱隊(dp)

計算最少出列多少位同學,使得剩下的同學排成合唱隊形 說明: N位同學站成一排,音樂老師要請其中的(N-K)位同學出列,使得剩下的K位同學排成合唱隊形。 合唱隊形是指這樣的一種隊形:設K位同學從左到右依次編號爲1

原创 hash表的實現和hash桶的示例(c實現)

hash是以空間換時間的結構,現在空間越來越大,而且對性能要求越來越高的年代,這絕對是值得的。 hash含義就是散列,就是把我們本來想​查找的一大羣結構體數據分散開,更容易查找。一個好的hash函數應該做到對所有元素平均分散排列,

原创 TCP/IP協議棧中各層包頭的分析

文章目錄IP數據包結構(20字節):TCP數據包結構(20字節):wireshark抓包分析1、MAC包頭2、IP包頭3、TCP包頭 IP協議是TCP/IP協議族中最爲核心的協議。它提供不可靠、無連接的服務,也即依賴其他層的協議進

原创 用TestPMD測試DPDK性能和功能

本文介紹了數據平面開發工具包(DPDK)TestPMD應用程序,展示瞭如何構建和配置TestPMD, 以及如何用它來檢查使用DPDK的不同網絡設備的性能和功能。 TestPMD是一個使用DPDK軟件包分發的參考應用程序。其主要目的是在