原创 Linux操作系統--內核同步方法

1、原子操作 2、自旋鎖:短時間內輕量級加鎖。 自旋鎖的特點:1、自旋鎖保護的臨界區不能進入休眠;2、自旋鎖保護的臨界區能被中斷中斷;3、自旋鎖保護的臨界區代碼執行時不內核不能被搶佔;4、可以在中斷上下文中使用(需要禁止本地中斷)。【不能

原创 學習習慣

1、看視頻、看書都要做筆記,下次回顧知識點,就可以只看筆記,回看視頻費時間。 2、任何數據當時歸檔整理好,下次能方便節省時間找到  

原创 Linux終端使用快捷鍵

1、shift+pgup 向上翻頁 2、Ctrl+r  快速匹配歷史命令  【常用】

原创 Linux系統編程--第二章 文件IO

1、內核爲每個進程維護一個打開的文件列表,列表中的每一項都包含一個指向文件本分iNode內存拷貝的指針和元數據。 2、子進程會默認或得一份父進程的文件列表拷貝,每個進程按照慣例會有三個打開的文件描述符。0標準輸入,1標準輸出,2標準錯誤。

原创 Linux學習路徑參考

     

原创 Linux系統編程--第一章系統編程簡介和主要概念

1.1.1系統調用:通過執行int中斷深入內核。i386爲例:中斷號0x80,系統調用的參數通過寄存器傳遞。 1.2.1 API:應用程序接口:保證源碼調用相同的接口,具體實現可以隱藏。 1.2.2 ABI: 應用程序二進制接口:保證二進

原创 ARM體系結構--第五章ARM存儲系統

5.2 CP15: ARM存儲管理系統的系統控制協處理器 包含:16個32位寄存器。 【重點關注】C2寄存器:類似於X86中的cr3寄存器,保存進程頁全局目錄表的基地址 MMU:內存管理單元 主要工作:把虛擬地址映射到物理地址;存儲器訪

原创 深入理解Linux內核-第八章內存管理

頁框管理: 頁描述符:描述頁框的狀態,所有的頁描述符存儲在mem_map數組中。每個描述符長度爲32字節。 內存區管理:(X86結構爲例) zone_DMA:包含低於16MB的內存頁框 zone_NORAML:包含16MB--896MB的

原创 常用的通信協議

總線 串並口 同步/異步 速率 工作方式 線數 拓撲 通信距離 UART 串 異步 慢 全雙工 2線 458支持總線型 遠 USRT               I2C 串 同步 慢100K、400K 半雙工 2線 總線型 近 SPI 串

原创 ARM體系結構--第一章

1、ARM處理器有兩種工作狀態,7種工作模式 2種狀態: ARM指令狀態:32位指令 Thumb指令狀態:16位指令 【補充】調試狀態 7種工作模式: 用戶模式:正常程序運行模式,不能直接切換到其他模式 系統模式:運行操作系統特權級別的任

原创 深入理解Linux內核-第二章內存尋址

內存尋址     內存尋址         邏輯地址:(段:偏移量)         線性地址:也稱虛擬地址         物理地址         CPU的內存控制單元先將邏輯地址轉換爲線性地址(分段單元); 然後將線性地址轉換爲物理

原创 C語言程序運行的地址空間

1、轉載參考:https://www.cnblogs.com/wuchanming/p/4339770.html

原创 編程中的負數取餘問題

轉載:http://ceeji.net/blog/mod-in-real/ 1、餘數可能是負數,不能使用  x%2==1   判斷整數x是否是奇數!!!,應該使用  x%2  != 0判斷x不是偶數 2、結論 對於任何同號的兩個整數,取餘

原创 VIM隨筆

用於後期回顧 一:同時閱讀多個文件 1、分割vim,打開兩個文件   上下分割【命令行:split 】   左右分割【命令行: vsplit】 2、在上下窗口之間切換  【快捷鍵 ctl + w +方向鍵/hjkl】 3、在vim中打開文

原创 Makefile文件--筆記(雜亂)

1、基本大全教程:https://blog.csdn.net/weixin_38391755/article/details/80380786#commentBox 2、=  :=  ?=  +=四個賦值的區別: = 是最基本的賦值 :