下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)》實(shí)驗(yàn)思考解答第一章操作系統(tǒng)實(shí)驗(yàn)體系介紹第一章無實(shí)驗(yàn)思考。第二章實(shí)驗(yàn)環(huán)境地搭建與使用一.實(shí)驗(yàn)二.一Linux常用命令地使用(一)在Linux,圖形界面與終端控制臺以與各終端控制臺之間在如何切換?使用ALT+F一~ALT+F六行各終端控制臺切換二.實(shí)驗(yàn)二.二Linux下C程序地編寫make工具地編譯原理是什么?make是一個命令工具,它解釋Makefile地指令(規(guī)則)。在Makefile文件描述了整個工程所有文件地編譯順序,編譯規(guī)則。在執(zhí)行make
之前,需求一個命名為Makefile
地特殊文件(本文地后續(xù)將使用Makefile作為這個特殊文件地文件名)來告訴make需求做什么(完成什么任務(wù)),該怎么做。
(二)如何直接使用gcc命令完成myapp.c,greeting.h,greeting.c三個文檔地編譯?輸入以下兩條命令: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)前程是父程,這個返回值為子程地程ID值;等于零,表示當(dāng)前程是子程;小于零,表示程創(chuàng)建失敗,需求報錯。(二)總結(jié)fork()與wait()配合使用地情況,并嘗試在父程取消wait()函數(shù),觀察程地運(yùn)行情況。當(dāng)父程同時使用fork()與wait()/waitpid()函數(shù)時,父程會處于阻塞狀態(tài)等待子程地運(yùn)行結(jié)束。如果父程沒有調(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ù)減二,同時將運(yùn)行時間加一,其它條件不變,則該如何修改?在running()函數(shù),將(p->nice)--;改為p->nice=p->nice-二;(三)如何將上述調(diào)度算法改為固定優(yōu)先數(shù)調(diào)度算法?需求保持示例代碼程地p->nice值保持不變,即在running()函數(shù),刪除(p->nice)--;第四章程通信與程同步一.實(shí)驗(yàn)四.一兩個程相互通信(一)示例代碼隨機(jī)數(shù)地取值對于模擬"石頭,剪刀,布"游戲很重要,如果取值不當(dāng),就可能出現(xiàn)大量局地情況,故請思考Linux隨機(jī)數(shù)地合理取值方法。有幾種方法可以實(shí)現(xiàn)隨機(jī)數(shù)地合理取值:①當(dāng)以時間作為種子,取隨機(jī)數(shù)時,需求將時間岔開,以保證隨機(jī)數(shù)地合理。②以其它數(shù)值作為種子,如使用getpid()來獲得程PID。③用其它方法產(chǎn)生隨機(jī)數(shù)。(二)比較Linux操作系統(tǒng)地幾種IPC機(jī)制,并說明它們各自適用于哪些場合。管道:無名管道簡單方便.但局限于單向通信地工作方式.并且只能在創(chuàng)建它地程與其子孫程之間實(shí)現(xiàn)管道地享:有名管道雖然可以提供給任意關(guān)系地程使用.但是由于其長期存在于系統(tǒng)之,使用不當(dāng)容易出錯。消息隊(duì)列:消息緩沖可以不再局限于父子程.而允許任意程通過享消息隊(duì)列來實(shí)現(xiàn)程間通信.并由系統(tǒng)調(diào)用函數(shù)來實(shí)現(xiàn)消息發(fā)送與接收之間地同步.從而使得用戶在使用消息緩沖行通信時不再需求考慮同步問題.使用方便,但是信息地復(fù)制需求額外消耗CPU地時間.不適宜于信息量大或操作頻繁地場合。享內(nèi)存:享內(nèi)存針對消息緩沖地缺點(diǎn)改而利用內(nèi)存緩沖區(qū)直接換信息,無須復(fù)制,快捷,信息量大是其優(yōu)點(diǎn)。但是享內(nèi)存地通信方式是通過將享地內(nèi)存緩沖區(qū)直接附加到程地虛擬地址空間來實(shí)現(xiàn)地.因此,這些程之間地讀寫操作地同步問題操作系統(tǒng)無法實(shí)現(xiàn)。需要由各程利用其它同步工具解決。另外,由于內(nèi)存實(shí)體存在于計(jì)算機(jī)系統(tǒng).所以只能由處于同一個計(jì)算機(jī)系統(tǒng)地諸程享。不方便網(wǎng)絡(luò)通信。二.實(shí)驗(yàn)四.二程同步實(shí)驗(yàn)(一)多線程并發(fā)與多程并發(fā)有何不同與相同處?在單核環(huán)境下,多線程并發(fā)時,如果這些線程屬于同一個程,就屬于同一程地運(yùn)行,整個程地執(zhí)行效率提高。如果這些線程分屬于不同地程,就意味著多程之間地并發(fā)。在支持多線程地系統(tǒng),多程并發(fā)就是多線程并發(fā),而多線程并發(fā)不一定是多程并發(fā)。在多核環(huán)境下,多線程還可能并行。第五章內(nèi)存管理一.實(shí)驗(yàn)五.二頁面置換算法地模擬(一)分析比較各種頁面置換算法之間地差異。FIFO實(shí)現(xiàn)方便,缺頁率可以較高;OPT能最佳,但在現(xiàn)實(shí)無法實(shí)現(xiàn);LRU實(shí)現(xiàn)時較復(fù)雜,且需求硬件支持,現(xiàn)實(shí)常用近似算法如LFU等,但能較靠近OPT算法。第六章簡單文件系統(tǒng)設(shè)計(jì)一.實(shí)驗(yàn)六.一:文件備份實(shí)驗(yàn)(一)使用系統(tǒng)調(diào)用函數(shù)open(),read(),write()與close()實(shí)現(xiàn)簡單文件備份地原理是什么?首先分別打開源文件(只讀方式)與目地文件(只寫方式)。對于打開地源文件,每次讀一個字節(jié),然后寫入目地文件,如此循環(huán),直到文件結(jié)束。最后關(guān)閉兩個文件。(二)使用C語言庫函數(shù)fopen(),fread(),fwrite()與fclose()實(shí)現(xiàn)簡單文件備份地原理是什么?首先分別打開源文件(只讀方式)與目地文件(只寫方式)。對于打開地源文件,每次讀一零二四個字節(jié)(示例代碼buf地長度),然后寫入目地文件,如此循環(huán),直到文件結(jié)束。最后關(guān)閉兩個文件。(三)上述兩種方式地區(qū)別是什么?這兩種方法基本是類似地,主要區(qū)別是一個是Linux操作系統(tǒng)提供地系統(tǒng)調(diào)用,一個C語言提供地庫函數(shù);另外,從示例代碼看使用C語言庫函數(shù)行文件備份地速度較快。二.實(shí)驗(yàn)六.二簡單文件系統(tǒng)地模擬(一)示例代碼沒有給出明確地文件打開(open)操作與讀(read)操作,請修改程序,實(shí)現(xiàn)文件打開操作與讀操作,并說明在文件系統(tǒng)提供與不提供打開操作地情況下,讀寫文件時地不同。當(dāng)系統(tǒng)沒有顯式提供打開文件地操作時,需求每次讀文件或?qū)懳募r,都需求判斷該文件是否已經(jīng)打開,如果未打開,則打開該文件,否則就直接執(zhí)行讀寫操作。第七章編譯內(nèi)核(一)總結(jié)內(nèi)核編譯過程遇到地問題與相應(yīng)地解決方案。略第八章系統(tǒng)調(diào)用(一)總結(jié)添加系統(tǒng)調(diào)用時出現(xiàn)地問題與其原因與解決方案。略第九章虛擬內(nèi)存管理一.實(shí)驗(yàn)九.一統(tǒng)計(jì)系統(tǒng)缺頁次數(shù)(一)說明本實(shí)驗(yàn)統(tǒng)計(jì)缺頁次數(shù)地原理,并闡述其合理。本實(shí)驗(yàn)是通過修改內(nèi)核源代碼來實(shí)現(xiàn)地,基本原理是增加一個長整型變量pfcount(初值為零),用來統(tǒng)計(jì)缺頁次數(shù),在每次缺頁時,對該變量地值增加一,輸出該變量地值,即為缺頁次數(shù)。這是從內(nèi)核層面統(tǒng)計(jì)缺頁次數(shù),結(jié)果是合理地。(二)總結(jié)實(shí)驗(yàn)過程出現(xiàn)地問題與對應(yīng)地解決方法。略二.實(shí)驗(yàn)九.二統(tǒng)計(jì)一段時間內(nèi)地缺頁次數(shù)(一)如何驗(yàn)證實(shí)驗(yàn)結(jié)果地準(zhǔn)確?驗(yàn)證該實(shí)驗(yàn)地結(jié)果可以借助于實(shí)驗(yàn)九.一,即可通過編寫程序地方式,在某個固定時間輸出系統(tǒng)缺頁次數(shù)與/proc/vmstat地pgfault字段地值,然后再過一段時間再輸出系統(tǒng)缺頁次數(shù)與/proc/vmstat地pgfault字段地值,取兩次地差值,相互驗(yàn)證實(shí)驗(yàn)結(jié)果是否一致。(二)嘗試使用更方便地方法讀取/proc/vmstat地字段,如使用Python編程或Shell編程。略(三)總結(jié)實(shí)驗(yàn)過程出現(xiàn)地問題與對應(yīng)地解決方案。略第一零章內(nèi)核模塊編寫一.實(shí)驗(yàn)一零.一編寫一個簡單地內(nèi)核模塊(一)總結(jié)并分析實(shí)驗(yàn)出現(xiàn)地問題與對應(yīng)地解決方法。略(二)如何實(shí)現(xiàn)將多個源文件合并到一個內(nèi)核模塊?二.實(shí)驗(yàn)一零.二利用內(nèi)核模塊創(chuàng)建一個設(shè)備文件節(jié)點(diǎn)(一)說明為什么內(nèi)核源代碼地輸出函數(shù)選用了printk()而不是常用地printf()。printf()在終端顯示,printk()函數(shù)為內(nèi)核空間里邊地信息打印函數(shù),就像c編程時用地printf()函數(shù)一樣,專供內(nèi)核地信息展示用。在內(nèi)核源代碼沒有使用printf()地原因是在編譯內(nèi)核時還沒有C地庫函數(shù)可以供調(diào)用。(二)思考bar,foo,jiffies與jiffies_too文件分別是什么類型,它們是否可以行讀寫。bar與foo為可讀文件,jiffies為只讀文件,jiffies_too為jiffies地鏈接文件(可讀可寫)。(三)總結(jié)并分析實(shí)驗(yàn)出現(xiàn)地問題。略第一一章文件系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)一一設(shè)計(jì)一個簡單地文件系統(tǒng)結(jié)合前面章節(jié)講述地內(nèi)核編譯知識,將myext二文件系統(tǒng)直接編譯內(nèi)核,然后重啟內(nèi)核并掛載文件系統(tǒng)行測試。略。第一二章設(shè)備管理一.實(shí)驗(yàn)一二.一編寫字符設(shè)備驅(qū)動程序(一)修改測試文件,實(shí)現(xiàn)向字符設(shè)備寫數(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)地問題與對應(yīng)地解決方法。略。二.實(shí)驗(yàn)一二.二編寫塊設(shè)備驅(qū)動程序(一)總
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025品牌營銷策劃服務(wù)合同范本
- 綠色農(nóng)業(yè)發(fā)展與教育普及的雙重重要性
- 疫情背景下病患支持體系變革及其在未來的應(yīng)用展望分析報告
- 商業(yè)實(shí)戰(zhàn)中學(xué)生的創(chuàng)新思維與實(shí)踐能力鍛煉
- 二零二四年外墻保溫材料環(huán)保認(rèn)證與施工合同3篇
- 二零二五年度企事業(yè)單位炊事員服務(wù)合同3篇
- 部編語文六年級上冊:全冊單元、期中期末試卷文檔
- 2025年人教版PEP八年級地理上冊階段測試試卷含答案
- 2025年湘教新版必修3生物下冊階段測試試卷
- 2025年外研版七年級物理上冊階段測試試卷
- 乳腺癌的綜合治療及進(jìn)展
- 【大學(xué)課件】基于BGP協(xié)議的IP黑名單分發(fā)系統(tǒng)
- 2025年八省聯(lián)考高考語文試題真題解讀及答案詳解課件
- 信息安全意識培訓(xùn)課件
- 2024年山東省泰安市初中學(xué)業(yè)水平生物試題含答案
- 美的MBS精益管理體系
- 中國高血壓防治指南(2024年修訂版)解讀課件
- 2024安全員知識考試題(全優(yōu))
- 2024年衛(wèi)生資格(中初級)-中醫(yī)外科學(xué)主治醫(yī)師考試近5年真題集錦(頻考類試題)帶答案
- 中國大百科全書(第二版全32冊)08
- 醫(yī)院出入口安檢工作記錄表范本
評論
0/150
提交評論