計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)實(shí)驗(yàn)思考解答_第1頁(yè)
計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)實(shí)驗(yàn)思考解答_第2頁(yè)
計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)實(shí)驗(yàn)思考解答_第3頁(yè)
計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)實(shí)驗(yàn)思考解答_第4頁(yè)
計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)實(shí)驗(yàn)思考解答_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

《計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)》實(shí)驗(yàn)思考解答第一章操作系統(tǒng)實(shí)驗(yàn)體系介紹第一章無(wú)實(shí)驗(yàn)思考。第二章實(shí)驗(yàn)環(huán)境地搭建與使用一.實(shí)驗(yàn)二.一Linux常用命令地使用(一)在Linux,圖形界面與終端控制臺(tái)以與各終端控制臺(tái)之間在如何切換?使用ALT+F一~ALT+F六行各終端控制臺(tái)切換二.實(shí)驗(yàn)二.二Linux下C程序地編寫(xiě)make工具地編譯原理是什么?make是一個(gè)命令工具,它解釋Makefile地指令(規(guī)則)。在Makefile文件描述了整個(gè)工程所有文件地編譯順序,編譯規(guī)則。在執(zhí)行make

之前,需求一個(gè)命名為Makefile

地特殊文件(本文地后續(xù)將使用Makefile作為這個(gè)特殊文件地文件名)來(lái)告訴make需求做什么(完成什么任務(wù)),該怎么做。

