Linux內(nèi)核分析--對(duì)信號(hào)機(jī)制的分析
- 期刊名字:溫州職業(yè)技術(shù)學(xué)院學(xué)報(bào)
- 文件大?。?48kb
- 論文作者:崔麗榮
- 作者單位:溫州職業(yè)技術(shù)學(xué)院
- 更新時(shí)間:2020-09-25
- 下載次數(shù):次
第S卷第3期溫州職業(yè)技術(shù)學(xué)院學(xué)報(bào)Vol.5 No.32005年9月Journal of Wenzhou Vocational and Technical CollegeSep. 2005Linux內(nèi)核分析-----對(duì)信號(hào)機(jī)制的分析崔麗榮(溫州職業(yè)技術(shù)學(xué)院計(jì)算機(jī)系,浙江溫州325035)摘要] Linux是源代碼自由開放的操作系統(tǒng)。Linux內(nèi)核的許多面向通信的底層代碼,對(duì)開發(fā)我國的信息安全產(chǎn)品極有參考價(jià)值,因此,對(duì)源代碼的組織結(jié)構(gòu)、實(shí)現(xiàn)原理及實(shí)現(xiàn)機(jī)制進(jìn)行較詳細(xì)的闡述,無疑對(duì)深入了解源代碼及Linux的普及和發(fā)展將有重要的作用.[關(guān)鍵詞] Linux; 信號(hào)機(jī)制;源代碼[中圖分類號(hào)] TP316.89[文獻(xiàn)標(biāo)識(shí)碼] A [文章編號(hào)] 1671-4326( 2005)03-0045-02An Analysis on Linux Kernelon Signal.cCUI Li-rong(Computer Science Department, Wenzhou Vocational and Technical College, Wenzhou, 325035, China)Abstract: Linux is a free and open operating system of code source. A lot of communication-orientedmachine codes of Linux kernel are very valuable to the exploration of the information security products of ourcountry. Thus, the presentation of the organization structure, the performance principle and the performancemechanism of the code source will undoubtedly enhance the understanding of code source and the popularityof Linux.Key words: Linux; Signal.c; Code sourceLinux作為最熱門的源代碼自由開放的操作系Linux的內(nèi)核源代碼的版本是多版本的。對(duì)不同統(tǒng),引起了國內(nèi)外Linux開發(fā)者和愛好者以及獨(dú)立軟的內(nèi)核版本,系統(tǒng)調(diào)用一般是相同的。新版本可以增件開發(fā)商和各類企業(yè)主管的關(guān)注,其發(fā)展勢(shì)頭越來越加- -些新的調(diào)用,但舊的系統(tǒng)調(diào)用將依然不變,以便猛,同時(shí)也逐步得到多數(shù)硬軟件公司的強(qiáng)勁支持。于保持向后的兼容,所以,一個(gè)新的內(nèi)核版本不能打數(shù)據(jù)顯示,Linux已經(jīng)占到操作系統(tǒng)市場(chǎng)的20%,破常規(guī)的過程。多數(shù)情況下,設(shè)備文件雖仍然相同,Windows占60%。在我國,Linux也得到 了很快的發(fā)但版本之間的內(nèi)部接口則有所變化。Linux 內(nèi)核源代展。2004年 以來Linux巳逐漸滲透到電信、金融這些碼有一個(gè)簡(jiǎn)單的數(shù)字系統(tǒng),任何偶數(shù)內(nèi)核是-一個(gè)穩(wěn)定IT需求高端的行業(yè),并且Linux正逐步應(yīng)用于高可靠的版本,而奇數(shù)內(nèi)核是正在發(fā)展中的內(nèi)核。發(fā)展中的性服務(wù)器和集群服務(wù)器這些相對(duì)高端的領(lǐng)域。與內(nèi)核有最新的特點(diǎn),支持最新的設(shè)備,是發(fā)展最新而Windows相比,Linux源代碼完全公開、便于分析和修又穩(wěn)定的內(nèi)核的基礎(chǔ)。對(duì)內(nèi)核源代碼的修改是以補(bǔ)丁改,而令世人刮目相看。Linux內(nèi)核的許多面向通信文件的形式發(fā)布的。的底層代碼對(duì)開發(fā)我國的信息安全產(chǎn)品極有參考價(jià)Linux內(nèi)核源代碼的結(jié)構(gòu)為:每個(gè)目錄或子目錄值。因此,對(duì)源代碼的組織結(jié)構(gòu)、實(shí)現(xiàn)原理及實(shí)現(xiàn)機(jī)可以看作一個(gè)模塊,其目錄之間的連線表示“子目 錄制進(jìn)行較詳細(xì)的闡述,無疑對(duì)深入了解源代碼及或子模塊”的關(guān)系。Linux的普及和發(fā)展將有重要的作用。中國煤化工1 Linux 內(nèi)核源代碼的特點(diǎn)2.1YHCNMH G系[收稿日期] 2005-03-25[作者簡(jiǎn)們崔麗榮(1975- ),女,內(nèi)蒙古四子王旗人,溫州職業(yè)技術(shù)學(xué)院計(jì)算機(jī)系助教.46溫州職業(yè)技術(shù)學(xué)院學(xué)報(bào)2005年9月Linux是一個(gè)龐大、高效而復(fù)雜的操作系統(tǒng),從信機(jī)制,利用這些機(jī)制,進(jìn)程之間可以進(jìn)行通訊并共結(jié)構(gòu)上可以把Linux的內(nèi)核劃分為五個(gè)主要的子系同完成某項(xiàng)任務(wù),這種機(jī)制就是IPC。Linux支 持許統(tǒng),它們以進(jìn)程調(diào)度子系統(tǒng)為核心,其它四個(gè)子系統(tǒng)多不同形式的IPC。在特定的情況下它們各有自己的分別為內(nèi)存管理、進(jìn)程間通信、虛擬文件系統(tǒng)和網(wǎng)絡(luò)優(yōu)缺點(diǎn)和使用范圍。其中最有用的IPC有管道.接口。每個(gè)子系統(tǒng)之間通過過程調(diào)用,互相通信。通System V的IPC機(jī)制及信號(hào)。信機(jī)制在Linux操作系統(tǒng)的子系統(tǒng)中發(fā)揮了重要的作所謂管道,是指用于連接-一個(gè) 讀進(jìn)程和一個(gè)寫進(jìn)用。程,以實(shí)現(xiàn)它們之間通信的共享文件,又稱pipe文(1)進(jìn)程調(diào)度子系統(tǒng)。因?yàn)長(zhǎng)inux中的 每個(gè)進(jìn)程都件。向管道提供輸入的發(fā)送進(jìn)程(即寫進(jìn)程),以字有自己的虛擬地址空間,為了避免多個(gè)進(jìn)程之間的互符流形式將大量的數(shù)據(jù)送入管道;而 接受管道輸出相影響,特別是用戶利用兩個(gè)或多個(gè)進(jìn)程的功能完成的接收進(jìn)程(即讀進(jìn)程),可從管道中接收數(shù)據(jù)。由同-任務(wù)時(shí),進(jìn)程通信機(jī)制發(fā)揮著不可替代的作用。于發(fā)送進(jìn)程和接收進(jìn)程是利用管道進(jìn)行通信的,故又如A進(jìn)程和B進(jìn)程共同完成.一項(xiàng)任務(wù),此過程必須A和稱管道通信。這種方式首創(chuàng)于UNIX系統(tǒng),因它能傳B進(jìn)程之間進(jìn)行通信,以便彼此了解工作狀況。而進(jìn)送大量的數(shù)據(jù),且很有效,故很 多操作系統(tǒng)都引用程調(diào)度子系統(tǒng)就是以它們間的通信來掛起或喚醒進(jìn)程這種通信方式,Linux也不例外。的。Linux也支持System V的IPC:消息、信號(hào)量和共(2)管理子系統(tǒng)。Linux是個(gè)多任務(wù)操作系統(tǒng),享內(nèi)存。Linux對(duì) 這些機(jī)制的實(shí)施大同小異。我們把可以有多個(gè)程序同時(shí)裝入內(nèi)存并運(yùn)行。操 作系統(tǒng)的信號(hào)量、消息和共享內(nèi)存統(tǒng)稱System V IPC的對(duì)象,每個(gè)程序建立一個(gè)運(yùn)行即進(jìn)程,每個(gè)進(jìn)程都擁有自己每個(gè)對(duì)象都具有同樣類型的接口,即系統(tǒng)調(diào)用。這些的虛擬地址空間,它們之間互不干擾,即使要相互作對(duì)象和文件一樣,都有唯一-的識(shí)別號(hào),進(jìn)程可以通過用,如多個(gè)進(jìn)程合作完成某項(xiàng)工作,也要通過內(nèi)核提系統(tǒng)調(diào)用傳遞的識(shí)別號(hào)來存取這些對(duì)象。與文件的存供的進(jìn)程間通信機(jī)制(IPC)。Linux內(nèi)存管理的設(shè)計(jì)充取一樣,對(duì)這些對(duì)象的存取也要驗(yàn)證存取權(quán)限,分利用計(jì)算機(jī)操作系統(tǒng)所提供的虛擬存儲(chǔ)技術(shù),真正SystemV1PC對(duì)象的創(chuàng)建者可以通過系統(tǒng)調(diào)用設(shè)置這實(shí)現(xiàn)了虛擬存儲(chǔ)的管理。進(jìn)程的虛擬地址可以映射到些對(duì)象的存取權(quán)限。任意一個(gè)物理地址處,因此,當(dāng)兩個(gè)進(jìn)程的虛擬地基于Linux支持的通信機(jī)制是如何具體實(shí)施的,址映射到同一物理地址時(shí),為了避免兩個(gè)進(jìn)程的沖是怎樣完成進(jìn)程間通信的?我們可以通過分析其源代突,進(jìn)程之間必須進(jìn)行通訊。碼得到問題的解答。(3)子系統(tǒng)的依賴關(guān)系。圖1顯示了IPC子系統(tǒng)與2.3 Linux內(nèi) 核模塊Signa1.c內(nèi)核其它系統(tǒng)之間的資源依賴關(guān)系。IPC子系統(tǒng)因在操作系統(tǒng)中,信號(hào)是一種機(jī)制,進(jìn)程通過信號(hào)sockets而依賴文件子系統(tǒng),因?yàn)閟ockets使用文件描知道系統(tǒng)中正在發(fā)生的事件。信號(hào)是隨機(jī)產(chǎn)生的,在述符,一且sockets被打開,就給它分配一個(gè)inode。進(jìn)程執(zhí)行期間隨時(shí)都可能收到信號(hào),甚至可能在進(jìn)程內(nèi)存管理依賴IPC,因?yàn)轫摻粨Q例程在執(zhí)行共享內(nèi)存正在執(zhí)行系統(tǒng)調(diào)用時(shí)收到信號(hào)。所以,進(jìn)程必須隨的交換時(shí)使用IPC機(jī)制。IPC依賴內(nèi)存管理主要是因?yàn)闀r(shí)做好響應(yīng)信號(hào)的準(zhǔn)備,發(fā)出信號(hào)的進(jìn)程將信號(hào)送給分配緩沖區(qū)和共享內(nèi)存的實(shí)現(xiàn)。接收者進(jìn)程的PCB中,收到者進(jìn)程被調(diào)用時(shí),才能轉(zhuǎn)IPC入處理信號(hào)引起的事件。為區(qū)別于硬件中斷,有時(shí)把信號(hào)的處理叫“軟中斷”。每一種信號(hào)都有一個(gè)符號(hào)名和一個(gè)值,放在
-
C4烯烴制丙烯催化劑 2020-09-25
-
煤基聚乙醇酸技術(shù)進(jìn)展 2020-09-25
-
生物質(zhì)能的應(yīng)用工程 2020-09-25
-
我國甲醇工業(yè)現(xiàn)狀 2020-09-25
-
石油化工設(shè)備腐蝕與防護(hù)參考書十本免費(fèi)下載,絕版珍藏 2020-09-25
-
四噴嘴水煤漿氣化爐工業(yè)應(yīng)用情況簡(jiǎn)介 2020-09-25
-
Lurgi和ICI低壓甲醇合成工藝比較 2020-09-25
-
甲醇制芳烴研究進(jìn)展 2020-09-25
-
精甲醇及MTO級(jí)甲醇精餾工藝技術(shù)進(jìn)展 2020-09-25



