原创 進程間通信(消息隊列)

消息隊列:提供了一個從一個進程向另外一個進程發送一塊有類型數據塊的方法。 消息隊列的不足: 每個消息的最大長度是有限的(MSGMAX),每個消息隊列的總的字節點是有上限的(MSGMNB),系統上消息隊列的總數也

原创 進程間通信(共享內存)

共享內存的概念:<沒有同步與互斥機制,生命週期隨內核> 共享內存就是兩個或多個進程佔有一段內存空間,同一塊物理內存空間被映射到兩個進程,兩個進程都可以訪問這段共享空間,從而實現了進程間通信,但其只有數據交換的功能,並沒有提供同步

原创 信號的捕捉及認識競態條件

本節重點: 1.信號的捕捉(內核如何實現信號的捕捉) 2.信號捕捉的相關函數 3.實現mysleep函數(1)、(2改良版) 4.可重入函數的簡單介紹 5.競態條件與sigsuspend函數 —————————————

原创 生產者消費者模型

生產者消費者模型 簡單來說就是“321原則(只是爲了理解生產者消費者模型所取的)” ‘3’代表的是三種關係 生產者與消費者的互斥與同步關係 生產者與生產者的互斥(或競爭)關係 消費者與消費者的互斥(或競爭)關係 ‘2’代表兩

原创 信號的基本概念及產生信號

本節講述重點: 1.信號的基本概念: 2.一些常用的特殊信號的深入瞭解(用代碼呈現) 3.瞭解核心轉儲Core Dump 4.信號的產生方式:(4種)(mykill代碼) 1.信號的基本概念: 首先使用kill -l命令

原创 線程的相關概念及線程控制

本節重點: 1.線程的基本概念,線程與進程的區別與聯繫。 2.線程id與進程id。 3.線程控制(線程創建、線程等待、線程終止)。 4.線程分離。 —————————————————————————————————————

原创 信號的三種狀態及信號集函數

關於信號的基本概念,請看博客:信號的基本概念及產生信號 本節重點: 1.信號的三種狀態 2.信號在內核中的表示(三張表)信號在進程pcb中的表示方法 3.信號集操作函數 —————————————————————————

原创 進程間通信(信號量)

信號量:是一種計數器,代表空閒的可用資源的數目。信號量本身也是臨界資源,對臨界資源進行保護。 由於是用於同步與互斥的,下面來看看同步與互斥的概念。 同步:直接制約關係,指多個進程(或線程)爲了合作完成任務,必須按照規定的次序

原创 守護進程

本節重點: 1.認識守護進程 2.守護進程的相關函數 3.創建守護進程 ———————————————————————————————————————————————— 1.認識守護進程 守護進程:其也稱爲精靈進程,是

原创 SIGCHLD信號與父進程異步等待子進程

阻塞式等待:wait函數,當然waitpid函數當其第三個參數不爲WNOHANG時也是阻塞式等待。 非阻塞式等待:(輪詢的方式):當waitpid函數當其第三個參數爲WNOHANG是非阻塞式等待。 父進程可以阻塞等待子進程結束,

原创 死鎖的相關知識

1. 什麼是死鎖: 死鎖是指兩個或兩個以上的進程在執行的過程中,因爲爭奪資源而造成的一種相互等待的現象,若無外力作用,他們將無法推進下去,此時成系統處於死鎖狀態或系統產生了死鎖。 2.死鎖的原理: 指的是一組

原创 線程同步與互斥。(互斥量與條件變量、Posix信號量)

線程互斥: 所謂互斥:即是間接制約關係,指系統中的某些共享資源,一次只允許一個線程訪問,當一個線程正在訪問該臨界資源時,其它線程必須等待。 mutex(互斥量): 互斥量本身也是一把鎖,提供對資源的獨佔訪問。 大部分情況下,線

原创 grep命令的用法與正則表達式

1. 什麼是grep grep它能使用特定模式匹配(包括正則表達式)搜索文本,並默認輸出匹配行。 grep命令的常用格式爲:grep [選項] ”模式“ [文件] grep家族總共有三個:grep,egrep,fgr

原创 網絡整理一(應用層)

一、應用層的作用: 應用層是體系中最高的一層,直接爲用戶的應用進程(正在運行的程序)提供服務。 二、應用層的相關協議: 應用層的許多協議是基於客戶服務器方式的。客戶是服務請求方,服務器是服務提供方。

原创 fiddler工具的使用場景:

fiddler工具的使用場景: (1)輔助定位bug (2)構建模擬測試場景 (3)APP弱網模擬測試 (4)前端性能分析及優化 1.輔助定位bug 通過fiddler可以抓取request和response,通過對參數進行分析,可以