jollen.org

Jollen 的 Blog
Jollen's email: jollen # jollen.org
more:  Jollen's Training

一篇有關 Reentrant Code Program (可重覆進入程式碼) 的文章

.作者:jollen/
.日期:September 20, 2006 10:12 PM


"Reentrant Code" 是 embedded system 相關教科書很重要的一個主題,學習 Linux 驅動程式的學員也一定了解到這個主題的重要性。

由於 Linux 驅動程式裡的每一個 "operation" (eg. fops->read) 是 "共用" 的,例如 major number 相同的 device file (minor number 不同) 是共用同一塊 code,所以必須考量程式碼的「可重覆進入」寫法 (thinking about filp->private data)。

這也是為什麼在 Jollen 的 Linux 驅動程式課程裡,我們如此這般在強調 Reentrant Code (Reentrant Function) 這個主題,也花了許多時間介紹 Linux 驅動程式的 "reentrant" 觀念。

Linux 驅動程式有許多主題是一點點搞不懂,就會全盤皆不懂的,reentrant code 的觀念是其中之一。由於許多學員對於 reentrant code 的理論不甚了解,因此建議未來要來上課的同學可以事先研讀這篇寫的相當好的文章:

http://www.unet.univie.ac.at/aix/aixprggd/genprogc/writing_reentrant_thread_safe_code.htm

在 Jollen 多年的 Linux 驅動程式授課經驗中,reentrant code 是同學比較不容易搞清楚的觀念,可是卻也是一開始我們課程就會講到的主題;我們提到當上層 callback 下層的驅動程式時,什麼條件下下層必考慮可重覆進入的問題。要學好 Linux 驅動程式,建議無論如何也要搞懂這個主題!

Tags:

純手工打造說明:技術專欄文章為 Jollen 原創,內容皆為人工撰寫,無 AI 生成。轉載請註明出處與作者,並全文引用。轉載時請在文章開頭或結尾明顯處註明「本文出處:https://www.jollen.org,已取得原作者同意並授權使用。」
訂閱電子報:不定期 Jollen's Blog 精選文章隨 Moko365 電子報寄送;請透過 Moko365 電子報訂閱(可隨時取消)。

Copyright(c) 2001–2006 www.jollen.org. All rights reserved.
Last update: 2026-07-22