看understanding linux kernel的一點筆記:
頁表
通常32位cpu使用2級頁表機制就已足夠,但到64位時代,2級頁表會使頁表的項急劇增加,所以通常會使用更多的頁表級數。
ia64/ppc64/alpha使用3級頁表,x86_64使用到4級頁表。為兼容這些模型,2.6.11之后使用了統一的4級頁表模型
Global Directory
Upper Directory
Middle Directory
Page Table
針對不同的架構,設置每一級不同的地址位數,0的話就是不使用這一級頁表機制。
cache
多cpu環境中,每個cpu有自己的cache,對cache的更新有硬件機制保證通知其他的cpu進行同步。(真的嗎?)
tlb
用來cache頁表,加速地址的轉換速度。每個cpu有自己的tlb,但不需要同步,因為地址轉換和進程相關。
posted @
2008-11-01 08:27 白色天堂 閱讀(141) |
評論 (0) |
編輯 收藏
LinuxThreads:
舊的pthread實現,基于process實現pthread。主要問題是signal不符合規范,stack size固定???
NPTL:
2.6后加入的新實現,redhat as中2.4就可以支持。更符合pthread的規范。用戶線程和內核線程采取1:1模式,支持floating stack。
posted @
2008-09-09 22:56 白色天堂 閱讀(192) |
評論 (0) |
編輯 收藏