歡迎來到裝配圖網! | 幫助中心 裝配圖網zhuangpeitu.com!
裝配圖網
ImageVerifierCode 換一換
首頁 裝配圖網 > 資源分類 > DOC文檔下載  

實驗1-可變分區(qū)存儲管理-不要上傳壓縮文件.

  • 資源ID:53612497       資源大小:159.50KB        全文頁數:8頁
  • 資源格式: DOC        下載積分:19積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要19積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

實驗1-可變分區(qū)存儲管理-不要上傳壓縮文件.

實驗一可變分區(qū)存儲管理請盡量到機房上機-(一)實驗題目編寫一個 C 程序,用 char malloc(unsigned size)函數向系統(tǒng)申請一次內存空間(如size=1000, 單位為字節(jié)),用首次適應法addr = (char *)fmalloc(unsigned size)和 ffree(unsigned size,char * addr)(基本要求)或循環(huán)首次適應法(提高一步)addr = (char *)lmalloc(unsigned size)和 lfree(unsigned size9char * addr)模擬UNIX可變分區(qū)內存管理,實現對該內存 區(qū)斷分配和釋放管理。(二) 實驗目的兼1加深對可變分區(qū)的存儲管理的理解;-2.提高用C語言編制大型系統(tǒng)程序的能力,特別是掌握C語言編程的難點:指針及指針作為函數參數。(三)實驗要求空閑存儲區(qū)表可采用結構數組的形式,建議采用一的數 狗為: 結構數組的形式:struct map unsigned m_size;char * m_addr;struct map coremapN;分配函數的參數size和釋放函數的參數size、addr 以鍵盤命令的形式輸入,每次分配和釋放后顯示 自己的空閑存儲區(qū)表。整個系統(tǒng)的基本框架為:(四) 實驗注意事項鍵盤命令的簡單形式如:通過fmalloc函數申請100字節(jié)的內存空間。 free 100 2567890通過ffree函數釋放起始地址為2567890的那個內 存區(qū),該地址先前通過fmalloc申請的有效存儲區(qū)地 址。為了避免輸入復雜的釋放地址,可采用輸入相對 地址的方法,如:f 100 300 (相對地址)調用ffree時再加上分配到的內存始地址。命令輸入可用C函數:scanf (“c”,&cmdchar); cmdchar =getchar ()或 scanf (“&cndstring)后跟B-亠*-scanf (“ u”,&siz£)或scanf (“ u % u", &size,&addr)o如采用通用的命令串的形式,還要調用一個串匹 配函數,以判斷是哪個命令??刹捎煤唵蔚淖x取單個命令字符的形式,由于 getchai或scanf可能讀入的是前一個命令留在鍵盤 輸入緩沖區(qū)內的'','tTn,等空白字符,為了 正確地讀入m, f等本次命令字符,需要預先濾去 輸入緩沖區(qū)的空白字符:doc=getchar();while(c=<n,|c=<t,|c= ')程序輸入、調試和測試可以在Linux的環(huán)境下進行,也可在Windows turbo C等的環(huán)境中進行,値Windows和turbo C 環(huán)境不直接支持I/O轉向,故在完成此項工作時 血蔣編譯啟產雖的執(zhí)行文myproc.exe存入 磁盤的策個目錄中,如是Windows,運行cmd 命令進入命令行窗口,運行程序,用I/O轉向生 成結果文件。如:myproCeexe > result.txt在Linux的環(huán)境下可直接運行:./myproc > resul(五)測試要求*- 一:程序調試基本通過后,應進行較為全面的測試, 建議采用白盒法的路徑測試方法,測試路徑應 包含分配算法的“首次”或“循環(huán)首次”、, 釋放算法的與鄰近空閑分區(qū)聯系的四種情況, 還要包含一些必要的出錯處理路徑。:可在測試通過后,可用I/O轉向使屏幕的輸出結 果轉至指定文件。注意,由于此時看不到提示 字符串和空閑存儲區(qū)表的輸出內容,欲釋放存 儲地址較難正確輸入,可采用以下幾種方法:宗測試通過后可用I/O轉向使屏幕的輸出結果轉 至指定文件。注意,由于此時看不到提示字符串權空困存儲區(qū)表的輸出內睿,欲釋取存儲地址較難正確輸入,可采用以下幾種方法:1.在不采用輸出轉向時先完整地運行一遍, 并記下所有的命令和參數,再用I/O轉向時“摸瞎”似地依次輸入各個命令和參數,由于malloc所分配的存儲區(qū)地址時用戶程序的虛地址空間,故同一程序的兩次運行的結果應當是 一樣的。為了使輸出結果文件也含有輸入的命 令串,應在輸入命令后,再將命令和參數輸出 至標準輸出設備。聚2.如fmalloc和ffree,是釆用相對地址的管理方 法(malloc所分配的地址+偏移地址),那么 一 _輸2血卑曲釋放地址就容易得多a宗3輸入也可采用I/O轉向,將預先設計好的所 有輸入次序(部分數據可在不采用I/O轉向運 行時輸入)寫入輸入文件,再用:myprog.exe < inputfile.txt > result.txt的形式執(zhí)行。宗4.對于文件的I/O較熟悉的學生可采用每次在 屏幕輸出后重復向文件輸出的方法,這樣上述 的問題就很容易解決了。(六)實驗數據和結果學生最后應當將實驗報告、程序、輸出結果文件和輸入命令文件(如果有的話)合并成一個 文件 9 女口progrcs.txt。如在cmd命令行窗口的合并方法是:copy myprogeC+input.txt+resultetxt progres.txt 在L i nux中的合并方法是:cat myprog>c input result > progres>txt(七)實驗報告要求實驗報告包含以下幾個方面:由百2. 算法思想和概要設計和重要模塊的詳細設計及功能和 接口說明。3. 重要數據結構和變量的說明。4. 源程序、注釋和結果。5. 測試方法,對測試結果的分析,錯誤的分析。6程序及測試的改進.本次上機經驗及體會。以上可以簡 化。直自己姓名(可以是漢語拼音)的運行情況和結果的截 &將實驗報告(1個文件,不要壓縮)發(fā)到作業(yè)系統(tǒng)中。9如實驗在機房中完成,經老師檢査后,實驗報告可簡化。參考答案:在霽紊玉習匾葺應扉需審的;3玉 (p67)有該題的參考答案,可以參考、 簡化,但不要照抄。去實驗環(huán)境可以是任何的C或C+虛擬機, 但要求編C程序,不要編C+程序。祭鼓勵編一個數組實現的循環(huán)首次適應法 的實驗程序,這只要在首次適應法的基 礎上略加修改。在機房Win7/Winl0允許telnet客戶端 控制面板> 程序> 程序和功能7錄Linux服務器(打開(啟用)或關閉windows功能) >勾選:Telnet客戶端>點擊確定 服務器地址:« * . 一10.12.111.242 10.12.111.243用戶名 studentl 5口令 同用戶名在Windows使用 VS 2008VS 2008新建項目,選Win32應用程序 控制臺應用程序下一步,選空項目,右擊 源程序添加新建項選文本文件,如輸 Amytest.c -添加生成解決方案 調試開 始執(zhí)行祭文件名*.c編譯運行結果在cmd窗口

注意事項

本文(實驗1-可變分區(qū)存儲管理-不要上傳壓縮文件.)為本站會員(小**)主動上傳,裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(點擊聯系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!