




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、本科學(xué)生畢業(yè)論文(設(shè)計(jì))題目(中 文):Linux進(jìn)程間通信的研究與實(shí)現(xiàn)(英 文):The research and implementation of communication between Linux processes姓 名學(xué) 號(hào)院 (系)專(zhuān)業(yè)、年級(jí)指導(dǎo)教師湖南科技學(xué)院本科畢業(yè)論文(設(shè)計(jì))誠(chéng)信聲明本人鄭重聲明:所呈交的本科畢業(yè)論文(設(shè)計(jì)),是本人在指導(dǎo)老師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果,成果不存在知識(shí)產(chǎn)權(quán)爭(zhēng)議,除文中已經(jīng)注明引用的內(nèi)容外,本論文不含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫(xiě)過(guò)的作品成果。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的
2、法律結(jié)果由本人承擔(dān)。 本科畢業(yè)論文(設(shè)計(jì))作者簽名: 年 月 日 畢業(yè)論文(設(shè)計(jì))任務(wù)書(shū)課題名稱(chēng):Linux 進(jìn)程間通信的研究與實(shí)現(xiàn)學(xué)生姓名:系別:專(zhuān)業(yè):指導(dǎo)教師:1、 關(guān)鍵詞:linux環(huán)境,進(jìn)程,通信,研究2、畢業(yè)論文(設(shè)計(jì))內(nèi)容要求:用實(shí)例對(duì)linux進(jìn)程間的五種通信機(jī)制(無(wú)名有名管道、消息隊(duì)列、信號(hào)量和共享內(nèi)存)進(jìn)行親緣進(jìn)程或是非親緣進(jìn)程讀寫(xiě)規(guī)則的程序驗(yàn)證,通過(guò)不同機(jī)制協(xié)調(diào)進(jìn)程來(lái)實(shí)現(xiàn)另外機(jī)制間數(shù)據(jù)的讀寫(xiě)。1)利用管道快速傳輸和節(jié)約空間的性質(zhì),實(shí)現(xiàn)大數(shù)據(jù)量的信息在親緣和非親緣進(jìn)程間傳輸和接收。2)通過(guò)有名管道(FIFO)提供一個(gè)路徑名與之進(jìn)行關(guān)聯(lián),以先進(jìn)先出的形式存在于文件系統(tǒng)中,使不相
3、干的進(jìn)程也可以通過(guò)FIFO相互通信。3)將不同通信機(jī)制信號(hào)量與消息隊(duì)列結(jié)合使用,利用信號(hào)量來(lái)協(xié)調(diào)進(jìn)程對(duì)消息隊(duì)列中數(shù)據(jù)的讀寫(xiě),并應(yīng)用于實(shí)例。4)通過(guò)共享內(nèi)存映射一段內(nèi)存空間,讀進(jìn)程通過(guò)掛載到該共享內(nèi)存中來(lái)讀取內(nèi)存數(shù)據(jù)。5)對(duì)IPC通信機(jī)制的安全性分析,對(duì)安全級(jí)別比較低的消息隊(duì)列機(jī)制進(jìn)行研究改進(jìn),實(shí)現(xiàn)消息隊(duì)列的讀寫(xiě)權(quán)限由系統(tǒng)來(lái)管理。3、文獻(xiàn)查閱指引:1 吳震, 陳耀武. 一種基于消息的進(jìn)程間通信機(jī)制J. 電子器件, 2012.8.26,8-10.2 W.Richard Stevens. UNIX Network Programming, Volume 2: Interprocess Communi
4、cations (2nd Edition) J. 2012, 45-61.3 李娟. 利用進(jìn)程間通信實(shí)現(xiàn)程序自我保護(hù)J. 考試周刊, 2011.8.2, 16-20.4 賀建立. Linux中System V進(jìn)程通信機(jī)制安全性形式化驗(yàn)證J. 計(jì)算機(jī)工程與科學(xué), 2012.10.30, 17-22.5 武軍彪. 嵌入式操作系統(tǒng)核間任務(wù)同步與通信的設(shè)計(jì)與實(shí)現(xiàn)D. 西安電子科技大學(xué), 2012, 18-22.6 姜玉蓉. LINUX內(nèi)核進(jìn)程間通信的模型檢測(cè)研究J. 計(jì)算機(jī)科學(xué), 2013, 12-18.7 馮蘊(yùn), 楊斌. 雙內(nèi)核實(shí)時(shí)系統(tǒng)下各進(jìn)程間通信方法的性能分析和測(cè)試J. 成都信息工程學(xué)院學(xué)報(bào),
5、2013.8.15, 12-16.4、畢業(yè)論文(設(shè)計(jì))進(jìn)度安排:1)2013年2月:尋找合適設(shè)計(jì)課題,選定課題,給老師審核,通過(guò)審核,確定課題。2)2013年3月:查看關(guān)于Linux進(jìn)程間通信的書(shū),搜索各相關(guān)資料。3)2013年4月:寫(xiě)程序,實(shí)現(xiàn)進(jìn)程間通信的五個(gè)基本方式。 4)2013年5月:查閱書(shū)刊,網(wǎng)上搜索資料,寫(xiě)論文,交初稿,并在導(dǎo)師的指導(dǎo)下修改論文; 5)2013年5月下旬:定稿,做PPT,完成論文答辯。系部意見(jiàn): 負(fù)責(zé)人簽名: 注:本任務(wù)書(shū)一式三份,由指導(dǎo)教師填寫(xiě),經(jīng)系畢業(yè)論文領(lǐng)導(dǎo)小組審批后一份下達(dá)給學(xué)生,一份交指導(dǎo)教師,一份留系里存檔。湖南科技學(xué)院本科畢業(yè)論文(設(shè)計(jì))開(kāi)題報(bào)告書(shū)論文
6、(設(shè)計(jì))題目Linux進(jìn)程間通信的研究與實(shí)現(xiàn)作者姓名楊禮彪所屬系、專(zhuān)業(yè)、年級(jí)電子工程系電子信息工程專(zhuān)業(yè)2009年級(jí)指導(dǎo)教師姓名、職稱(chēng)李春樹(shù)教授預(yù)計(jì)字?jǐn)?shù)13000開(kāi)題日期2012-12-25選題的根據(jù):1)說(shuō)明本選題的理論、實(shí)際意義 2)綜述國(guó)內(nèi)外有關(guān)本選題的研究動(dòng)態(tài)和自己的見(jiàn)解隨著計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)的高速發(fā)展、全球信息化時(shí)代的到來(lái),給人們工作、生活的方方面面帶來(lái)方便和快捷的同時(shí),也帶來(lái)了信息安全方面威脅。非法入侵、竊取、篡改計(jì)算機(jī)系統(tǒng)中的重要數(shù)據(jù),給社會(huì)造成難以估量的損失。目前,國(guó)內(nèi)外現(xiàn)有的Linux操作系統(tǒng)的安全級(jí)別低于C2級(jí)(按美國(guó)國(guó)防部指定的TCSEC(Trusted Computer S
7、ystem Evaluation Criteria),還遠(yuǎn)不能滿足我們對(duì)于安全的需求1-3。為了增強(qiáng)其安全性能,提高抗風(fēng)險(xiǎn)能力,需要不斷地對(duì)操作系統(tǒng)進(jìn)行修補(bǔ)和完善。因此,通過(guò)對(duì)通信機(jī)制的安全性能的研究入手,借鑒文件系統(tǒng)強(qiáng)制訪問(wèn)控制,實(shí)現(xiàn)進(jìn)程通信的強(qiáng)制訪問(wèn)控制,以達(dá)到避免信息泄露的目的,為我們更好地提升操作系統(tǒng)的安全性能,具有十分重要的指導(dǎo)意義。主要內(nèi)容:1)Linux系統(tǒng)的介紹;2)Linux進(jìn)程的概述及創(chuàng)建;3)Linux進(jìn)程間通信各種方式的研究與程序?qū)崿F(xiàn); 4)Linux進(jìn)程通信機(jī)制的安全性研究;5)設(shè)計(jì)的總結(jié)。研究方法:1)查閱相關(guān)書(shū)籍,進(jìn)行理論分析;2)針對(duì)性的對(duì)各進(jìn)程間通信方法的研究
8、,通過(guò)不斷調(diào)試程序去實(shí)現(xiàn)通信;3)上網(wǎng)查資料,跟同學(xué)探討并和導(dǎo)師交流。完成期限和采取的主要措施:采取的主要措施:嚴(yán)格遵照湖南科技學(xué)院畢業(yè)論文(設(shè)計(jì))工作管理辦法的指示精神,結(jié)合個(gè)人的實(shí)際情況,我完成這項(xiàng)設(shè)計(jì)所采取的主要措施有兩條:一是他人幫助。聯(lián)系指導(dǎo)導(dǎo)師,確定設(shè)計(jì)課題方向與設(shè)計(jì)內(nèi)容,讓老師指點(diǎn)設(shè)計(jì)思路,遇到問(wèn)題請(qǐng)教同學(xué),為更好完成設(shè)計(jì)提供了很大幫助;二是查閱資料。到圖書(shū)館借來(lái)了相關(guān)書(shū)籍和網(wǎng)絡(luò)上查閱資料,充分利用各種資源。主要參考資料:1 陳城高. 進(jìn)程間通信技術(shù)在銀行短信系統(tǒng)中的應(yīng)用J, 計(jì)算機(jī)工程與應(yīng)用, 2011.4.11, 17-24.2賀建立. Linux中System V進(jìn)程通信機(jī)
9、制安全性形式化驗(yàn)證J. 計(jì)算機(jī)工程與科學(xué), 2012.10.30, 17-22. 3 李娟. 利用進(jìn)程間通信實(shí)現(xiàn)程序自我保護(hù)J. 考試周刊, 2011.8.2, 16-20.4 W.Richard Stevens. UNIX Network Programming, Volume 2: Interprocess Communications (2nd Edition) J. 2012, 45-61.5 姜玉蓉. LINUX內(nèi)核進(jìn)程間通信的模型檢測(cè)研究J. 計(jì)算機(jī)科學(xué), 2013, 12-18.6 馮蘊(yùn), 楊斌. 雙內(nèi)核實(shí)時(shí)系統(tǒng)下各進(jìn)程間通信方法的性能分析和測(cè)試J. 成都信息工程學(xué)院學(xué)報(bào), 20
10、13.8.15, 12-16.7 吳震, 陳耀武. 一種基于消息的進(jìn)程間通信機(jī)制J. 電子器件, 2012.8.26,8-10.指導(dǎo)教師意見(jiàn):指導(dǎo)教師簽名:教研室意見(jiàn):簽 名: 年 月 日開(kāi) 題 報(bào) 告 會(huì) 紀(jì) 要時(shí) 間2012.12.23地 點(diǎn)三教608與會(huì)人員姓 名職務(wù)(職稱(chēng))姓 名職務(wù)(職稱(chēng))姓 名職務(wù)(職稱(chēng))李春樹(shù)教 授李小武副教授李艷芳副教授楊 熙碩 士譚永宏副教授廖朝陽(yáng)碩 士會(huì)議記錄摘要:楊熙老師問(wèn):你怎樣去查找資料的? 答:主要是通過(guò)導(dǎo)師介紹的湘科院學(xué)校網(wǎng)站上的圖書(shū)館、期刊網(wǎng)以及同學(xué)推薦的IT論壇等查找相關(guān)的文獻(xiàn)資料,當(dāng)然百度、谷歌肯定也是用到了的。李春樹(shù)老師問(wèn):你的研究意義是什
11、么?答:雖然目前國(guó)內(nèi)對(duì)Linux操作系統(tǒng)的安全性有所研究,但是其安全級(jí)別還是比較低,還不能滿足我們對(duì)于安全的需求,所以我們需要實(shí)現(xiàn)更高級(jí)別的安全功能。我通過(guò)對(duì)這個(gè)Linux操作系統(tǒng)安全性的研究,實(shí)現(xiàn)了Linux的IPC機(jī)制的強(qiáng)制訪問(wèn)控制,對(duì)提升系統(tǒng)安全性有所幫助。 會(huì)議主持人: 記 錄 人:年 月 日指導(dǎo)小組意見(jiàn)負(fù)責(zé)人簽名:年 月 日系部 意 見(jiàn)負(fù)責(zé)人簽名:年月日注:此表由學(xué)生本人填寫(xiě),一式三份,一份留系里存檔,指導(dǎo)老師和本人各保存一份。湖南科技學(xué)院畢業(yè)論文(設(shè)計(jì))中期檢查表畢業(yè)論文(設(shè)計(jì))題 目Linux進(jìn)程間通信的研究與實(shí)現(xiàn)學(xué)生姓名楊禮彪學(xué) 號(hào)200906002441系 別電子工程系專(zhuān) 業(yè)
12、電子信息工程指導(dǎo)教師李春樹(shù)檢查日期指導(dǎo)教師檢查情況記載及修改意見(jiàn): 檢查情況記載:1、 對(duì)要設(shè)計(jì)的東西了解還可以,對(duì)設(shè)計(jì)很有幫助;2、 缺少?lài)?guó)內(nèi)外設(shè)計(jì)成果分析;3、 參考文獻(xiàn)不規(guī)范;4、 論文正文基本完成,但是論文格式上還沒(méi)弄好。修改意見(jiàn):1、 要介紹下當(dāng)前國(guó)內(nèi)外的研究成果,還有哪些不足與改進(jìn);2、 參考文獻(xiàn)要按照規(guī)范來(lái)寫(xiě),時(shí)間出處等都要有;3、 注意論文格式,參照模版來(lái)設(shè)計(jì);4、 盡量突出說(shuō)明你自己所做的工作,突出自己的獨(dú)特之處;5、 緒論沒(méi)做好,要突出設(shè)計(jì)的意義;6、 要按順序引用。7、 截圖要有圖標(biāo)及說(shuō)明。簽名:注:此表用于指導(dǎo)教師在學(xué)生畢業(yè)論文(設(shè)計(jì))初稿完成后對(duì)學(xué)生執(zhí)行任務(wù)書(shū)情況進(jìn)行
13、中期檢查時(shí)用,由指導(dǎo)教師填寫(xiě)湖南科技學(xué)院畢業(yè)設(shè)計(jì)(論文)指導(dǎo)過(guò)程記錄表畢業(yè)論文(設(shè)計(jì))題目Linux進(jìn)程間通信的研究與實(shí)現(xiàn)學(xué)生姓名楊禮彪學(xué)號(hào)200906002441專(zhuān)業(yè)班級(jí)電信0904班指導(dǎo)教師李春樹(shù)職稱(chēng)教 授系(教研室)電子工程系指導(dǎo)過(guò)程記錄指導(dǎo)內(nèi)容記錄(一)1、明確選題背景,選題意義;2、確定選題,填寫(xiě)畢業(yè)設(shè)計(jì)任務(wù)書(shū);學(xué) 生 簽 名: 201 年 月 日指導(dǎo)教師簽名: 201 年 月 日指導(dǎo)內(nèi)容記錄(二)1、到圖書(shū)館查找和借閱與選題有關(guān)的文獻(xiàn)和資料;2、從中國(guó)知網(wǎng)上檢索和下載與選題有關(guān)的文獻(xiàn);學(xué) 生 簽 名: 201 年 月 日 指導(dǎo)教師簽名: 201 年 月 日指導(dǎo)內(nèi)容記錄(三)1、注意
14、論文格式,參照模板;2、參考文獻(xiàn)的創(chuàng)建時(shí)間要在三年之內(nèi);3、論文要突出自己設(shè)計(jì)的不同點(diǎn); 學(xué) 生 簽 名: 201 年 月 日 指導(dǎo)教師簽名: 201 年 月 日指導(dǎo)內(nèi)容記錄(四)1、圖形要有圖標(biāo),要夠清楚。2、文獻(xiàn)最好為最近出的期刊。學(xué) 生 簽 名: 201 年 月 日 指導(dǎo)教師簽名: 201 年 月 日指導(dǎo)過(guò)程記錄指導(dǎo)內(nèi)容記錄(五)1、注意文獻(xiàn)的引用要加引用標(biāo)注;2、制作一個(gè)能反映論文主要內(nèi)容的PPT,作答辯陳述用,陳述時(shí)間控制在 58分鐘;學(xué) 生 簽 名: 201 年 月 日 指導(dǎo)教師簽名: 201 年 月 日指導(dǎo)內(nèi)容記錄(六)1、英語(yǔ)名詞第一次介紹要有英文全稱(chēng)。2、論文大體上可以,但還
15、需修改,排版還不夠完善,設(shè)計(jì)內(nèi)容突出的同時(shí)還得讓人有視覺(jué)美感;學(xué) 生 簽 名: 201 年 月 日 指導(dǎo)教師簽名: 201 年 月 日指導(dǎo)內(nèi)容記錄(七)學(xué) 生 簽 名: 201 年 月 日 指導(dǎo)教師簽名: 201 年 月 日指導(dǎo)內(nèi)容記錄(八)學(xué) 生 簽 名: 201 年 月 日 指導(dǎo)教師簽名: 201 年 月 日答辯小組組長(zhǎng)意見(jiàn)(對(duì)情況是否屬實(shí)做出意見(jiàn))組長(zhǎng)(簽名): 201 年 月 日注:本表與畢業(yè)論文一起裝訂存檔。湖南科技學(xué)院本科畢業(yè)論文(設(shè)計(jì))評(píng)審表論文題目Linux進(jìn)程間通信的研究與實(shí)現(xiàn)作者姓名楊禮彪所屬系、專(zhuān)業(yè)、年級(jí)電子工程系 電子信息工程專(zhuān)業(yè) 2009年級(jí)指導(dǎo)教師姓名、職稱(chēng)李春樹(shù)
16、教授 字 數(shù)13000定稿日期中文摘要本論文闡述了在Linux環(huán)境下,對(duì)管道(pipe)、有名管道(named pipe)、信號(hào)量(semophore)、消息隊(duì)列(message queue)、信號(hào)(sinal)、共享內(nèi)存(shared memory)等幾種主要進(jìn)程間通信手段的內(nèi)部實(shí)現(xiàn)機(jī)制進(jìn)行了分析和比較,并針對(duì)每個(gè)通信手段的關(guān)鍵技術(shù)環(huán)節(jié)給出詳細(xì)的實(shí)現(xiàn)事例,為研究大型的應(yīng)用系統(tǒng)進(jìn)程間通信,提供一種有益的參考與借鑒。關(guān)鍵詞(3-5個(gè))linux環(huán)境,進(jìn)程,通信,設(shè)計(jì)英文摘要This paper describes the Linux environment, the pipeline (pipe
17、), named pipes (named pipe), semaphore (semophore), message queues (message queue), signal (sinal), shared memory (shared memory), such as several major means of inter-process communication mechanism of the internal implementation were analyzed and compared, and means of communication for each of th
18、e key technical aspects of the implementation details are given examples of the application of the system for the study of large-scale inter-process communication, provide a useful reference and experience.關(guān)鍵詞Linux environment, process, communicate, research指導(dǎo)教師評(píng)定成績(jī)?cè)u(píng)審基元評(píng)審要素評(píng)審內(nèi)涵滿分指導(dǎo)教師實(shí)評(píng)分選題質(zhì)量25%目的明確符合
19、要求選題符合專(zhuān)業(yè)培養(yǎng)目標(biāo),體現(xiàn)學(xué)科、專(zhuān)業(yè)特點(diǎn)和教學(xué)計(jì)劃的基本要求,達(dá)到畢業(yè)論文(設(shè)計(jì))綜合訓(xùn)練的目的。10理論意義或?qū)嶋H價(jià)值符合本學(xué)科的理論發(fā)展,有一定的學(xué)術(shù)意義;對(duì)經(jīng)濟(jì)建設(shè)和社會(huì)發(fā)展的應(yīng)用性研究中的某個(gè)理論或方法問(wèn)題進(jìn)行研究,具有一定的實(shí)際價(jià)值。10選題恰當(dāng)題目規(guī)模適當(dāng),難易度適中;有一定的科學(xué)性。5能力水平40%查閱文獻(xiàn)資料能力能獨(dú)立查閱相關(guān)文獻(xiàn)資料,歸納總結(jié)本論文所涉及的有關(guān)研究狀況及成果。10綜合運(yùn)用知識(shí)能力能運(yùn)用所學(xué)專(zhuān)業(yè)知識(shí)闡述問(wèn)題;能對(duì)查閱的資料進(jìn)行整理和運(yùn)用;能對(duì)其科學(xué)論點(diǎn)進(jìn)行論證。10研究方案的設(shè)計(jì)能力整體思路清晰;研究方案合理可行。5研究方法和手段的運(yùn)用能力能運(yùn)用本學(xué)科常規(guī)研
20、究方法及相關(guān)研究手段(如計(jì)算機(jī)、實(shí)驗(yàn)儀器設(shè)備等)進(jìn)行實(shí)驗(yàn)、實(shí)踐并加工處理、總結(jié)信息。10外文應(yīng)用能力能閱讀、翻譯一定量的本專(zhuān)業(yè)外文資料、外文摘要和外文參考書(shū)目(特殊專(zhuān)業(yè)除外)體現(xiàn)一定的外語(yǔ)水平。5論文質(zhì)量35%文題相符較好地完成論文選題的目的要求。5寫(xiě)作水平論點(diǎn)鮮明;論據(jù)充分;條理清晰;語(yǔ)言流暢。15寫(xiě)作規(guī)范符合學(xué)術(shù)論文的基本要求。用語(yǔ)、格式、圖表、數(shù)據(jù)、量和單位、各種資料引用規(guī)范化、符合標(biāo)準(zhǔn)。10論文篇幅10000字左右。5實(shí)評(píng)總分 成績(jī)等級(jí)指導(dǎo)教師評(píng)審意見(jiàn): 指導(dǎo)教師簽名:說(shuō)明:評(píng)定成績(jī)分為優(yōu)秀、良好、中等、及格、不及格五個(gè)等級(jí),實(shí)評(píng)總分90100分記為優(yōu)秀,8089分記為良好,7079分
21、記為中等,6069分記為及格,60分以下記為不及格。評(píng)閱教師評(píng)定成績(jī)?cè)u(píng)審基元評(píng)審要素評(píng)審內(nèi)涵滿分評(píng)閱教師實(shí)評(píng)分選題質(zhì)量25%目的明確符合要求選題符合專(zhuān)業(yè)培養(yǎng)目標(biāo),體現(xiàn)學(xué)科、專(zhuān)業(yè)特點(diǎn)和教學(xué)計(jì)劃的基本要求,達(dá)到畢業(yè)論文(設(shè)計(jì))綜合訓(xùn)練的目的。10理論意義或?qū)嶋H價(jià)值符合本學(xué)科的理論發(fā)展,有一定的學(xué)術(shù)意義;對(duì)經(jīng)濟(jì)建設(shè)和社會(huì)發(fā)展的應(yīng)用性研究中的某個(gè)理論或方法問(wèn)題進(jìn)行研究,具有一定的實(shí)際價(jià)值。10選題恰當(dāng)題目規(guī)模適當(dāng),難易度適中;有一定的科學(xué)性。5能力水平40%查閱文獻(xiàn)資料能力能獨(dú)立查閱相關(guān)文獻(xiàn)資料,歸納總結(jié)本論文所涉及的有關(guān)研究狀況及成果。10綜合運(yùn)用知識(shí)能力能運(yùn)用所學(xué)專(zhuān)業(yè)知識(shí)闡述問(wèn)題;能對(duì)查閱的資料進(jìn)
22、行整理和運(yùn)用;能對(duì)其科學(xué)論點(diǎn)進(jìn)行論證。10研究方案的設(shè)計(jì)能力整體思路清晰;研究方案合理可行。5研究方法和手段的運(yùn)用能力能運(yùn)用本學(xué)科常規(guī)研究方法及相關(guān)研究手段(如計(jì)算機(jī)、實(shí)驗(yàn)儀器設(shè)備等)進(jìn)行實(shí)驗(yàn)、實(shí)踐并加工處理、總結(jié)信息。10外文應(yīng)用能力能閱讀、翻譯一定量的本專(zhuān)業(yè)外文資料、外文摘要和外文參考書(shū)目(特殊專(zhuān)業(yè)除外)體現(xiàn)一定的外語(yǔ)水平。5論文質(zhì)量35%文題相符較好地完成論文選題的目的要求。5寫(xiě)作水平論點(diǎn)鮮明;論據(jù)充分;條理清晰;語(yǔ)言流暢。15寫(xiě)作規(guī)范符合學(xué)術(shù)論文的基本要求。用語(yǔ)、格式、圖表、數(shù)據(jù)、量和單位、各種資料引用規(guī)范化、符合標(biāo)準(zhǔn)。10論文篇幅10000字左右。5實(shí)評(píng)總分 成績(jī)等級(jí)評(píng)閱教師評(píng)審意見(jiàn)
23、: 評(píng)閱教師簽名:說(shuō)明:評(píng)定成績(jī)分為優(yōu)秀、良好、中等、及格、不及格五個(gè)等級(jí),實(shí)評(píng)總分90100分記為優(yōu)秀,8089分記為良好,7079分記為中等,6069分記為及格,60分以下記為不及格。湖南科技學(xué)院本科畢業(yè)論文(設(shè)計(jì))答辯記錄表論文題目Linux進(jìn)程間通信的研究與實(shí)現(xiàn)作者姓名楊禮彪所屬系、專(zhuān)業(yè)、年級(jí)電子工程系電子信息工程專(zhuān)業(yè) 2009年級(jí)指導(dǎo)教師姓名、職稱(chēng)李春樹(shù) 教授答 辯 會(huì) 紀(jì) 要時(shí)間地點(diǎn)三教608答辯小組成員姓 名職務(wù)(職稱(chēng))姓 名職務(wù)(職稱(chēng))姓 名職務(wù)(職稱(chēng))李春樹(shù)教 授李小武副教授李艷芳副教授楊 熙碩 士譚永宏副教授廖朝陽(yáng)碩 士答辯中提出的主要問(wèn)題及回答的簡(jiǎn)要情況記錄:1.楊熙老師
24、問(wèn):什么是親緣進(jìn)程,什么是非親緣進(jìn)程? 答:顧名思義,親緣進(jìn)程就是有一定親緣關(guān)系的進(jìn)程,這里指的就是父子進(jìn)程。非親緣進(jìn)程就是跨越了親緣,是兩個(gè)程序進(jìn)程,并非僅限于一個(gè)程序內(nèi)的父子進(jìn)程。2.李小武老師問(wèn):除了單機(jī)的進(jìn)程間通信,需要通過(guò)怎樣能實(shí)現(xiàn)跨機(jī)通信?可以通過(guò)套接字(socket)來(lái)實(shí)現(xiàn)跨越機(jī)子的通信。兩臺(tái)主機(jī)A和B,在A主機(jī)通過(guò)進(jìn)程C發(fā)送數(shù)據(jù)到套接字中,在B主機(jī)進(jìn)程D可以通過(guò)讀取套接字來(lái)獲得進(jìn)程C發(fā)送的消息。3.譚永宏老師問(wèn):在此次設(shè)計(jì)中你怎樣實(shí)現(xiàn)非親緣進(jìn)程間的通信?答:通過(guò)內(nèi)核中的消息隊(duì)列來(lái)實(shí)現(xiàn),通過(guò)寫(xiě)進(jìn)程往消息隊(duì)列中寫(xiě)東西,通過(guò)讀進(jìn)程從消息隊(duì)列中讀取內(nèi)容。寫(xiě)時(shí)可以設(shè)置消息類(lèi)型值,讀取時(shí)只
25、有存在匹配的消息類(lèi)型值(相當(dāng)于一個(gè)密碼)才能讀出東西。 會(huì)議主持人:記 錄 人: 年 月 日答辯小組意見(jiàn)評(píng)語(yǔ):評(píng)定等級(jí): 負(fù)責(zé)人(簽名): 年 月 日系學(xué)位委員會(huì)意見(jiàn)評(píng)語(yǔ):論文(設(shè)計(jì))最終評(píng)定等級(jí):負(fù)責(zé)人(簽名): 系部(公章) 年月 日校學(xué)位委員會(huì)意見(jiàn)評(píng)語(yǔ):評(píng)定等級(jí): 負(fù)責(zé)人(簽名): 年月 日目 錄緒論11 Linux系統(tǒng)32 Linux進(jìn)程52.1 進(jìn)程的概念52.2 進(jìn)程的構(gòu)成要素52.3 Linux進(jìn)程概述52.4 Linux進(jìn)程間關(guān)系52.5 進(jìn)程的創(chuàng)建62.6 Linux進(jìn)程間通信的介紹73 Linux進(jìn)程間通信機(jī)制103.1信號(hào)103.1.1 信號(hào)的概念103.1.2 信號(hào)的本
26、質(zhì)103.1.3 信號(hào)來(lái)源103.1.4 有關(guān)信號(hào)的系統(tǒng)調(diào)用signal103.2管道113.2.1 管道的概念及介紹113.2.2無(wú)名管道123.2.3無(wú)名管道實(shí)現(xiàn)通信133.2.4命名管道143.2.5讀寫(xiě)管道的特點(diǎn)153.2.6 命名管道實(shí)現(xiàn)通信153.3 System V IPC183.3.1 消息隊(duì)列183.3.2信號(hào)量233.3.3共享內(nèi)存313.4 linux通信機(jī)制的安全性研究363.5 總結(jié)分析38參考文獻(xiàn)39致 謝40Linux 進(jìn)程間通信的研究與實(shí)現(xiàn)摘要本論文闡述了在Linux環(huán)境下,對(duì)管道(pipe)、有名管道(named pipe)、信號(hào)量(semophore)、消息
27、隊(duì)列(message queue)、信號(hào)(sinal)、共享內(nèi)存(shared memory)等幾種主要進(jìn)程間通信手段的內(nèi)部實(shí)現(xiàn)機(jī)制進(jìn)行了分析和比較,并針對(duì)每個(gè)通信手段的關(guān)鍵技術(shù)環(huán)節(jié)給出詳細(xì)的實(shí)現(xiàn)事例,為研究大型的應(yīng)用系統(tǒng)進(jìn)程間通信,提供一種有益的參考與借鑒?!娟P(guān)鍵詞】linux環(huán)境,進(jìn)程,通信,研究The research and implementation of communication between Linux processesABSTRACTThis paper describes the Linux environment, the pipeline (pipe), name
28、d pipes (named pipe), semaphore (semophore), message queues (message queue), signal (sinal), shared memory (shared memory), such as several major means of inter-process communication mechanism of the internal implementation were analyzed and compared, and means of communication for each of the key t
29、echnical aspects of the implementation details are given examples of the application of the system for the study of large-scale inter-process communication, provide a useful reference and experience.【key word】Linux environment, process, communicate, research緒論 隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,計(jì)算機(jī)系統(tǒng)中運(yùn)行的應(yīng)用程序功能日益強(qiáng)大,孤立存在的,
30、獨(dú)立運(yùn)行的應(yīng)用程序越來(lái)越多,越來(lái)越多的程序相互間需要共享數(shù)據(jù)和不斷的交換信息。即使在同意應(yīng)用程序中,也常常包含多個(gè)進(jìn)程,它們之間同樣需要相互通信、共享和交換數(shù)據(jù),共同完成程序功能。Linux中一個(gè)進(jìn)程的地址空間內(nèi)的數(shù)據(jù)是私有的,別的進(jìn)程不可見(jiàn)1。不同類(lèi)型的進(jìn)程通信手段也常常是不同的,在程序設(shè)計(jì)中采用的進(jìn)程通信技術(shù)不同,對(duì)應(yīng)用程序的功能實(shí)現(xiàn)和運(yùn)行效率都有著重要影響。 Linux下的進(jìn)程通信機(jī)制基本上是從UNIX平臺(tái)上繼承而來(lái),linux 進(jìn)程間通信的幾種主要手段主要包括:管道(pipe)、命名管道(FIFO)、消息隊(duì)列、信號(hào)量和共享內(nèi)存2。其中管道和有名管道是最早的進(jìn)程間通信機(jī)制之一,管道可用于
31、具有親緣關(guān)系進(jìn)程間的通信,有名管道克服了管道沒(méi)有名字的限制,因此,除具有管道所具有的功能外,它還允許無(wú)親緣關(guān)系進(jìn)程間的通信。認(rèn)清管道和有名管道的讀寫(xiě)規(guī)則是在程序中應(yīng)用它們的關(guān)鍵,本文在詳細(xì)討論了管道和有名管道的通信機(jī)制的基礎(chǔ)上,用實(shí)例對(duì)其讀寫(xiě)規(guī)則進(jìn)行了程序驗(yàn)證,這樣做有利于增強(qiáng)讀者對(duì)讀寫(xiě)規(guī)則的感性認(rèn)識(shí),同時(shí)也提供了應(yīng)用范例 。共享內(nèi)存是直接用虛擬地址訪問(wèn)內(nèi)存中的數(shù)據(jù),不需要數(shù)據(jù)從內(nèi)核到客戶進(jìn)程的相互拷貝,它的通信效率是幾種進(jìn)程通信機(jī)制中最高的3。但是不用進(jìn)程讀/寫(xiě)一塊內(nèi)存空間的操作時(shí)微觀的、直接的、不能由內(nèi)核保證互斥性,進(jìn)程間也不會(huì)自動(dòng)到達(dá)同步,因此共享內(nèi)存需要與其他通信機(jī)制結(jié)合,來(lái)實(shí)現(xiàn)進(jìn)程的
32、同步與互斥。本文將信號(hào)量與消息隊(duì)列結(jié)合使用,利用信號(hào)量來(lái)協(xié)調(diào)進(jìn)程對(duì)消息隊(duì)列中數(shù)據(jù)的讀寫(xiě)(見(jiàn)3.3.3章節(jié)),并應(yīng)用于實(shí)例。隨著計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)的高速發(fā)展、全球信息化時(shí)代的到來(lái),給人們工作、生活的方方面面帶來(lái)方便和快捷的同時(shí),也帶來(lái)了信息安全方面威脅。非法入侵、竊取、篡改計(jì)算機(jī)系統(tǒng)中的重要數(shù)據(jù),給社會(huì)造成難以估量的損失。受我國(guó)計(jì)算機(jī)和電子工業(yè)水平的限制,國(guó)內(nèi)計(jì)算機(jī)系統(tǒng)的核心硬件幾乎完全依靠進(jìn)口,核心計(jì)算機(jī)系統(tǒng)軟件,例如操作系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)等,也基本上依賴(lài)國(guó)外技術(shù),因此我國(guó)信息化建設(shè)面臨著極大的威脅和挑戰(zhàn)4。在現(xiàn)在國(guó)內(nèi)外研究基礎(chǔ)上,計(jì)算機(jī)硬件和軟件系統(tǒng)要能發(fā)揮作用,必須通過(guò)操作系統(tǒng)的管理協(xié)調(diào)才
33、能完成,因此如果能有效的解決操作系統(tǒng)層的安全問(wèn)題,就很大程度上解決了信息系統(tǒng)硬件和軟件的安全問(wèn)題。Linux的出現(xiàn),在降低了開(kāi)發(fā)操作系統(tǒng)的門(mén)檻,為我國(guó)開(kāi)發(fā)自主安全的操作系統(tǒng)帶來(lái)機(jī)遇。而進(jìn)程間通信機(jī)制又為我們提供了數(shù)據(jù)傳輸方式,我們可以通過(guò)進(jìn)程間通信實(shí)現(xiàn)具有安全性的通信,為我們更好提升操作系統(tǒng)打下基礎(chǔ)。目前國(guó)內(nèi)外對(duì)Linux操作系統(tǒng)的安全性有所研究,但是其安全級(jí)別還是低于C2級(jí)(按美國(guó)國(guó)防部指定的TCSEC(Trusted Computer System Evaluation Criteria)5。這級(jí)別還不能滿足我們對(duì)于安全的需求,為了增強(qiáng)其安全功能,提供抗擊能力,需要實(shí)現(xiàn)更高級(jí)別的安全功能。
34、目前國(guó)內(nèi)外對(duì)Linux操作系統(tǒng)安全性研究還存在的問(wèn)題有:1) 超級(jí)用戶的權(quán)限太大,它擁有所有的特權(quán),一旦獲得超級(jí)用戶的權(quán)限,就獲得了對(duì)整個(gè)計(jì)算機(jī)系統(tǒng)的安全控制5。2) 文件訪問(wèn)控制簡(jiǎn)單:Linux對(duì)文件目錄的訪問(wèn)控制只能控制到用戶組,不能對(duì)單個(gè)用戶實(shí)現(xiàn)訪問(wèn)控制,權(quán)限粒度過(guò)粗。3) 缺少?gòu)?qiáng)制訪問(wèn)控制:Linux主要采用自主訪問(wèn)控制機(jī)制,缺乏強(qiáng)制訪問(wèn)控制機(jī)制5-6。4) 安全審計(jì)功能不足:Linux只有簡(jiǎn)單的審計(jì),而且主要是通過(guò)日志來(lái)進(jìn)行審計(jì),缺乏對(duì)日志數(shù)據(jù)的安全整性保護(hù),日志也可有能被入侵者修改,消除攻擊痕跡。就TCSEC評(píng)估來(lái)說(shuō),達(dá)到B級(jí)標(biāo)準(zhǔn)的操作系統(tǒng)即稱(chēng)為安全操作系統(tǒng),當(dāng)前我們的目標(biāo)是B1級(jí)
35、,要達(dá)到TCBSEC B1級(jí),主要需要實(shí)現(xiàn)強(qiáng)制訪問(wèn)控制功能。我們這里就針對(duì)“缺少?gòu)?qiáng)制訪問(wèn)控制”這個(gè)不足進(jìn)行改進(jìn),實(shí)現(xiàn)強(qiáng)制訪問(wèn)控制功能。 與文件訪問(wèn)類(lèi)似,通過(guò)操作系統(tǒng)進(jìn)程間通信機(jī)制對(duì)消息隊(duì)列、共享內(nèi)存、信號(hào)量,管道和FIFOS的訪問(wèn),也可以造成敏感信息的泄漏,對(duì)這些通信機(jī)制同樣要進(jìn)行強(qiáng)制訪問(wèn)控制檢查。因?yàn)楣艿篮虵IFOS實(shí)際上就是通過(guò)建立一個(gè)文件來(lái)實(shí)現(xiàn),所以對(duì)這兩種IPC機(jī)制的強(qiáng)制訪問(wèn)控制的實(shí)現(xiàn)可以參考文件系統(tǒng)的安全機(jī)制。在章節(jié)3.4集中討論System V IPC機(jī)制的安全,因?yàn)镮PC機(jī)制中消息隊(duì)列的安全級(jí)別不高,只達(dá)到自主訪問(wèn)級(jí),所以側(cè)重對(duì)消息隊(duì)列進(jìn)行安全性的改進(jìn)。 經(jīng)過(guò)對(duì)消息隊(duì)列安全性的修
36、改,Linux的IPC機(jī)制基本上實(shí)現(xiàn)了強(qiáng)制訪問(wèn)控制,向?qū)崿F(xiàn)linux安全操作系統(tǒng)邁進(jìn)了一步,為信息系統(tǒng)安全體系的建設(shè)打下堅(jiān)實(shí)的基礎(chǔ)。1 Linux系統(tǒng)Linux操作系統(tǒng)是UNIX操作系統(tǒng)的一種克隆系統(tǒng),最早是由芬蘭黑客林納斯.托瓦茲(Linus B. Torvalds)為嘗試在英特爾x86架構(gòu)上提供自由免費(fèi)的類(lèi)Unix操作系統(tǒng)而開(kāi)發(fā)的。該計(jì)劃開(kāi)始于1991年,林納斯·托瓦茲當(dāng)時(shí)在Usenet新聞組comp.os.minix登載帖子,這份著名的帖子標(biāo)示著Linux計(jì)劃的正式開(kāi)始。以后借助于Internet網(wǎng)絡(luò),并通過(guò)全世界各地計(jì)算機(jī)愛(ài)好者的共同努力,已成為今天世界上使用最多的一種UNI
37、X 類(lèi)操作系統(tǒng),并且使用人數(shù)還在迅猛增長(zhǎng)。 Linux是一套免費(fèi)使用和自由傳播的類(lèi)Unix操作系統(tǒng),是一個(gè)基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。它能運(yùn)行主要的UNIX工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位硬件。Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。它主要用于基于Intel x86系列CPU的計(jì)算機(jī)上。這個(gè)系統(tǒng)是由全世界各地的成千上萬(wàn)的程序員設(shè)計(jì)和實(shí)現(xiàn)的。其目的是建立不受任何商品化軟件的版權(quán)制約的、全世界都能自由使用的Unix兼容產(chǎn)品。技術(shù)上說(shuō)Linux是一個(gè)內(nèi)核?!皟?nèi)核”指的是一個(gè)提供硬件抽象層、磁盤(pán)
38、及文件系統(tǒng)控制、多任務(wù)等功能的系統(tǒng)軟件。一個(gè)內(nèi)核不是一套完整的操作系統(tǒng)。一套基于Linux內(nèi)核的完整操作系統(tǒng)叫作Linux操作系統(tǒng)。Linux的基本思想有兩點(diǎn):第一,一切都是文件;第二,每個(gè)軟件都有確定的用途。其中第一條詳細(xì)來(lái)講就是系統(tǒng)中的所有都?xì)w結(jié)為一個(gè)文件,包括命令、硬件和軟件設(shè)備、操作系統(tǒng)、進(jìn)程等等對(duì)于操作系統(tǒng)內(nèi)核而言,都被視為擁有各自特性或類(lèi)型的文件。至于說(shuō)Linux是基于Unix的,很大程度上也是因?yàn)檫@兩者的基本思想十分相近。絕大多數(shù)基于Linux內(nèi)核的的操作系統(tǒng)使用了大量的GNU軟件,包括了shell程序、工具、程序庫(kù)、編譯器及工具,還有許多其他程序,例如Emacs。正因?yàn)槿绱?,G
39、NU計(jì)劃的開(kāi)創(chuàng)者理查德·馬修·斯托曼博士提議將Linux操作系統(tǒng)改名為GNU/Linux,但有些人只把操作系統(tǒng)叫做“Linux”。由于這些系統(tǒng)工具和庫(kù)主要由GNU計(jì)劃提供,自由軟件基金會(huì)提議將該組合系統(tǒng)命名為GNU/Linux。Linux是一個(gè)領(lǐng)先的操作系統(tǒng),可以運(yùn)行在服務(wù)器和其他大型平臺(tái)之上,如大型機(jī)和超級(jí)計(jì)算機(jī)。世界上500個(gè)最快的超級(jí)計(jì)算機(jī)90%以上運(yùn)行Linux發(fā)行版或變種,最快的前10名超級(jí)計(jì)算機(jī)運(yùn)行的都是Linux操作系統(tǒng)。 Linux也廣泛應(yīng)用在嵌入式設(shè)備上,如手機(jī)、平板電腦、路由器、電視和電子游戲機(jī)等。在移動(dòng)設(shè)備上廣泛使用的Android操作系統(tǒng)就是創(chuàng)建在L
40、inux內(nèi)核之上的。Linux以它的高效性和靈活性著稱(chēng),Linux模塊化的設(shè)計(jì)結(jié)構(gòu),使得它既能在價(jià)格昂貴的工作站上運(yùn)行,也能夠在廉價(jià)的PC機(jī)上實(shí)現(xiàn)全部的Unix特性,具有多任務(wù)、多用戶的能力。Linux是在GNU公共許可權(quán)限下免費(fèi)獲得的,是一個(gè)符合POSIX標(biāo)準(zhǔn)的操作系統(tǒng)。Linux操作系統(tǒng)軟件包不僅包括完整的Linux操作系統(tǒng),而且還包括了文本編輯器、高級(jí)語(yǔ)言編譯器等應(yīng)用軟件。它還包括帶有多個(gè)窗口管理器的X-Windows圖形用戶界面,如同我們使用Windows NT一樣,允許我們使用窗口、圖標(biāo)和菜單對(duì)系統(tǒng)進(jìn)行操作。Linux由于其系統(tǒng)軟件的免費(fèi)獲取,硬件費(fèi)用低廉的特點(diǎn),近年來(lái)發(fā)展迅猛。Li
41、nux的應(yīng)用軟件已達(dá)上千兆。從DOS環(huán)境摸擬到圖像,音響信號(hào)的處理,從游戲到中文軟件,無(wú)所不包。各大軟件公司已紛紛開(kāi)始推出Linux版本的商業(yè)軟件。最近,對(duì)Linux所做的基準(zhǔn)測(cè)試表明,Pentium/100的速度可以跟SUN/20蓖美。94年底在華盛頓萬(wàn)國(guó)會(huì)議中心召開(kāi)了Linux世界年會(huì),各大軟件公司都派出了陣容強(qiáng)大的代表團(tuán),展出了豐富的Linux產(chǎn)品。Linux開(kāi)始進(jìn)入商業(yè)應(yīng)用時(shí)代。中國(guó)的Internet跟中國(guó)的經(jīng)濟(jì)一樣正經(jīng)歷大建設(shè),大發(fā)展時(shí)代,要在幾年內(nèi)把百座城市的上千所大學(xué),研究所聯(lián)成網(wǎng),急需大量的工作站和系統(tǒng)管理員,Linux不失為一個(gè)低費(fèi)用的選擇。利用現(xiàn)有的PC安裝上Linux系統(tǒng)
42、,就可以在各系,部門(mén)得到一臺(tái)專(zhuān)業(yè)的UNIX工作站,它可以作為Internet上的一個(gè)點(diǎn)。 目前,在操作系統(tǒng)市場(chǎng)上除了一些專(zhuān)業(yè)的領(lǐng)域外,微軟公司正在以其Windows95/NT的強(qiáng)勁攻勢(shì)橫掃全球市場(chǎng)。能與其相抗衡的公司越來(lái)越少,連微軟公司最大的對(duì)手擁有一大批忠心耿耿用戶的蘋(píng)果公司也不得不敗下陣來(lái),接受微軟公司的合作意向。但是在迅猛發(fā)展的國(guó)際互聯(lián)網(wǎng)上,有這樣一群人,他們是一支由編程高手、業(yè)余計(jì)算機(jī)玩家、黑客們組成的奇怪隊(duì)伍,完全獨(dú)立地開(kāi)發(fā)出在功能上毫不遜色于微軟公司的商業(yè)操作系統(tǒng)的一個(gè)全新的免費(fèi)UNIX操作系統(tǒng)Linux(發(fā)音為L(zhǎng)i-nucks),成為網(wǎng)絡(luò)上一支不可小覷的力量,并以不到四年的微薄資
43、格就成為微軟的一個(gè)強(qiáng)勁對(duì)手。據(jù)很不精確的統(tǒng)計(jì),全世界使用Linux操作系統(tǒng)的人已經(jīng)有數(shù)百萬(wàn)之多,而且絕大多數(shù)是在網(wǎng)絡(luò)上使用的。而在中國(guó),隨著Internet大潮的卷入,一批主要以高等院校的學(xué)生和ISP(Internet Service Provider)的技術(shù)人員組成的Linux愛(ài)好者隊(duì)伍也已經(jīng)蓬蓬勃勃地成長(zhǎng)起來(lái)??梢哉f(shuō)在中國(guó),隨著網(wǎng)絡(luò)的不斷普及,免費(fèi)而性能優(yōu)異的Linux操作系統(tǒng)必將發(fā)揮出越來(lái)越大的作用。 2 Linux進(jìn)程2.1 進(jìn)程的概念進(jìn)程是一個(gè)具有獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合的一次運(yùn)行活動(dòng)。它可以申請(qǐng)和擁有系統(tǒng)資源,是一個(gè)動(dòng)態(tài)的概念,是一個(gè)活動(dòng)的實(shí)體。它不只是程序的代碼,還包括當(dāng)前
44、的活動(dòng),通過(guò)程序計(jì)數(shù)器的值和處理寄存器的內(nèi)容來(lái)表示。2.2 進(jìn)程的構(gòu)成要素 從進(jìn)程的構(gòu)成要素來(lái)看,進(jìn)程由三部分組成,也就是進(jìn)程控制塊(Process Control Block,簡(jiǎn)稱(chēng)PCB),有關(guān)的程序段,以及操作的數(shù)據(jù)集。其中進(jìn)程控制塊主要包括進(jìn)程的一些描述信息、資源信息以及控制信息等。系統(tǒng)為每個(gè)進(jìn)程設(shè)置一個(gè)PCB,它是標(biāo)識(shí)和描述進(jìn)程存在及相關(guān)特性的數(shù)據(jù)塊,是進(jìn)城存在的唯一標(biāo)識(shí),是金城動(dòng)態(tài)特征的集中反映。當(dāng)創(chuàng)建一個(gè)進(jìn)程時(shí),系統(tǒng)首先完成其功能之后,系統(tǒng)則釋放PCB,進(jìn)程也隨之消亡。2.3 Linux進(jìn)程概述 .open系統(tǒng)調(diào)用返回的文件描述符是非負(fù)整型。 .每一個(gè)進(jìn)程都有自己的文件描述符集合。
45、 .當(dāng)創(chuàng)建進(jìn)程時(shí),通常有3個(gè)打開(kāi)文件描述符(0,1,2),0代表標(biāo)準(zhǔn)輸入,1代表標(biāo)準(zhǔn)輸出,2代表標(biāo)準(zhǔn)錯(cuò)誤,它們統(tǒng)稱(chēng)為標(biāo)準(zhǔn)IO。 .當(dāng)多個(gè)描述符指向同一個(gè)文件,每個(gè)文件描述符仍保持他獨(dú)特的性能。 .由于文件描述符在一個(gè)進(jìn)程中是特有的,因此不能在多個(gè)進(jìn)程中間實(shí)現(xiàn)共享,而唯一的例外是在父/子進(jìn)程之間,當(dāng)一個(gè)進(jìn)程調(diào)用fork時(shí),調(diào)用fork時(shí)打開(kāi)的所有文件在子進(jìn)程和父進(jìn)程中仍然是打開(kāi)的,而且子進(jìn)程寫(xiě)入文件描述符會(huì)影響到父進(jìn)程的同一文件描述符,反之亦然。2.4 Linux進(jìn)程間關(guān)系進(jìn)程之間有父子關(guān)系,如果一個(gè)進(jìn)程創(chuàng)建多個(gè)子進(jìn)程,那這些子進(jìn)程之間就有了兄弟關(guān)系。Linux中,進(jìn)程0和進(jìn)程1由內(nèi)核創(chuàng)建,進(jìn)程
46、1(init)是其他所有進(jìn)程的祖先。在進(jìn)程描述符表task_struct結(jié)構(gòu)中,以下字段表示進(jìn)程間的關(guān)系:Real_parent:指向創(chuàng)建進(jìn)程的P的進(jìn)程的描述符,如果P的父進(jìn)程不存在,就指向進(jìn)程1的描述符。Parent:指向P的當(dāng)前父進(jìn)程,往往與real_parent一致。當(dāng)出現(xiàn)Q進(jìn)程向P發(fā)出跟蹤調(diào)試ptrace()系統(tǒng)調(diào)用時(shí),該字段指向Q進(jìn)程描述符。Children:一個(gè)鏈表頭,該字段指向Q進(jìn)程描述符。Sibling:指向兄弟進(jìn)程鏈表的下一個(gè)元素或前一個(gè)元素的指針。另外,進(jìn)程間還存在其他關(guān)系:登錄會(huì)話關(guān)系、進(jìn)程組關(guān)系、線程組關(guān)系、跟蹤調(diào)試關(guān)系。在task_struct結(jié)構(gòu)中,以下字段表示這些
47、關(guān)系(假設(shè)當(dāng)前進(jìn)程為P):Group_leader:P所在進(jìn)程組的領(lǐng)頭進(jìn)程的描述符指針;Signal->pgrp:P所在進(jìn)程組的領(lǐng)頭進(jìn)程的PID;Tgid:P所在線程組的領(lǐng)頭進(jìn)程PID;Signal->session:一個(gè)鏈表頭,鏈表中的所有元素是被調(diào)試器程序跟蹤的P子進(jìn)程;Ptrace_list:當(dāng)P被調(diào)試跟蹤時(shí),指向調(diào)試跟蹤進(jìn)程的父進(jìn)程鏈表的前一個(gè)和下一個(gè)元素。2.5 進(jìn)程的創(chuàng)建創(chuàng)建一個(gè)進(jìn)程的系統(tǒng)調(diào)用很簡(jiǎn)單,我們只要調(diào)用fork函數(shù)就可以了。 #include<unistd.h> #include<sys/types.h> pid_t fork(); 當(dāng)
48、一個(gè)進(jìn)程調(diào)用了fork以后,系統(tǒng)會(huì)創(chuàng)建一個(gè)子進(jìn)程。這個(gè)子進(jìn)程和父進(jìn)程不同的地方只有他的進(jìn)程ID和父進(jìn)程ID,其他的都是一樣。就象符進(jìn)程克隆(clone)自己一樣。當(dāng)然創(chuàng)建兩個(gè)一模一樣的進(jìn)程是沒(méi)有意義的。為了區(qū)分父進(jìn)程和子進(jìn)程,我們必須跟蹤fork的返回值。當(dāng)fork掉用失敗的時(shí)候(內(nèi)存不足或者是用戶的最大進(jìn)程數(shù)已到)fork返回-1,否則fork的返回值有重要的作用。對(duì)于父進(jìn)程fork返回子進(jìn)程的ID,而對(duì)于fork子進(jìn)程返回0。我們就是根據(jù)這個(gè)返回值來(lái)區(qū)分父子進(jìn)程的。父進(jìn)程為什么要?jiǎng)?chuàng)建子進(jìn)程呢?前面我們已經(jīng)說(shuō)過(guò)了Linux是一個(gè)多用戶操作系統(tǒng),在同一時(shí)間會(huì)有許多的用戶在爭(zhēng)奪系統(tǒng)的資源。有時(shí)進(jìn)
49、程為了早一點(diǎn)完成任務(wù)就創(chuàng)建子進(jìn)程來(lái)爭(zhēng)奪資源。一旦子進(jìn)程被創(chuàng)建,父子進(jìn)程一起從fork處繼續(xù)執(zhí)行,相互競(jìng)爭(zhēng)系統(tǒng)的資源。有時(shí)候我們希望子進(jìn)程繼續(xù)執(zhí)行,而父進(jìn)程阻塞直到子進(jìn)程完成任務(wù)。這個(gè)時(shí)候我們可以調(diào)用wait或者waitpid系統(tǒng)調(diào)用。 #include <unistd.h>#include <sys/types.h>pid_t wait(int *stat_loc); pid_t waitpid(pid_t pid,int *stat_loc,int options); wait系統(tǒng)調(diào)用會(huì)使父進(jìn)程阻塞直到一個(gè)子進(jìn)程結(jié)束或者是父進(jìn)程接受到了一個(gè)信號(hào)。如果沒(méi)有父進(jìn)程沒(méi)有子進(jìn)
50、程或者他的子進(jìn)程已經(jīng)結(jié)束了wait會(huì)立即返回。成功時(shí)(因一個(gè)子進(jìn)程結(jié)束)wait將返回子進(jìn)程的ID,否則返回-1,并設(shè)置全局變量errno.stat_loc是子進(jìn)程的退出狀態(tài)。子進(jìn)程調(diào)用exit,_exit 或者是return來(lái)設(shè)置這個(gè)值。 為了得到這個(gè)值Linux定義了幾個(gè)宏來(lái)測(cè)試這個(gè)返回值。 WIFEXITED:判斷子進(jìn)程退出值是非0 WEXITSTATUS:判斷子進(jìn)程的退出值(當(dāng)子進(jìn)程退出時(shí)非0)。 WIFSIGNALED:子進(jìn)程由于有沒(méi)有獲得的信號(hào)而退出。 WTERMSIG:子進(jìn)程沒(méi)有獲得的信號(hào)號(hào)(在WIFSIGNALED為真時(shí)才有意義)。 waitpid等待指定的子進(jìn)程直到子進(jìn)程返回
51、。如果pid為正值則等待指定的進(jìn)程(pid)。如果為0則等待任何一個(gè)組ID和調(diào)用者的組ID相同的進(jìn)程。為-1時(shí)等同于wait調(diào)用。小于-1時(shí)等待任何一個(gè)組ID等于pid絕對(duì)值的進(jìn)程。 stat_loc和wait的意義一樣。 options可以決定父進(jìn)程的狀態(tài)??梢匀蓚€(gè)值 WNOHANG:父進(jìn)程立即返回當(dāng)沒(méi)有子進(jìn)程存在時(shí)。 WUNTACHED:當(dāng)子進(jìn)程結(jié)束時(shí)waitpid返回,但是子進(jìn)程的退出狀態(tài)不可得到。 父進(jìn)程創(chuàng)建子進(jìn)程后,子進(jìn)程一般要執(zhí)行不同的程序。為了調(diào)用系統(tǒng)程序,我們可以使用系統(tǒng)調(diào)用exec族調(diào)用.exec族調(diào)用有著5個(gè)函數(shù)。 #include <unistd.h>int
52、 execl(const char *path,const char *arg,.); int execlp(const char *file,const char *arg,.); int execle(const char *path,const char *arg,.); int execv(const char *path,char *const argv); int execvp(const char *file,char *const argv): exec族調(diào)用可以執(zhí)行給定程序,這樣父進(jìn)程與子進(jìn)程各行各職。2.6 Linux進(jìn)程間通信的介紹 Linux的進(jìn)程間通信,如圖2.1示。
53、其中,最初Unix IPC包括:管道、FIFO、信號(hào);System V IPC包括:System V消息隊(duì)列、System V信號(hào)燈、System V共享內(nèi)存區(qū);Posix IPC包括: Posix消息隊(duì)列、Posix信號(hào)燈、Posix共享內(nèi)存區(qū)。有兩點(diǎn)需要簡(jiǎn)單說(shuō)明一下:1)由于Unix版本的多樣性,電子電氣工程協(xié)會(huì)(IEEE)開(kāi)發(fā)了一個(gè)獨(dú)立的Unix標(biāo)準(zhǔn),這個(gè)新的ANSI Unix標(biāo)準(zhǔn)被稱(chēng)為計(jì)算機(jī)環(huán)境的可移植性操作系統(tǒng)界面(PSOIX)。現(xiàn)有大部分Unix和流行版本都是遵循POSIX標(biāo)準(zhǔn)的,而Linux從一開(kāi)始就遵循POSIX標(biāo)準(zhǔn);2)BSD并不是沒(méi)有涉足單機(jī)內(nèi)的進(jìn)程間通信(socket本身就可以用于單機(jī)內(nèi)的進(jìn)程間通信)。事實(shí)上,很多Unix版本的單機(jī)IPC留有BSD的痕跡,如4.4BSD支持的匿名內(nèi)存映射、4.3+BSD對(duì)可靠信號(hào)語(yǔ)義的實(shí)現(xiàn)等等。圖2.1 Linux所繼承
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 西安電子科技大學(xué)《女生太極拳》2023-2024學(xué)年第一學(xué)期期末試卷
- 南昌航空大學(xué)《專(zhuān)業(yè)日語(yǔ)單計(jì)算機(jī)組成原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 新鄉(xiāng)學(xué)院《應(yīng)急救護(hù)實(shí)訓(xùn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 江蘇大學(xué)京江學(xué)院《文化與創(chuàng)新制造之路》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海大學(xué)《神經(jīng)藥理學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 赤峰職業(yè)技術(shù)學(xué)院《運(yùn)動(dòng)損傷與康復(fù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 石家莊幼兒師范高等專(zhuān)科學(xué)校《職業(yè)規(guī)劃與就業(yè)指導(dǎo)一》2023-2024學(xué)年第一學(xué)期期末試卷
- 業(yè)主年末答謝活動(dòng)方案
- 業(yè)主裝修活動(dòng)方案
- 太學(xué)食堂美食節(jié)活動(dòng)方案
- 房地產(chǎn)市場(chǎng)報(bào)告 -2025年第一季度西安寫(xiě)字樓和零售物業(yè)市場(chǎng)報(bào)告
- 中國(guó)成人呼吸系統(tǒng)疾病家庭氧療指南(2024年)解讀課件
- 2026屆新高考地理精準(zhǔn)復(fù)習(xí)-從“情境”到“實(shí)踐”+破解人文地理認(rèn)知困境的具身化教學(xué)感悟
- 2024 - 2025學(xué)年人教版三年級(jí)下冊(cè)美術(shù)期末考試試卷及答案
- 2025-2030掛耳咖啡市場(chǎng)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 陜西省咸陽(yáng)市2025屆高三下學(xué)期高考模擬檢測(cè)(三)化學(xué)試題(含答案)
- 公司末梢裝維人員星級(jí)評(píng)定方案寬帶裝維星級(jí)評(píng)定
- 基礎(chǔ)會(huì)計(jì)試題及答案
- 2025長(zhǎng)城汽車(chē)人才測(cè)評(píng)答案
- 基于法律法規(guī)的網(wǎng)絡(luò)輿情風(fēng)險(xiǎn)評(píng)估模型-全面剖析
- 2025四川省安全員B證考試題庫(kù)
評(píng)論
0/150
提交評(píng)論