原创 Linux ubi子系統原理分析

本文思維導圖總綱: 綜述 關於ubi子系統,早已有比較正式的介紹,也提供非常形象的介紹ubi子系統ppt 國內的前輩 alloysystem 不辭辛勞爲我們提供了部分正式介紹的中文譯文,以及找不到原文的轉載譯文 感謝這些資料讓我迅速入門u

原创 Makefile:如何寫目標依賴

本文並不是Makefile的教程,僅是本人學習時的感悟。 Makefile的基本格式 目標:依賴文件(or 目標) [tab]命令 目標: 是要生成的或操作的命令的索引 依賴: 是生成目標依賴的文件或目標 命令: 是爲了生成目標需要執行的s

原创 Makefile: (實驗) 目標命令的結束標誌

實驗表示測試出來的結論,沒有代碼理論依據 Makefile中,目標對應的命令結束標記是什麼呢?換句話說,Make中怎麼判斷目標的最後一條命令? 例如常見的目標編寫如下: test1: echo "test1" echo "t

原创 sed: unix與doc換行的轉換

在Linux (Unix)平臺下回車換行以\n表示 在Window平臺下回車換行以\r\n表示 兩者的差異導致了: 在window下看Linux的文本排版全亂 在Linux在看Window的文本則是存在^M的特殊字符 那麼,如何在Linux

原创 Makefile:(實驗)多個目標匹配時會採用最完整匹配的目標

結論源自實驗測試,如果有疏漏希望指出 當Makefile中存在多個匹配的目標時,Makefile會採用哪個匹配的目標呢? 測試的Makefile如下: .PHONY: all clean quick_sort all: quick_sor

原创 Linux Shell中管道的原理及C實現框架

在shell中我們經常用到管道,有沒考慮過Shell是怎麼實現管道的呢? cat minicom.log | grep "error" 標準輸入、標準輸出與管道 我們知道,每一個進程都有3個標準的輸入輸出文件描述符 描述符編號 簡介

原创 線程調度爲什麼比進程調度更少開銷?

線程調度爲什麼比進程調度更少開銷? 在對比進程調度與線程調度的開銷前,我們需要明白兩點: 進程與線程的差異 任務調度的開銷 進程與線程的差異 我們首先要明白,線程和進程有什麼關係?從概念上來講,線程是進程的一部分,只是任務調度相關的部分

原创 標準文件描述符與標準文件句柄

本文並非闡述文件描述符與文件句柄的異同,而是標準 這是怎樣的標準呢? fork創建一個進程,規定默認存在3個文件描述符,分別是 描述符編號 簡介 作用 0 標準輸入 通用於獲取輸入的文件描述符 1 標準輸出 通用輸出普通

原创 關於makefile中自動產生依賴的理解

本博文是在學習了《GNU Make中文手冊》後記錄下來的自己的關於自動產生makefile依賴的語句的理解,向大家分享。 《GNU make中文手冊》中的相關章節見一下鏈接: http://blog.csdn.net/gmpy_tiger/

原创 makefile中重載與取消隱藏規則示例

學習《跟我一起寫Makefile-陳皓》後一直不懂,如何重載或取消隱藏規則 爲了博客版面整潔,何爲隱藏規則,Makefile基本規則編寫等基礎支持請自行百度。 需要聲明的是:這些知識可能在大牛們看來很淺顯,百度找到的博客基本都是複製《跟我一

原创 關於邏輯地址、線性地址、虛擬地址、物理地址的理解

最近在看《深入理解Linux內核》,在第二章《內存尋址》中提到了邏輯地址、線性地址、虛擬地址、物理地址的概念。 原文是這麼描述的: 邏輯地址(logical address): 包含在機器語言指令中用來指定一個操作數或一條指令的地址。這種尋