iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
自我挑戰組

當你凝視linux, linux也在凝視你 系列

趁著鐵人賽期間,想以粗略的方式理解linux kernel的基礎概念

鐵人鍊成 | 共 30 篇文章 | 13 人訂閱 訂閱系列文 RSS系列文
DAY 21

Day21 atomic, memory barrier

前言 昨天講完了最後一天的記憶體管理方法,了解了如何管理匿名分頁 anonymous page,也知道了RMAP為何要存在,以及存在RMAP的好處。 只是前面講...

2021-10-06 ‧ 由 chengchen 分享
DAY 22

Day22 跟著 spinlock 旋轉吧

前言 昨天講完了最基礎的 atomic的資訊,瞭解了 atomic可以保護某個變數的資料正確性,當有多個行程或是執行序想要同時存取對某個變數,利用atomic可...

2021-10-07 ‧ 由 chengchen 分享
DAY 23

Day23 semaphore, mutex

前言 昨天花了很大的篇幅在學習spinlock ,可惜最重要的一部分 queued spinlock,還沒有機會完全參透,希望之後有機會把他弄懂,再回頭把昨天的...

2021-10-08 ‧ 由 chengchen 分享
DAY 24

Day24 read-write lock

前言 昨天講完了 mutex, semaphore ,今天仍要繼續朝著各種不同的 lock前進,昨天講的semaphore,有個明顯的缺點,沒辦法知道在 C.S...

2021-10-09 ‧ 由 chengchen 分享
DAY 25

Day25 RCU 同步機制

前言 前幾天介紹了 mutex, semaphore, spinlock, read-write lock, 這些鎖有著各式各樣的功能,為什麼還要單獨設計一種新...

2021-10-10 ‧ 由 chengchen 分享
DAY 26

Day26 interrupt, exception

前言 終於講完了同步機制,了解到當今電腦為了更多的併行行程,與更多的CPU,在同步機制上做了許多努力,從mutex, semaphore.... 到最後的RCU...

2021-10-11 ‧ 由 chengchen 分享
DAY 27

Day27 interrupt 的處理程序

前言 昨天講完了上半部的考量之後,可以知道上半部就是要追求快速,能盡快把事情處理好交給下半部就是上半部最重要的責任了,下半部負責的中斷處理通常都是比較耗時的工作...

2021-10-12 ‧ 由 chengchen 分享
DAY 28

Day28 softirq, tasklet, workqueue

前言 昨天連滾帶爬的走出了 interrupt的泥淖,希望之後能夠有空把他弄得更清楚,今天要講的東西是下半部的 interrupt處理。 softirq sof...

2021-10-13 ‧ 由 chengchen 分享
DAY 29

Day29 procfs, sysfs, debugfs

前言 講完了複雜了中斷處理,鐵人賽的倒數第二天,要來看看一些虛擬的文件系統了,首先是 procfs 與 sysfs 為什麼這兩個目錄會存在呢?為了是讓調整測試k...

2021-10-14 ‧ 由 chengchen 分享
DAY 30

Day30 file system, inode

前言 時間終於過到了最後一天,昨天看了三個特別的虛擬文件系統,今天就看看實際存在的文件管理系統吧! 在行程運行時需要儲存一些私有資料跟信息,如何管理與檢索這些數...

2021-10-15 ‧ 由 chengchen 分享