(二)如何直接使用gcc命令完成myapp.c,greeting.h,greeting.c三個(gè)文檔地編譯?輸入以下兩條命令:gcc–cgreeting.c//生成greeting.o文件②gcc–ogreetingmyapp.cgreeting.o//把greeting.o與myapp.c一起編譯成可執(zhí)行文件greeting。第三章程控制與程調(diào)度一.實(shí)驗(yàn)三.一程地創(chuàng)建(一)總結(jié)調(diào)用fork()函數(shù)后地三種返回情況。fork()系統(tǒng)調(diào)用有三種返回情況:返回值>零,表示當(dāng)前程是父程,這個(gè)返回值為子程地程ID值;等于零,表示當(dāng)前程是子程;小于零,表示程創(chuàng)建失敗,需求報(bào)錯(cuò)。(二)總結(jié)fork()與wait()配合使用地情況,并嘗試在父程取消wait()函數(shù),觀察程地運(yùn)行情況。當(dāng)父程同時(shí)使用fork()與wait()/waitpid()函數(shù)時(shí),父程會(huì)處于阻塞狀態(tài)等待子程地運(yùn)行結(jié)束。如果父程沒(méi)有調(diào)用wait()/waitpid()函數(shù),則父程與其創(chuàng)建地子程屬于并發(fā)程,也就是父程與子程幾乎是獨(dú)立運(yùn)行地。二.實(shí)驗(yàn)三.二程調(diào)度算法地模擬(一)上述示例調(diào)度程序地調(diào)度模式是搶占式還是非搶占式?非搶占式(二)若要將上述示例調(diào)度程序地程運(yùn)行方式改為每運(yùn)行一次就將優(yōu)先數(shù)減二,同時(shí)將運(yùn)行時(shí)間加一,其它條件不變,則該如何修改?在running()函數(shù),將(p->nice)--;改為p->nice=p->nice-二;(三)如何將上述調(diào)度算法改為固定優(yōu)先數(shù)調(diào)度算法?需求保持示例代碼程地p->nice值保持不變,即在running()函數(shù),刪除(p->nice)--;第四章程通信與程同步一.實(shí)驗(yàn)四.一兩個(gè)程相互通信(一)示例代碼隨機(jī)數(shù)地取值對(duì)于模擬"石頭,剪刀,布"游戲很重要,如果取值不當(dāng),就可能出現(xiàn)大量局地情況,故請(qǐng)思考Linux隨機(jī)數(shù)地合理取值方法。有幾種方法可以實(shí)現(xiàn)隨機(jī)數(shù)地合理取值:①當(dāng)以時(shí)間作為種子,取隨機(jī)數(shù)時(shí),需求將時(shí)間岔開(kāi),以保證隨機(jī)數(shù)地合理。②以其它數(shù)值作為種子,如使用getpid()來(lái)獲得程PID。③用其它方法產(chǎn)生隨機(jī)數(shù)。(二)比較Linux操作系統(tǒng)地幾種IPC機(jī)制,并說(shuō)明它們各自適用于哪些場(chǎng)合。管道:無(wú)名管道簡(jiǎn)單方便.但局限于單向通信地工作方式.并且只能在創(chuàng)建它地程與其子孫程之間實(shí)現(xiàn)管道地享:有名管道雖然可以提供給任意關(guān)系地程使用.但是由于其長(zhǎng)期存在于系統(tǒng)之,使用不當(dāng)容易出錯(cuò)。消息隊(duì)列:消息緩沖可以不再局限于父子程.而允許任意程通過(guò)享消息隊(duì)列來(lái)實(shí)現(xiàn)程間通信.并由系統(tǒng)調(diào)用函數(shù)來(lái)實(shí)現(xiàn)消息發(fā)送與接收之間地同步.從而使得用戶(hù)在使用消息緩沖行通信時(shí)不再需求考慮同步問(wèn)題.使用方便,但是信息地復(fù)制需求額外消耗CPU地時(shí)間.不適宜于信息量大或操作頻繁地場(chǎng)合。享內(nèi)存:享內(nèi)存針對(duì)消息緩沖地缺點(diǎn)改而利用內(nèi)存緩沖區(qū)直接換信息,無(wú)須復(fù)制,快捷,信息量大是其優(yōu)點(diǎn)。但是享內(nèi)存地通信方式是通過(guò)將享地內(nèi)存緩沖區(qū)直接附加到程地虛擬地址空間來(lái)實(shí)現(xiàn)地.因此,這些程之間地讀寫(xiě)操作地同步問(wèn)題操作系統(tǒng)無(wú)法實(shí)現(xiàn)。需要由各程利用其它同步工具解決。另外,由于內(nèi)存實(shí)體存在于計(jì)算機(jī)系統(tǒng).所以只能由處于同一個(gè)計(jì)算機(jī)系統(tǒng)地諸程享。不方便網(wǎng)絡(luò)通信。二.實(shí)驗(yàn)四.二程同步實(shí)驗(yàn)(一)多線程并發(fā)與多程并發(fā)有何不同與相同處?在單核環(huán)境下,多線程并發(fā)時(shí),如果這些線程屬于同一個(gè)程,就屬于同一程地運(yùn)行,整個(gè)程地執(zhí)行效率提高。如果這些線程分屬于不同地程,就意味著多程之間地并發(fā)。在支持多線程地系統(tǒng),多程并發(fā)就是多線程并發(fā),而多線程并發(fā)不一定是多程并發(fā)。在多核環(huán)境下,多線程還可能并行。第五章內(nèi)存管理一.實(shí)驗(yàn)五.二頁(yè)面置換算法地模擬(一)分析比較各種頁(yè)面置換算法之間地差異。FIFO實(shí)現(xiàn)方便,缺頁(yè)率可以較高;OPT能最佳,但在現(xiàn)實(shí)無(wú)法實(shí)現(xiàn);LRU實(shí)現(xiàn)時(shí)較復(fù)雜,且需求硬件支持,現(xiàn)實(shí)常用近似算法如LFU等,但能較靠近OPT算法。第六章簡(jiǎn)單文件系統(tǒng)設(shè)計(jì)一.實(shí)驗(yàn)六.一:文件備份實(shí)驗(yàn)(一)使用系統(tǒng)調(diào)用函數(shù)open(),read(),write()與close()實(shí)現(xiàn)簡(jiǎn)單文件備份地原理是什么?首先分別打開(kāi)源文件(只讀方式)與目地文件(只寫(xiě)方式)。對(duì)于打開(kāi)地源文件,每次讀一個(gè)字節(jié),然后寫(xiě)入目地文件,如此循環(huán),直到文件結(jié)束。最后關(guān)閉兩個(gè)文件。(二)使用C語(yǔ)言庫(kù)函數(shù)fopen(),fread(),fwrite()與fclose()實(shí)現(xiàn)簡(jiǎn)單文件備份地原理是什么?首先分別打開(kāi)源文件(只讀方式)與目地文件(只寫(xiě)方式)。對(duì)于打開(kāi)地源文件,每次讀一零二四個(gè)字節(jié)(示例代碼buf地長(zhǎng)度),然后寫(xiě)入目地文件,如此循環(huán),直到文件結(jié)束。最后關(guān)閉兩個(gè)文件。(三)上述兩種方式地區(qū)別是什么?這兩種方法基本是類(lèi)似地,主要區(qū)別是一個(gè)是Linux操作系統(tǒng)提供地系統(tǒng)調(diào)用,一個(gè)C語(yǔ)言提供地庫(kù)函數(shù);另外,從示例代碼看使用C語(yǔ)言庫(kù)函數(shù)行文件備份地速度較快。二.實(shí)驗(yàn)六.二簡(jiǎn)單文件系統(tǒng)地模擬(一)示例代碼沒(méi)有給出明確地文件打開(kāi)(open)操作與讀(read)操作,請(qǐng)修改程序,實(shí)現(xiàn)文件打開(kāi)操作與讀操作,并說(shuō)明在文件系統(tǒng)提供與不提供打開(kāi)操作地情況下,讀寫(xiě)文件時(shí)地不同。當(dāng)系統(tǒng)沒(méi)有顯式提供打開(kāi)文件地操作時(shí),需求每次讀文件或?qū)懳募r(shí),都需求判斷該文件是否已經(jīng)打開(kāi),如果未打開(kāi),則打開(kāi)該文件,否則就直接執(zhí)行讀寫(xiě)操作。第七章編譯內(nèi)核(一)總結(jié)內(nèi)核編譯過(guò)程遇到地問(wèn)題與相應(yīng)地解決方案。略第八章系統(tǒng)調(diào)用(一)總結(jié)添加系統(tǒng)調(diào)用時(shí)出現(xiàn)地問(wèn)題與其原因與解決方案。略第九章虛擬內(nèi)存管理一.實(shí)驗(yàn)九.一統(tǒng)計(jì)系統(tǒng)缺頁(yè)次數(shù)(一)說(shuō)明本實(shí)驗(yàn)統(tǒng)計(jì)缺頁(yè)次數(shù)地原理,并闡述其合理。本實(shí)驗(yàn)是通過(guò)修改內(nèi)核源代碼來(lái)實(shí)現(xiàn)地,基本原理是增加一個(gè)長(zhǎng)整型變量pfcount(初值為零),用來(lái)統(tǒng)計(jì)缺頁(yè)次數(shù),在每次缺頁(yè)時(shí),對(duì)該變量地值增加一,輸出該變量地值,即為缺頁(yè)次數(shù)。這是從內(nèi)核層面統(tǒng)計(jì)缺頁(yè)次數(shù),結(jié)果是合理地。(二)總結(jié)實(shí)驗(yàn)過(guò)程出現(xiàn)地問(wèn)題與對(duì)應(yīng)地解決方法。略二.實(shí)驗(yàn)九.二統(tǒng)計(jì)一段時(shí)間內(nèi)地缺頁(yè)次數(shù)(一)如何驗(yàn)證實(shí)驗(yàn)結(jié)果地準(zhǔn)確?驗(yàn)證該實(shí)驗(yàn)地結(jié)果可以借助于實(shí)驗(yàn)九.一,即可通過(guò)編寫(xiě)程序地方式,在某個(gè)固定時(shí)間輸出系統(tǒng)缺頁(yè)次數(shù)與/proc/vmstat地pgfault字段地值,然后再過(guò)一段時(shí)間再輸出系統(tǒng)缺頁(yè)次數(shù)與/proc/vmstat地pgfault字段地值,取兩次地差值,相互驗(yàn)證實(shí)驗(yàn)結(jié)果是否一致。(二)嘗試使用更方便地方法讀取/proc/vmstat地字段,如使用Python編程或Shell編程。略(三)總結(jié)實(shí)驗(yàn)過(guò)程出現(xiàn)地問(wèn)題與對(duì)應(yīng)地解決方案。略第一零章內(nèi)核模塊編寫(xiě)一.實(shí)驗(yàn)一零.一編寫(xiě)一個(gè)簡(jiǎn)單地內(nèi)核模塊(一)總結(jié)并分析實(shí)驗(yàn)出現(xiàn)地問(wèn)題與對(duì)應(yīng)地解決方法。略(二)如何實(shí)現(xiàn)將多個(gè)源文件合并到一個(gè)內(nèi)核模塊?二.實(shí)驗(yàn)一零.二利用內(nèi)核模塊創(chuàng)建一個(gè)設(shè)備文件節(jié)點(diǎn)(一)說(shuō)明為什么內(nèi)核源代碼地輸出函數(shù)選用了printk()而不是常用地printf()。printf()在終端顯示,printk()函數(shù)為內(nèi)核空間里邊地信息打印函數(shù),就像c編程時(shí)用地printf()函數(shù)一樣,專(zhuān)供內(nèi)核地信息展示用。在內(nèi)核源代碼沒(méi)有使用printf()地原因是在編譯內(nèi)核時(shí)還沒(méi)有C地庫(kù)函數(shù)可以供調(diào)用。(二)思考bar,foo,jiffies與jiffies_too文件分別是什么類(lèi)型,它們是否可以行讀寫(xiě)。bar與foo為可讀文件,jiffies為只讀文件,jiffies_too為jiffies地鏈接文件(可讀可寫(xiě))。(三)總結(jié)并分析實(shí)驗(yàn)出現(xiàn)地問(wèn)題。略第一一章文件系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)一一設(shè)計(jì)一個(gè)簡(jiǎn)單地文件系統(tǒng)結(jié)合前面章節(jié)講述地內(nèi)核編譯知識(shí),將myext二文件系統(tǒng)直接編譯內(nèi)核,然后重啟內(nèi)核并掛載文件系統(tǒng)行測(cè)試。略。第一二章設(shè)備管理一.實(shí)驗(yàn)一二.一編寫(xiě)字符設(shè)備驅(qū)動(dòng)程序(一)修改測(cè)試文件,實(shí)現(xiàn)向字符設(shè)備寫(xiě)數(shù)據(jù)。intmain(){charbuf[四零九六]={"Ihavealreadytoldyou一timehelloworld"};intfd=open("/dev/hello",O_RDWR);intret=write(fd,buf,sizeof(buf));buf[ret]='\零';printf("%s\n",buf);}(二)總結(jié)并分析實(shí)驗(yàn)出現(xiàn)地問(wèn)題與對(duì)應(yīng)地解決方法。略。二.實(shí)驗(yàn)一二.二編寫(xiě)塊設(shè)備驅(qū)動(dòng)程序(一)總

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論