原创 操作系統 — 線程和fork

線程和fork對於fork相信大家都已經熟悉的不能再熟悉了! 我們最近學習到了線程,我們都知道了新創建的線程可以訪問進程的地址空間,並且繼承調用線程的浮點環境和信號屏蔽字.線程中都可以訪問到進程的分別有: 1.文件描述符表 2.每種信號的

原创 linux — 淺析文件描述符 文件表項 v節點表項

淺析文件描述符 文件表項 v節點表項符文件描述符在Linux編程裏隨處可見,設備讀寫,網絡通信,進程通信. 可是文件描述符到底是什麼? 文件描述符是一個簡單的整數,用以標明每一個被進程所打開的文件和socket. 第一個打開的文件時0,第

原创 操作系統 — 競爭條件

競爭條件當多個進程都企圖對共享數據進行某種處理,而最後的結果又取決於進程運行的順序時,我們認爲發生了競爭條件. 如果fork之後的某種邏輯顯示或者隱式的依賴於在fork之後是父進程先運行還是子進程先運行,那麼fork函數就會使競爭條件活躍

原创 操作系統 — 文件系統

文件系統在unix文件系統是unix系統的心臟部分,提供了層次結構的目錄和文件.文件系統將磁盤空間劃分爲每1024個字節爲一組,稱爲塊(也有用512字節)爲一塊的.編號從0到整個磁盤空間的最大塊數.在unix當中,之前我們在文件描述符 文

原创 操作系統 — 捕捉信號

捕捉信號從上篇淺析信號中我們瞭解到信號機制是進程之間相互傳遞消息的一種方法,信號全稱爲軟中斷信號,也有人稱作爲軟中斷. 從它的命名可以看出來它的實質和使用和中斷非常相似,所以,信號也可以說是進程控制的一部分.軟中斷信號用來通知進程發生了異

原创 操作系統 — 淺析條件變量

淺析條件變量Single UNIX Specification目前定義了條件變量的兩個屬性:進程共享屬性和時鐘屬性. 條件變量的作用用於多線程之間關於共享數據狀態變化的通信. 當一個動作需要另外一個動作完成時才能進行時. 也就是說:當一個

原创 操作系統 — 信號量 記錄鎖 互斥量之間的區別

信號量 記錄鎖 互斥量之間的區別如果多個進程間共享一個資源,則可以使用這三種技術中的一種來協調訪問. 我們可以使用映射到兩個進程地址空間中的信號量,記錄鎖或者互斥量. 對於這三種技術兩兩之間在時間上的差別進行比較是有益的.若使用信號量,則

原创 GIT — github的代碼上傳成功但是不顯示綠格子解決方案

github的代碼上傳成功但是不顯示綠格子解決方案這個問題可算是困擾了我很久很久,之前一直都是隻有創建了一個倉庫綠格子纔會亮,然後創建倉庫之後所有往這個倉庫提交的代碼,綠格子就完全不會亮,這個就讓我很頭疼. 之前一直聽說是因爲綁定郵箱錯誤

原创 C語言總結 — 知識點導論圖

 C語言知識點導論圖上圖相應的知識點我大多都會有一篇關於此知識點介紹更多的博客,如果概念不是很清楚,可以從C語言專欄進去尋找相應博客. 還有由於上轉圖片有限制所以字體來說,不是很清楚,如果需要原圖的話留下郵箱 我給大家發送~  如果有哪些

原创 網絡基礎 — 淺析IP/TCP協議分片

淺析IP/TCP協議分片首先我們需要知道一個概念,MTU是鏈路層中的網絡對數據幀的一個限制,以以太網爲例,MTU爲1500個字節. 一個IP數據報在以太網中傳輸,如果它的長度大於該MTU值,就要進行分片傳輸,使得每片數據報的長度小於MTU

原创 STL — hash_map/hash_set源代碼剖析

 hash_map/hash_set源代碼剖析雖然STL只規範複雜度與接口,並不規範實現方法,但STL set多半以RB_Tree. SGI 則是在 STL標準之外另又提供了一個所謂的hash_set,以hashTable的底層機制. 由

原创 網絡基礎 — TCP粘包淺析

TCP粘包淺析粘包問題其實呢還是很容易理解的,從緩衝區來看,後一包的數據的頭部緊接着前一包數據的尾部,使得接收方不能準確的讀取一包數據,也就是接收方多讀或少讀一包數據所造成的現象就是粘包現象. 粘包問題只會在TCP的長連接時纔可能發送,因

原创 操作系統 — 淺析信號

淺析信號首先每個信號都有一個名字,這些名字都以3個字符SIG開頭.例如,SIGABRT是夭折信號,當進程調用abort函數時產生這種信號.SIGALRM是鬧鐘信號,由alarm函數設置的定時器超時後將產生這種信號. 信號的種類是非常龐大的

原创 操作系統 — 淺析硬鏈接和軟鏈接

 淺析硬鏈接和軟鏈接上一篇我們瞭解到文件系統,我們瞭解到文件系統的結構包括超級塊,inode節點,以及數據塊, 其中inode節點包含了inode數組,數組當中存在許多的inode節點.然後每一個文件或者目錄都有自己對應的inode,其中

原创 C++小項目 — 基於huffman壓縮算法的文件壓縮項目

基於huffman壓縮算法的文件壓縮項目 今天我們來看看一個小項目基於huffman壓縮算法的文件壓縮項目.這個項目很簡單就是使用我們自己實現的堆和huffman樹,然後開始着手來對文件裏 面的內容進行一系列操作! 所以我總結