国产aaaa级全身裸体精油片_337p人体粉嫩久久久红粉影视_一区中文字幕在线观看_国产亚洲精品一区二区_欧美裸体男粗大1609_午夜亚洲激情电影av_黄色小说入口_日本精品久久久久中文字幕_少妇思春三a级_亚洲视频自拍偷拍

Linux內(nèi)核分析--對(duì)信號(hào)機(jī)制的分析 Linux內(nèi)核分析--對(duì)信號(hào)機(jī)制的分析

Linux內(nèi)核分析--對(duì)信號(hào)機(jī)制的分析

  • 期刊名字:溫州職業(yè)技術(shù)學(xué)院學(xué)報(bào)
  • 文件大?。?48kb
  • 論文作者:崔麗榮
  • 作者單位:溫州職業(yè)技術(shù)學(xué)院
  • 更新時(shí)間:2020-09-25
  • 下載次數(shù):
論文簡(jiǎn)介

第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è)值,放在文件中,也可用kil1命進(jìn)程調(diào)度內(nèi)存管理文件系統(tǒng)令給出這些信號(hào)。信號(hào)的-一個(gè)主要特點(diǎn)是它的異步圍1 IPC子系統(tǒng)的資源依賴關(guān)系性,這表示進(jìn)程在執(zhí)行期間的任何時(shí)候都可能接收到2.2Linux支持的通信機(jī)制信號(hào),甚至可能當(dāng)進(jìn)程正在執(zhí)行系統(tǒng)調(diào)用時(shí)接到信Linux是一個(gè)多任務(wù)操作系統(tǒng),必須保證CPU時(shí)刻號(hào),所以,進(jìn)程必須隨時(shí)為響應(yīng)信號(hào)做好準(zhǔn)備。通常保持在使用狀態(tài),以提高利用率。Linux中的每個(gè)進(jìn)情況下,若系統(tǒng)調(diào)用被信號(hào)中斷,則它將返回值,并程都有自己的虛擬地址空間,操作系統(tǒng)的一個(gè)最重要將e" 中國煤化工: 斷的調(diào)用是收到信號(hào)的基本管理目的,就是避免進(jìn)程之間的互相影響。但有時(shí)用戶也希望利用兩個(gè)或多個(gè)進(jìn)程的功能完成同一YHC N M H G父進(jìn)程發(fā)出信號(hào)時(shí),任務(wù),為了協(xié)調(diào)進(jìn)程之間的活動(dòng),進(jìn)程間以及進(jìn)程內(nèi)核將代表該進(jìn)程執(zhí)行這個(gè)操作。與核心之間要進(jìn)行通信。為此,Linux提供了 許多通在POSIX下,每個(gè)進(jìn)程有一個(gè)掩碼,(下轉(zhuǎn)第72頁)72溫州職業(yè)技術(shù)學(xué)院學(xué)報(bào)2005年9月來衡量高職教育成功與否的關(guān)鍵。學(xué)生職業(yè)指導(dǎo)成為進(jìn)行。引導(dǎo)學(xué)生在了解自己、了解職業(yè)、了解社會(huì)的學(xué)校的重要工作,學(xué)校開設(shè)專門的職業(yè)指導(dǎo)課程,對(duì)基礎(chǔ)上調(diào)整就業(yè)意愿,樹立對(duì)未來職業(yè)生涯發(fā)展的信學(xué)生進(jìn)行“成功教育”,幫助學(xué)生學(xué)習(xí)職業(yè)知識(shí),掌心,看到自己的不足和即將從事的職業(yè)對(duì)從業(yè)者素質(zhì)握職業(yè)生涯設(shè)計(jì)的方法,使學(xué)生樹立正確的職業(yè)觀、要求的差距,形成自覺提高自己的動(dòng)力機(jī)制,完善自就業(yè)觀和擇業(yè)觀。職業(yè)指導(dǎo)從新生一進(jìn)校的入學(xué)教育身的道德品質(zhì),養(yǎng)成敬業(yè)樂業(yè)的職業(yè)道德。開始,貫穿于大學(xué)教育的全過程,分階段、有步驟地[參考文獻(xiàn)]川周濟(jì).高職高專教育改革與建設(shè)[網(wǎng)].北京: 高等教育出版社,2004.28-38.[2] 霍爾.戴維斯.道德教育的理論與實(shí)踐[M].杭州:浙江教有出版社,2003.[3] 劉創(chuàng).德育目標(biāo):內(nèi)涵、功能與實(shí)現(xiàn)(1].求索,2004, (3) .[4}孫文學(xué).以就業(yè)為導(dǎo)向的高職學(xué)生職業(yè)能力培養(yǎng)--兼 論高職人才培養(yǎng)欖式的變革[J].職業(yè)技術(shù)教育,2005, (4) .[5]劉春生,馬振華,張宇,以就業(yè)為導(dǎo)向發(fā)展職業(yè)教育的理論思考(J].職業(yè)技術(shù)教育,2005, (10) .6| 章明.高職教育的正確目標(biāo)定位[J].成才(武漢), 199, (3).[7]單黹麟.以就業(yè)為導(dǎo)向培養(yǎng)高素質(zhì)技能型人才(J].中國培訓(xùn),2004, (12).[8]鮑潔.用新的質(zhì)量觀建立高等職業(yè)教育的質(zhì)量保障體系[J/0L]. ht://www. bjpopss .g0v .cn/bjpscjj/cjj20040430.htm.zh.[責(zé)任編輯:李小玉](上接第46頁) Linux中進(jìn)程task. struct結(jié)構(gòu)的中,一個(gè)進(jìn)程可以選擇是處理這些信號(hào)還是封鎖這些blocked域描述信號(hào)掩碼的位圖(見圖2)。每一位對(duì)信號(hào);若不封鎖這些信號(hào)可選擇親自處理,或交內(nèi)核應(yīng)32個(gè)信號(hào)中的一個(gè)信號(hào),其中第8位和第18位始終處理;內(nèi)核處理時(shí),按對(duì)該信號(hào)的默認(rèn)去處理。除為0,表示SIGKILL和SIGSTOP是不可阻塞的;掩碼位SIGKILL和SIGST0P外所有信號(hào)都可以被封鎖。當(dāng)一個(gè)圖的某位置1,表示它被自動(dòng)加到接收進(jìn)程的信號(hào)掩信號(hào)已被封鎖時(shí),要直到封鎖被解除才能處理。碼中。例如,當(dāng)SIGINT被 發(fā)送時(shí),接收進(jìn)程掩碼的第Linux保存有如何處理每種可能發(fā)生的信號(hào),信息存2位被置位,如果再發(fā)送SIGINT給該進(jìn)程,說明這個(gè)放在sigaction數(shù)組中,由每種進(jìn)程task_ struct標(biāo)SIGINT信號(hào)成為當(dāng)前被阻塞傳遞的信號(hào),信號(hào)明。在其他事件中包含有處理信號(hào)的程序地址,這SIGINT將被加到該進(jìn)程中掛起的信號(hào)集合中,當(dāng)阻塞些信號(hào)告訴Linux進(jìn)程,希望它忽略信號(hào)或讓內(nèi)核去被移開時(shí),SIGING才 傳遞給該進(jìn)程。處理。當(dāng)然,并不是系統(tǒng)中的每個(gè)進(jìn)程都可以向其他10... ..進(jìn)程發(fā)送信號(hào),只有內(nèi)核和超級(jí)用戶可以,普通進(jìn)程只能發(fā)信號(hào)給具有相同uid和gid的進(jìn)程。當(dāng)信號(hào)產(chǎn)生32 31圖2信號(hào)掩碼的位圈時(shí),并不是立即提交給進(jìn)程,而必頒等到進(jìn)程再次運(yùn)信號(hào)之間沒有優(yōu)先關(guān)系。當(dāng)兩個(gè)信號(hào)同時(shí)發(fā)生在行時(shí),才能接收信號(hào)。每次進(jìn)程從系統(tǒng)調(diào)用中退出,個(gè)進(jìn)程時(shí), 可以以任何方式處理;同種類型的信其signa1和blocked域都要接受檢查,當(dāng)信號(hào)無封鎖號(hào)也沒有原則性,信號(hào)的處理由接收信號(hào)的進(jìn)程來決時(shí),可以立即被傳遞,因?yàn)閹缀趺總€(gè)進(jìn)程都在一直使定。Linux中, 有關(guān)信號(hào)的信息也存放在task_ struc t用系統(tǒng)調(diào)用。[]陳建輝。Linux操作系統(tǒng)內(nèi)核實(shí)習(xí)[M].北京:機(jī)械工業(yè)出版社,2002 .[2]李善平。Linux內(nèi)核2. 4版源代碼分析大全[M].北京:機(jī)械工業(yè)出版社,2002 .. [3] 駱耀祖. Linux操作系統(tǒng)分析教程[N].北京:清華大學(xué)出版社,2004.|4]徐士良。常用算法程序集(C語言描述)[w]. 北京:清華大學(xué)出版社,2004.[s| 鄭莉. C++語言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2003.中國煤化工[6] 王立柱. C/C++與數(shù)據(jù)結(jié)構(gòu)[周]. 北京:清華大學(xué)出版社,2003.MYHCNMHG[7]曹聰.計(jì)算機(jī)操作系統(tǒng)[回].蘭州:蘭州大學(xué)出版社,1998.[8}倪光南.倪光南呼吁使用Linux系統(tǒng)[EB/0L]. http://ww. linuxeden. com/doc/article. php/21743.[9]韓國華。Linux高速增 長(zhǎng)引發(fā)廠商大合并[EB/0L]. http://ww. linuxeden. com/doc/article. php/21726.[責(zé)任編輯:李永平]

論文截圖
版權(quán):如無特殊注明,文章轉(zhuǎn)載自網(wǎng)絡(luò),侵權(quán)請(qǐng)聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學(xué)習(xí)使用,務(wù)必24小時(shí)內(nèi)刪除。