我与乡下少妇的性事_色琪琪综合男人的天堂aⅴ视频_大胸喂奶秘书3p高h_国产一区二区视频在线播放_国产老头gay和老头gay视频_中文字幕亚洲欧美_国产男人搡女人免费视频_伊人色综合久久天天五月婷_崔雪莉被金秀贤握胸动态图_毛片在线视频观看

Linux內(nèi)核分析--對信號機制的分析 Linux內(nèi)核分析--對信號機制的分析

Linux內(nèi)核分析--對信號機制的分析

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

第S卷第3期溫州職業(yè)技術(shù)學院學報Vol.5 No.32005年9月Journal of Wenzhou Vocational and Technical CollegeSep. 2005Linux內(nèi)核分析-----對信號機制的分析崔麗榮(溫州職業(yè)技術(shù)學院計算機系,浙江溫州325035)摘要] Linux是源代碼自由開放的操作系統(tǒng)。Linux內(nèi)核的許多面向通信的底層代碼,對開發(fā)我國的信息安全產(chǎn)品極有參考價值,因此,對源代碼的組織結(jié)構(gòu)、實現(xiàn)原理及實現(xiàn)機制進行較詳細的闡述,無疑對深入了解源代碼及Linux的普及和發(fā)展將有重要的作用.[關(guān)鍵詞] Linux; 信號機制;源代碼[中圖分類號] TP316.89[文獻標識碼] A [文章編號] 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)核源代碼的版本是多版本的。對不同統(tǒng),引起了國內(nèi)外Linux開發(fā)者和愛好者以及獨立軟的內(nèi)核版本,系統(tǒng)調(diào)用一般是相同的。新版本可以增件開發(fā)商和各類企業(yè)主管的關(guān)注,其發(fā)展勢頭越來越加- -些新的調(diào)用,但舊的系統(tǒng)調(diào)用將依然不變,以便猛,同時也逐步得到多數(shù)硬軟件公司的強勁支持。于保持向后的兼容,所以,一個新的內(nèi)核版本不能打數(shù)據(jù)顯示,Linux已經(jīng)占到操作系統(tǒng)市場的20%,破常規(guī)的過程。多數(shù)情況下,設(shè)備文件雖仍然相同,Windows占60%。在我國,Linux也得到 了很快的發(fā)但版本之間的內(nèi)部接口則有所變化。Linux 內(nèi)核源代展。2004年 以來Linux巳逐漸滲透到電信、金融這些碼有一個簡單的數(shù)字系統(tǒng),任何偶數(shù)內(nèi)核是-一個穩(wěn)定IT需求高端的行業(yè),并且Linux正逐步應(yīng)用于高可靠的版本,而奇數(shù)內(nèi)核是正在發(fā)展中的內(nèi)核。發(fā)展中的性服務(wù)器和集群服務(wù)器這些相對高端的領(lǐng)域。與內(nèi)核有最新的特點,支持最新的設(shè)備,是發(fā)展最新而Windows相比,Linux源代碼完全公開、便于分析和修又穩(wěn)定的內(nèi)核的基礎(chǔ)。對內(nèi)核源代碼的修改是以補丁改,而令世人刮目相看。Linux內(nèi)核的許多面向通信文件的形式發(fā)布的。的底層代碼對開發(fā)我國的信息安全產(chǎn)品極有參考價Linux內(nèi)核源代碼的結(jié)構(gòu)為:每個目錄或子目錄值。因此,對源代碼的組織結(jié)構(gòu)、實現(xiàn)原理及實現(xiàn)機可以看作一個模塊,其目錄之間的連線表示“子目 錄制進行較詳細的闡述,無疑對深入了解源代碼及或子模塊”的關(guān)系。Linux的普及和發(fā)展將有重要的作用。中國煤化工1 Linux 內(nèi)核源代碼的特點2.1YHCNMH G系[收稿日期] 2005-03-25[作者簡們崔麗榮(1975- ),女,內(nèi)蒙古四子王旗人,溫州職業(yè)技術(shù)學院計算機系助教.46溫州職業(yè)技術(shù)學院學報2005年9月Linux是一個龐大、高效而復雜的操作系統(tǒng),從信機制,利用這些機制,進程之間可以進行通訊并共結(jié)構(gòu)上可以把Linux的內(nèi)核劃分為五個主要的子系同完成某項任務(wù),這種機制就是IPC。Linux支 持許統(tǒng),它們以進程調(diào)度子系統(tǒng)為核心,其它四個子系統(tǒng)多不同形式的IPC。在特定的情況下它們各有自己的分別為內(nèi)存管理、進程間通信、虛擬文件系統(tǒng)和網(wǎng)絡(luò)優(yōu)缺點和使用范圍。其中最有用的IPC有管道.接口。每個子系統(tǒng)之間通過過程調(diào)用,互相通信。通System V的IPC機制及信號。信機制在Linux操作系統(tǒng)的子系統(tǒng)中發(fā)揮了重要的作所謂管道,是指用于連接-一個 讀進程和一個寫進用。程,以實現(xiàn)它們之間通信的共享文件,又稱pipe文(1)進程調(diào)度子系統(tǒng)。因為Linux中的 每個進程都件。向管道提供輸入的發(fā)送進程(即寫進程),以字有自己的虛擬地址空間,為了避免多個進程之間的互符流形式將大量的數(shù)據(jù)送入管道;而 接受管道輸出相影響,特別是用戶利用兩個或多個進程的功能完成的接收進程(即讀進程),可從管道中接收數(shù)據(jù)。由同-任務(wù)時,進程通信機制發(fā)揮著不可替代的作用。于發(fā)送進程和接收進程是利用管道進行通信的,故又如A進程和B進程共同完成.一項任務(wù),此過程必須A和稱管道通信。這種方式首創(chuàng)于UNIX系統(tǒng),因它能傳B進程之間進行通信,以便彼此了解工作狀況。而進送大量的數(shù)據(jù),且很有效,故很 多操作系統(tǒng)都引用程調(diào)度子系統(tǒng)就是以它們間的通信來掛起或喚醒進程這種通信方式,Linux也不例外。的。Linux也支持System V的IPC:消息、信號量和共(2)管理子系統(tǒng)。Linux是個多任務(wù)操作系統(tǒng),享內(nèi)存。Linux對 這些機制的實施大同小異。我們把可以有多個程序同時裝入內(nèi)存并運行。操 作系統(tǒng)的信號量、消息和共享內(nèi)存統(tǒng)稱System V IPC的對象,每個程序建立一個運行即進程,每個進程都擁有自己每個對象都具有同樣類型的接口,即系統(tǒng)調(diào)用。這些的虛擬地址空間,它們之間互不干擾,即使要相互作對象和文件一樣,都有唯一-的識別號,進程可以通過用,如多個進程合作完成某項工作,也要通過內(nèi)核提系統(tǒng)調(diào)用傳遞的識別號來存取這些對象。與文件的存供的進程間通信機制(IPC)。Linux內(nèi)存管理的設(shè)計充取一樣,對這些對象的存取也要驗證存取權(quán)限,分利用計算機操作系統(tǒng)所提供的虛擬存儲技術(shù),真正SystemV1PC對象的創(chuàng)建者可以通過系統(tǒng)調(diào)用設(shè)置這實現(xiàn)了虛擬存儲的管理。進程的虛擬地址可以映射到些對象的存取權(quán)限。任意一個物理地址處,因此,當兩個進程的虛擬地基于Linux支持的通信機制是如何具體實施的,址映射到同一物理地址時,為了避免兩個進程的沖是怎樣完成進程間通信的?我們可以通過分析其源代突,進程之間必須進行通訊。碼得到問題的解答。(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)中,信號是一種機制,進程通過信號sockets而依賴文件子系統(tǒng),因為sockets使用文件描知道系統(tǒng)中正在發(fā)生的事件。信號是隨機產(chǎn)生的,在述符,一且sockets被打開,就給它分配一個inode。進程執(zhí)行期間隨時都可能收到信號,甚至可能在進程內(nèi)存管理依賴IPC,因為頁交換例程在執(zhí)行共享內(nèi)存正在執(zhí)行系統(tǒng)調(diào)用時收到信號。所以,進程必須隨的交換時使用IPC機制。IPC依賴內(nèi)存管理主要是因為時做好響應(yīng)信號的準備,發(fā)出信號的進程將信號送給分配緩沖區(qū)和共享內(nèi)存的實現(xiàn)。接收者進程的PCB中,收到者進程被調(diào)用時,才能轉(zhuǎn)IPC入處理信號引起的事件。為區(qū)別于硬件中斷,有時把信號的處理叫“軟中斷”。每一種信號都有一個符號名和一個值,放在文件中,也可用kil1命進程調(diào)度內(nèi)存管理文件系統(tǒng)令給出這些信號。信號的-一個主要特點是它的異步圍1 IPC子系統(tǒng)的資源依賴關(guān)系性,這表示進程在執(zhí)行期間的任何時候都可能接收到2.2Linux支持的通信機制信號,甚至可能當進程正在執(zhí)行系統(tǒng)調(diào)用時接到信Linux是一個多任務(wù)操作系統(tǒng),必須保證CPU時刻號,所以,進程必須隨時為響應(yīng)信號做好準備。通常保持在使用狀態(tài),以提高利用率。Linux中的每個進情況下,若系統(tǒng)調(diào)用被信號中斷,則它將返回值,并程都有自己的虛擬地址空間,操作系統(tǒng)的一個最重要將e" 中國煤化工: 斷的調(diào)用是收到信號的基本管理目的,就是避免進程之間的互相影響。但有時用戶也希望利用兩個或多個進程的功能完成同一YHC N M H G父進程發(fā)出信號時,任務(wù),為了協(xié)調(diào)進程之間的活動,進程間以及進程內(nèi)核將代表該進程執(zhí)行這個操作。與核心之間要進行通信。為此,Linux提供了 許多通在POSIX下,每個進程有一個掩碼,(下轉(zhuǎn)第72頁)72溫州職業(yè)技術(shù)學院學報2005年9月來衡量高職教育成功與否的關(guān)鍵。學生職業(yè)指導成為進行。引導學生在了解自己、了解職業(yè)、了解社會的學校的重要工作,學校開設(shè)專門的職業(yè)指導課程,對基礎(chǔ)上調(diào)整就業(yè)意愿,樹立對未來職業(yè)生涯發(fā)展的信學生進行“成功教育”,幫助學生學習職業(yè)知識,掌心,看到自己的不足和即將從事的職業(yè)對從業(yè)者素質(zhì)握職業(yè)生涯設(shè)計的方法,使學生樹立正確的職業(yè)觀、要求的差距,形成自覺提高自己的動力機制,完善自就業(yè)觀和擇業(yè)觀。職業(yè)指導從新生一進校的入學教育身的道德品質(zhì),養(yǎng)成敬業(yè)樂業(yè)的職業(yè)道德。開始,貫穿于大學教育的全過程,分階段、有步驟地[參考文獻]川周濟.高職高專教育改革與建設(shè)[網(wǎng)].北京: 高等教育出版社,2004.28-38.[2] 霍爾.戴維斯.道德教育的理論與實踐[M].杭州:浙江教有出版社,2003.[3] 劉創(chuàng).德育目標:內(nèi)涵、功能與實現(xiàn)(1].求索,2004, (3) .[4}孫文學.以就業(yè)為導向的高職學生職業(yè)能力培養(yǎng)--兼 論高職人才培養(yǎng)欖式的變革[J].職業(yè)技術(shù)教育,2005, (4) .[5]劉春生,馬振華,張宇,以就業(yè)為導向發(fā)展職業(yè)教育的理論思考(J].職業(yè)技術(shù)教育,2005, (10) .6| 章明.高職教育的正確目標定位[J].成才(武漢), 199, (3).[7]單黹麟.以就業(yè)為導向培養(yǎng)高素質(zhì)技能型人才(J].中國培訓,2004, (12).[8]鮑潔.用新的質(zhì)量觀建立高等職業(yè)教育的質(zhì)量保障體系[J/0L]. ht://www. bjpopss .g0v .cn/bjpscjj/cjj20040430.htm.zh.[責任編輯:李小玉](上接第46頁) Linux中進程task. struct結(jié)構(gòu)的中,一個進程可以選擇是處理這些信號還是封鎖這些blocked域描述信號掩碼的位圖(見圖2)。每一位對信號;若不封鎖這些信號可選擇親自處理,或交內(nèi)核應(yīng)32個信號中的一個信號,其中第8位和第18位始終處理;內(nèi)核處理時,按對該信號的默認去處理。除為0,表示SIGKILL和SIGSTOP是不可阻塞的;掩碼位SIGKILL和SIGST0P外所有信號都可以被封鎖。當一個圖的某位置1,表示它被自動加到接收進程的信號掩信號已被封鎖時,要直到封鎖被解除才能處理。碼中。例如,當SIGINT被 發(fā)送時,接收進程掩碼的第Linux保存有如何處理每種可能發(fā)生的信號,信息存2位被置位,如果再發(fā)送SIGINT給該進程,說明這個放在sigaction數(shù)組中,由每種進程task_ struct標SIGINT信號成為當前被阻塞傳遞的信號,信號明。在其他事件中包含有處理信號的程序地址,這SIGINT將被加到該進程中掛起的信號集合中,當阻塞些信號告訴Linux進程,希望它忽略信號或讓內(nèi)核去被移開時,SIGING才 傳遞給該進程。處理。當然,并不是系統(tǒng)中的每個進程都可以向其他10... ..進程發(fā)送信號,只有內(nèi)核和超級用戶可以,普通進程只能發(fā)信號給具有相同uid和gid的進程。當信號產(chǎn)生32 31圖2信號掩碼的位圈時,并不是立即提交給進程,而必頒等到進程再次運信號之間沒有優(yōu)先關(guān)系。當兩個信號同時發(fā)生在行時,才能接收信號。每次進程從系統(tǒng)調(diào)用中退出,個進程時, 可以以任何方式處理;同種類型的信其signa1和blocked域都要接受檢查,當信號無封鎖號也沒有原則性,信號的處理由接收信號的進程來決時,可以立即被傳遞,因為幾乎每個進程都在一直使定。Linux中, 有關(guān)信號的信息也存放在task_ struc t用系統(tǒng)調(diào)用。[]陳建輝。Linux操作系統(tǒng)內(nèi)核實習[M].北京:機械工業(yè)出版社,2002 .[2]李善平。Linux內(nèi)核2. 4版源代碼分析大全[M].北京:機械工業(yè)出版社,2002 .. [3] 駱耀祖. Linux操作系統(tǒng)分析教程[N].北京:清華大學出版社,2004.|4]徐士良。常用算法程序集(C語言描述)[w]. 北京:清華大學出版社,2004.[s| 鄭莉. C++語言程序設(shè)計[M].北京:清華大學出版社,2003.中國煤化工[6] 王立柱. C/C++與數(shù)據(jù)結(jié)構(gòu)[周]. 北京:清華大學出版社,2003.MYHCNMHG[7]曹聰.計算機操作系統(tǒng)[回].蘭州:蘭州大學出版社,1998.[8}倪光南.倪光南呼吁使用Linux系統(tǒng)[EB/0L]. http://ww. linuxeden. com/doc/article. php/21743.[9]韓國華。Linux高速增 長引發(fā)廠商大合并[EB/0L]. http://ww. linuxeden. com/doc/article. php/21726.[責任編輯:李永平]

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