原创 【Linux】PCB中的task_struct結構體

task_struct結構體 task_struct是進程控制塊PCB中的一個結構體,用來存儲進程的各種屬性信息 這裏面有進程狀態,進程調度,進程標識符,進程通信,進程鏈接,時間和定時器,文件系統,虛擬內存信息以及頁面管理信息,對稱多處理

原创 【Linux】IPC通信之信號量

什麼是信號量 信號量本質是一個數據操作鎖,本身並不可以進行數據的通信。而是通過其他資源進行進程間的通信,本身是一種外部標識符。 信號量在此操作中負責數據的同步、互斥等功能 信號量的作用 爲了防止多個線程同時訪問同一個臨界資源導致的一系列問

原创 【Linux】GDB調試多線程和多進程以及Core文件

GDB調試器 基本概念 GDB是GNU開源組織發佈的一個強大的UNIX下的程序調試工具。或許,各位比較喜歡那種圖形界面方式的,像VC、BCB等IDE的調試,但如果你是在UNIX平臺下做軟件,你會發現GDB這個調試工具有比VC、BCB的圖形

原创 【Linux】生產者消費者模型介紹

基本概念 說起生產者消費者模型,我們將該模型理解爲商店的供貨者和前來購買商品的消費者。 他們需要通過商店提供的緩衝區(貨架)來進行貨物的擺放和購買。 假設沒有這個貨架,那麼生產者只能生產一個商品,直到等到消費者購買後,纔可以進行生產,這樣

原创 【Linux】進程間的關係以及終端的概念

進程間關係 進程組 每個進程都有自己的進程ID,除此之外,每個進程也都屬於一個進程組。 進程組是一個進程或者多個進程的集合。 通常他們和同一個作業有聯繫,可以接受來自同一個終端的信號。 每一個進程組都有一個組ID,這個ID就是該進程組組長

原创 【Linux】NAT技術介紹以及代理服務器

NAT 基本概念 NAT英文全稱是“Network Address Translation”,中文意思是“網絡地址轉換”,它是一個IETF(Internet Engineering Task Force, Internet工程任務組)標準

原创 【網絡】arp協議介紹以及Shell腳本進行arp的編寫

ARP協議 基本概念 地址解析協議,即ARP(Address Resolution Protocol),是根據IP地址獲取物理地址的一個TCP/IP協議。 主機發送信息時將包含目標IP地址的ARP請求廣播到網絡上的所有主機,並接收返回消息

原创 【Linux】線程安全和可重入函數

線程安全 所謂線程安全,就是當多個線程訪問同一個數據時,不會造成數據出錯。其實它是採用了加鎖的機制來保證在一個線程訪問該數據時,其他的線程不可以訪問,直到等到那個線程訪問結束纔可以訪問。而線程不安全,就是沒有采用加鎖的機制來保證這一點。測

原创 【Linux】信號的基本概念

什麼是信號 生活中有各類的信號,就拿簡單的例子來說吧,上下課的鈴聲,它可以提示我們哪個時間該上課或者下課。但是當我們收到上課鈴聲的信號後,到底是去上課,還是去玩,這就是看自己的決定方式了。這就表明我們可以忽略該信號,但是我們是知道該信號的

原创 【Linux】IPC通信之共享內存

共享內存概念 共享內存指的是,在多處理器的計算機系統中,可以被不同的CPU訪問大量內存。由於多個CPU需要快速訪問存儲器,所以必須對存儲器進行緩存。在緩存中的數據被更新後,其他處理器也可能要進行讀取,共享內存就需要立即更新,否則不同的處理

原创 【Linux】死鎖概念總結

什麼是死鎖 如果一組進程(或者線程)中的所有進程(或者線程)都在等待該組中其他進程(或者線程)才能引發的事件,那麼這組進程(或者線程)就是死鎖的 死鎖出現的情況舉例 (1)線程自鎖,自己將自己鎖住 當進程(線程)第一次訪問一個資源時,對該

原创 【網絡】TCP報文中的PSH和URG字段的介紹

TCP協議 TCP報文格式 源端口和目的端口 各自佔用兩個字節,用來表示主機中的通信進程。端口號和IP組合即爲套接字 序號 也叫發送序號,TCP將發送的每一個數據流都進行了編號,整個數據的起始序號在開始連接的時候設置 確認序號 指接受主

原创 【Linux】守護進程

守護進程基本概念 守護進程,又稱爲精靈進程。它是在後臺運行的一種特殊的進程。它獨立於控制終端而完成某種獨立的任務或等待處理某些發生的事件。 守護進程的特點 普通進程是由用戶進行創建,在運行結束或者用戶註銷後便會終止; 而守護進程不受用戶登

原创 【Linux】信號的阻塞和遞達

幾個基本概念 信號未決:從信號的產生到信號遞達的這段時間中的狀態,稱爲信號未決 信號遞達:收到信號,進行信號的處理 信號阻塞:阻塞一種信號後,這種信號將永不遞達;只有解除阻塞纔可以遞達 易錯點:信號阻塞和信號忽略的概念 信號忽略指的是收到

原创 【網絡】端口相關概念介紹

端口 基本概念 "端口"是英文port的意譯,可以認爲是設備與外界通訊交流的出口。 端口的分類 硬件端口 硬件方面的端口,又稱爲接口。代表的有USB端口以及串行端口等。 軟件端口 軟件領域的端口主要指的是面向連接的服務以及面向無連接的服務