資源描述:
《操作系統(tǒng)-觀察軟中斷通信實(shí)驗(yàn).doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、操作系統(tǒng)實(shí)驗(yàn)報(bào)告題目:學(xué)院:觀查軟中斷通信實(shí)驗(yàn)姓名:學(xué)號(hào):班級(jí):1?實(shí)驗(yàn)?zāi)康?1)本實(shí)驗(yàn)要求學(xué)牛了解什么是信號(hào),掌握軟中斷的基木原理;掌握中斷信號(hào)的使用、進(jìn)程的創(chuàng)建以及系統(tǒng)計(jì)時(shí)器的使用。(2)通過(guò)對(duì)本實(shí)驗(yàn)的學(xué)習(xí),學(xué)生能夠?qū)W會(huì)進(jìn)程的創(chuàng)建方法,更能加深對(duì)Linux中的信號(hào)機(jī)制的認(rèn)識(shí),并會(huì)使用軟中斷信號(hào)來(lái)實(shí)現(xiàn)進(jìn)程間的通信。2實(shí)驗(yàn)內(nèi)容(1)學(xué)牛根據(jù)test2.c理解以下內(nèi)容:父進(jìn)程接受到軟中斷信號(hào)(STGQUTT)后,向其子進(jìn)程分別發(fā)送整數(shù)值為16的軟中斷信號(hào),子進(jìn)程獲得對(duì)應(yīng)軟中斷信號(hào)后,終止運(yùn)行;父進(jìn)程調(diào)用wait()函數(shù)等待子進(jìn)程終止,然后自我終止。由父進(jìn)程創(chuàng)建一個(gè)子進(jìn)程,通過(guò)終端輸入Crtl+
2、組合鍵向父進(jìn)程發(fā)送SIGQUIT軟中斷信號(hào)發(fā)送給父進(jìn)程;(2)編程實(shí)現(xiàn)以下內(nèi)容:由一個(gè)父進(jìn)程創(chuàng)建兩個(gè)子進(jìn)程,之后通過(guò)終端輸入Crtl+組合鍵向父進(jìn)程發(fā)送軟中斷信號(hào),終止兩個(gè)子進(jìn)程以及父進(jìn)程。由一個(gè)父進(jìn)程創(chuàng)建一個(gè)子進(jìn)程,之后該子進(jìn)程再創(chuàng)建一個(gè)孫進(jìn)程,通過(guò)終端輸入CrtR組合鍵向父進(jìn)程發(fā)送軟中斷信號(hào),依次終止孫進(jìn)程、子進(jìn)程、父進(jìn)程。3.實(shí)驗(yàn)環(huán)境Linux的Ubuntu操作系統(tǒng)4.實(shí)驗(yàn)步驟(過(guò)程)實(shí)驗(yàn)1:編譯并運(yùn)行程序test2.c,當(dāng)按下Crtl+組合鍵時(shí),打印出子進(jìn)程結(jié)束的信息,最后打印出父進(jìn)程結(jié)束的信息。創(chuàng)建一個(gè)子進(jìn)程;子進(jìn)程分別等待信號(hào)16,如果收到信號(hào)則顯示結(jié)朿信息,并發(fā)出結(jié)朿信
3、號(hào);父進(jìn)程等待SIGQUIT信號(hào),如果收到信號(hào)則向子進(jìn)程發(fā)送信號(hào)16,接著等子進(jìn)程結(jié)束,如果都結(jié)束了則顯示結(jié)束信息,并退出進(jìn)程。實(shí)驗(yàn)2:編寫兩種三個(gè)進(jìn)程通信情況。由一個(gè)父進(jìn)程創(chuàng)建兩個(gè)子進(jìn)程,之后通過(guò)終端輸入Crtl+組合鍵向父進(jìn)程發(fā)送軟中斷信號(hào),終止兩個(gè)子進(jìn)程以及父進(jìn)程。由一個(gè)父進(jìn)程創(chuàng)建一個(gè)子進(jìn)程,之后該子進(jìn)程再創(chuàng)建一個(gè)孫進(jìn)程,通過(guò)終端輸入Crtl+組合鍵向父進(jìn)程發(fā)送軟中斷信號(hào),依次終止孫進(jìn)程、子進(jìn)程、父進(jìn)程。5.實(shí)驗(yàn)結(jié)果(1)結(jié)果展示sUnux^osUnux-virtuabnachtne>/Docunents/codes$./test2arentprocessIs2533hildpro
4、cess2534iscreatedbytheparent2533childprocess2534iskilledbyparent2533arentprocessiskilled!sUnux§osUnux-virtuabnachtne>/DocuAents/co(les$
5、(2)結(jié)果解讀圖一:先創(chuàng)建了卩虹巳吐進(jìn)程,它的編號(hào)是2533.然后又創(chuàng)建了它的子進(jìn)程,編號(hào)是2534o按下終結(jié)信號(hào)ctrl+,子進(jìn)程2534被parent進(jìn)程2533終結(jié),然后parent進(jìn)程再終結(jié)。圖二:先創(chuàng)建parent進(jìn)程,它的編號(hào)是3022,然后parent進(jìn)程創(chuàng)建兩個(gè)兄弟進(jìn)程3024和3023o按下終結(jié)信號(hào)ct
6、rlA,先終結(jié)兩個(gè)兄弟進(jìn)程3023和3024,然后parent進(jìn)程3022終結(jié)。圖三:先創(chuàng)建parent進(jìn)程2022,然后創(chuàng)建孩子進(jìn)程2023,然后再創(chuàng)建孫子進(jìn)程2024o按下終結(jié)信號(hào)ctrl+,先終結(jié)孫子進(jìn)程2024,然后終結(jié)孩子進(jìn)程2023,最后parent進(jìn)程2022終結(jié)。3.程序代碼第二題:由一個(gè)父進(jìn)程創(chuàng)建兩個(gè)子進(jìn)程finclude#inclu(Jefinclude<$igndl.h>#includevoidwaiting^;voidstop();intwait,aark;intmain?)□7、pl?fork(B■?1);if(pl>0)//:?pliparen*press□(while((p2?forkO)—-1);if(p2=O)曰8、2qr-)elseB