linux內(nèi)核系統(tǒng)調(diào)用擴展研究

linux內(nèi)核系統(tǒng)調(diào)用擴展研究

ID:9846076

大?。?64.76 KB

頁數(shù):6頁

時間:2018-05-12

linux內(nèi)核系統(tǒng)調(diào)用擴展研究_第1頁
linux內(nèi)核系統(tǒng)調(diào)用擴展研究_第2頁
linux內(nèi)核系統(tǒng)調(diào)用擴展研究_第3頁
linux內(nèi)核系統(tǒng)調(diào)用擴展研究_第4頁
linux內(nèi)核系統(tǒng)調(diào)用擴展研究_第5頁
資源描述:

《linux內(nèi)核系統(tǒng)調(diào)用擴展研究》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、2012-07-19#####L##in#u#x##內(nèi)##核20系12統(tǒng)-0調(diào)7-用19擴##展##研#2#0#究1#2-07-19########張步忠1,金海平2(1.安慶師范學院計算機系,安徽安慶246011;2.安慶師范學院數(shù)學系,安徽安慶246011)摘要:系統(tǒng)調(diào)用是操作系統(tǒng)內(nèi)核提供給用戶使用內(nèi)核服務(wù)的接口。Linux操作系統(tǒng)由于其自由開放性,用戶可在原有基礎(chǔ)上,添加新的系統(tǒng)調(diào)用,以便提供更多的服務(wù)。基于Linux2.4內(nèi)核,文中研究了Linux操作系統(tǒng)系統(tǒng)調(diào)用的實現(xiàn)機制,并以基于數(shù)據(jù)庫的文件系統(tǒng)功能擴展為例,說明系統(tǒng)調(diào)用擴展的實現(xiàn)

2、過程。關(guān)鍵詞:Linux;系統(tǒng)調(diào)用;擴展中圖分類號:TP316.8文獻標識碼:A文章編號:1673-629X(2007)05-0163-03ResearchofLinuxKernelSystemCallExpansionZHANGBu2zhong1,JINHai2ping2(1.DepartmentofComputer,AnqingTeachersCollege,Anqing246011,China;2.DepartmentofMathematics,AnqingTeachersCollege,Anqing246011,China)Abstr

3、act:Thesystemcallisauserinterface,whichtheoperatingsystemkernelprovidestousersusingkernelservice.BecauseofLinuxop2eratingsystemfreedomandopenness,usersmayexpandnew,specificapplicationsystemcallastheoriginalfoundation,whichcanprovidetousmoreservices.Inthispaper,basedonLinux2

4、.4kernel,realizationmechanismofLinuxsystemcallisintroduced.Acaseoffunctionexpansionoffilesystembasedondatabaseisusedtodemonstratetherealizationprocess.Keywords:Linux;systemcall;expansion系統(tǒng)調(diào)用現(xiàn)代計算機系統(tǒng)一般出于安全性和系統(tǒng)保護等方面的需要,劃分出不同的操作權(quán)限。如Intelx86系列從硬件上劃分了4個不同的操作等級:0級最高,可擁有所有的系統(tǒng)操作權(quán)限,3

5、級最低,操作是受約束的,特別是一些特權(quán)指令是不能運行的,想要運行運行這些指令也只有轉(zhuǎn)到更高的權(quán)限級別。一些操作系統(tǒng)根據(jù)需要,如Unix操作系統(tǒng)[1]也劃分了用戶和內(nèi)核兩個不同的操作級別,將進程管理、內(nèi)存管理、設(shè)備管理等關(guān)鍵性的核心功能放在內(nèi)核級,shell接口、用戶程序等放在用戶級運行。并把兩者放在不同的地址空間,用戶和內(nèi)核空間是不能直接通信和相互調(diào)用程序的,用戶也不能直接訪問硬件,從而防止了一部分低手段的用戶程序侵害,提高了安全性。但是很多情況下,需要內(nèi)核程序提供服務(wù),如用戶登錄需要創(chuàng)建一個新的會話進程。為了既不破壞這種機制,又能讓用戶使用

6、內(nèi)核控制的資源,操作系統(tǒng)提供了一種用戶使用內(nèi)核服務(wù)的機制,即系統(tǒng)調(diào)用。系統(tǒng)調(diào)用函數(shù)通常由用戶進程在用戶態(tài)下調(diào)用,內(nèi)核通過system-call函數(shù)響應(yīng)系統(tǒng)調(diào)用產(chǎn)生的軟中斷,在正確訪問核心棧、系統(tǒng)調(diào)用開關(guān)表之后陷入到操作系統(tǒng)內(nèi)核中進行處理?;诖?文中主要討論了源代碼開放的Linux環(huán)境下的系統(tǒng)調(diào)用實現(xiàn)機制,并針對基于數(shù)據(jù)庫的文件系統(tǒng)的用戶接口擴展的實際需要,介紹如何擴展內(nèi)核系統(tǒng)調(diào)用。12Linux系統(tǒng)調(diào)用實現(xiàn)過程Linux操作系統(tǒng)采用類似Unix內(nèi)核方式,把操作系統(tǒng)也分成系統(tǒng)狀態(tài)和用戶狀態(tài)[2]。Linux下每個進程都有4GB的虛擬空間,但這

7、4GB的空間分成兩部分:0~3GB部分稱為用戶空間,它是用戶進程的私有空間;3~4GB成為內(nèi)核空間,由2012-07-19#############2012-07所-有1進9程#及#內(nèi)#核#共#享2#使0#用1#。2-07-19########()收稿日期:2006-08-12般以C形式的庫函數(shù)給出。內(nèi)核函數(shù)是Linux內(nèi)核中設(shè)置了的一組用于實現(xiàn)各種系統(tǒng)功能子程序,并將它們提供給用戶調(diào)用。在用戶需要訪問系統(tǒng)內(nèi)核管理的資源時,用戶進程將被掛起,接口函數(shù)將轉(zhuǎn)到內(nèi)核態(tài),內(nèi)核檢驗用戶請求的合法性,嘗試執(zhí)行內(nèi)核函數(shù),并把結(jié)果反饋給用戶進程,然后用戶進程

8、重新啟動。Linux中每個系統(tǒng)調(diào)用都有一個唯一的編號,稱為系統(tǒng)調(diào)用號[3],這也是系統(tǒng)調(diào)用在入口地址表中位置的序號。在用戶程序調(diào)用系統(tǒng)調(diào)用時,系統(tǒng)調(diào)用程序通過80H

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。