日韩精品一区二区三区高清_久久国产热这里只有精品8_天天做爽夜夜做爽_一本岛在免费一二三区

合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

代做SCI 3004、c++/Python程序設計代寫
代做SCI 3004、c++/Python程序設計代寫

時間:2024-09-19  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯



COMP SCI 3004/7064 Operating Systems 
Practical 2 – Virtual Memory Simulation 
Aim 
By doing this practical work, you will learn how to implement page replacement algorithms, gain 
experience in creating and evaluating a simple simulator, and develop your skills in scientific 
writing. 
You should work in groups of size 2 or 3. Each group will submit one simulator and one report. 
Deadlines: Code is due Tuesday 5th September 2023. 
 Report due end of week 8 - Friday 15th September. 
 
Introduction 
In chapter 22, we explore a variety of page replacement algorithms for managing virtual memory. 
The choice of a page replacement algorithm is actually quite a complex matter. To make the 
proper choice, we must know something about real applications. How do they access memory? Do 
they generate many page accesses in order? Do they skip around memory randomly? The only 
way to answer these questions is to see what real applications do. 
In this practical, you will evaluate how real applications respond to a variety of page replacement 
algorithms. Of course, modifying a real operating system to use different page replacement 
algorithms is quite difficult, so we will simulate it instead. You will write a program that emulates 
the behaviour of a memory system using a variety of page replacement algorithms. 
Then, you will use memory traces from real applications to evaluate your algorithms properly. A 
main outcome of your work will be a report. The report itself counts for 60% of this assignment. 
Memory Traces 
We provide you with four memory traces to use with your simulator. Each trace is a real recording 
of a running program, taken from the SPEC benchmarks. Real traces are enormously big: billions 
and billions of memory accesses. However, a relatively small trace will be more than enough to 
capture their memory access patterns. Each trace consists of only one million memory accesses 
taken from the beginning of each program. 
Each trace is a series of lines, each listing a hexadecimal memory address followed by R or W to 
indicate a read or a write. For example, gcc.trace trace starts like this: 
0041f7a0 R 
13f5e2c0 R 
05e78**0 R 
00**58a0 R 
31348**0 W 
Each trace is compressed with gzip, so you will have to download each trace and then uncompress 
it with a command like this: 
> gunzip –d gcc.trace.gz 
Simulator Requirements 
Your job is to build a simulator that reads a memory trace and simulates the action of a virtual 
memory system with a single level page table. The current simulator fixes the pages and page 
frames size to 4 KB (4096 bytes). Your program should keep track of what pages are loaded into 
memory. The simulator accepts 4 arguments as follows: 
• the name of the memory trace file to use. 
• the number of page frames in the simulated memory. 
• the page replacement algorithm to use: rand/lru/esc 
• the mode to run: quiet/debug 
If the mode is "debug", the simulator prints out messages displaying the details of each event in 
the trace. The output from “debug” it is simply there to help you develop and test your code. If the mode is "quiet", then the simulator should run silently with no output until the very end, at which 
point it prints out a summary of disk accesses and the page fault rate. 
As it processes each memory event from the trace, the simulator checks to see if the corresponding 
page is loaded. If not, it should choose a page to remove from memory. Of course, if the page to 
be replaced is dirty, it must be saved to disk. Finally, the new page is to be loaded into memory 
from disk, and the page table is updated. As this is just a simulation of the page table, we do not 
actually need to read and write data from disk. When a simulated disk read or disk write must 
occur, we simply increment a counter to keep track of disk reads and writes, respectively. 
Most of the input (reading a trace), simulation counters and output messages has already being 
implemented in the skeleton files provided for you. 
The skeleton reads the parameters, processes the trace files and for each access it generates a page 
read or write request. Your job is to complete the simulation of the memory management unit for 
each replacement policy: 
• rand replaces a page chosen completely at random, 
• lru always replaces the least recently used page 
• clock performs the replacement algorithm described in the textbook section 22.8. 
You should start thinking how you can keep track of what pages are loaded, how to find if the 
page is resident or not, and how to allocate frames to pages. Some short traces (trace1, trace2 and 
trace3) will be used in the testing script and are provided to facilitate local testing of your code. 
Report 
An important component of this practical is a report describing and evaluating the replacement 
algorithms. Your goal is run the simulator to learn as much as you can about the four memory 
traces (swim, bzip, gcc and sixpack). For example, 
How much memory does each traced program actually need? 
Which page replacement algorithm works best when having a low number of frames? 
Does one algorithm work best in all situations? 
Think carefully about how to run your simulator. Do not choose random input values. Instead, 
explore the space of memory sizes intelligently to learn as much as you can about the nature of 
each memory trace. 
Your group report should have the following sections: 
• Introduction: A brief section that describes using your own words the essential problem of 
page replacement you are trying to investigate. Do not copy and paste text from this 
project description. 
• Methods: A description of the set of experiments that you performed. As it is impossible to 
run your simulator with all possible inputs, so you must think carefully about what 
measurements you need. Make sure to run your simulator with an excess of memory, a 
shortage of memory, and memory sizes close to what each process actually needs. 
• Results: A description of the results obtained by running your experiments. Present the 
results using graphs that show the performance of each algorithm on each memory trace 
over a range of available memory sizes (alike figures 22.6 to 22.9 in the textbook). For 
each graph, explain the results and point out any interesting or unusual data points. 
• Conclusions: Summarize what you have learned from the results. 
The group report must be concise, well structured and free of typos and errors. For reference, a 
typical report length should be around 4 to 6 pages, roughly one page for the introduction and 
methods, half to one page per trace (graph and analysis of its results) and half to one page for 
conclusions. 
 
請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp





 

掃一掃在手機打開當前頁
  • 上一篇:COMP3702代做、代寫python設計編程
  • 下一篇:代做48730-32548,、c/c++,Python程序設計代寫
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
    合肥機場巴士2號線
    合肥機場巴士2號線
    合肥機場巴士1號線
    合肥機場巴士1號線
  • 短信驗證碼 酒店vi設計 deepseek 幣安下載 AI生圖 AI寫作 aippt AI生成PPT 阿里商辦

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    日韩精品一区二区三区高清_久久国产热这里只有精品8_天天做爽夜夜做爽_一本岛在免费一二三区

      <em id="rw4ev"></em>

        <tr id="rw4ev"></tr>

        <nav id="rw4ev"></nav>
        <strike id="rw4ev"><pre id="rw4ev"></pre></strike>
        欧美激情久久久久久| 免费日韩视频| 欧美视频二区36p| 亚洲欧美激情一区二区| 国内精品视频在线观看| 亚洲精品综合| 国产喷白浆一区二区三区| 国产日韩在线一区二区三区| 美国成人毛片| 国产一区二区三区精品久久久| 国产欧美精品日韩精品| 欧美日韩不卡| 亚洲精品美女在线观看| 国产亚洲欧美日韩日本| 国产欧美日韩| 欧美自拍偷拍| 亚洲精品国产无天堂网2021| 久久手机免费观看| 老妇喷水一区二区三区| 欧美色视频在线| 久久精品论坛| 尤物yw午夜国产精品视频明星| 国产视频精品网| 一本色道久久综合狠狠躁的推荐| av成人天堂| 中日韩美女免费视频网站在线观看| 亚洲美女免费视频| 亚洲精品乱码视频| 夜夜嗨av一区二区三区中文字幕| 欧美不卡一区| 日韩视频一区二区三区在线播放| 欧美成人免费大片| 久久久久九九九九| 亚洲婷婷国产精品电影人久久| 亚洲福利视频在线| 国产精品久久久久久影视| 黑人巨大精品欧美一区二区| 欧美成人精品在线视频| 91久久嫩草影院一区二区| 欧美日本久久| 欧美日韩一区二区免费视频| 性久久久久久久久久久久| 国产精品r级在线| 欧美国产亚洲另类动漫| 国产欧美综合在线| 国产精品午夜av在线| 国产亚洲精品成人av久久ww| 亚洲一区二区三区免费在线观看| 欧美不卡视频一区| 在线成人免费观看| 999亚洲国产精| 久久久久久伊人| 欧美日韩三级| 一本一本久久a久久精品综合麻豆| 久久天天躁夜夜躁狠狠躁2022| 欧美一区综合| 国产精自产拍久久久久久| 久久久中精品2020中文| 亚洲国产精品美女| 久久亚洲国产成人| 国产一区二区看久久| 影音先锋日韩资源| 久久久久88色偷偷免费| 亚洲欧美日韩久久精品| 欧美一区二区视频网站| 欧美日韩精品久久久| 黄色亚洲网站| 亚洲欧美日韩人成在线播放| 欧美在线观看网站| 国产精品久久久久永久免费观看| 国产欧美日韩一区二区三区| 亚洲国产裸拍裸体视频在线观看乱了| 日韩午夜剧场| 亚洲午夜视频在线| 欧美乱在线观看| 欧美日韩在线免费视频| 亚洲影音先锋| 欧美成人午夜免费视在线看片| 久久av资源网| 亚洲精品乱码久久久久久蜜桃91| 欧美一区二区三区免费观看视频| 亚洲一区中文字幕在线观看| 美女精品在线| 久久国产精品色婷婷| 亚洲欧美欧美一区二区三区| 国产一区美女| 亚洲精品乱码久久久久| 欧美jizz19hd性欧美| 欧美四级剧情无删版影片| 欧美日韩国产首页在线观看| 99在线热播精品免费99热| 国产精品影院在线观看| 国产精品国产三级国产普通话99| 亚洲免费在线精品一区| 亚洲人体1000| 欧美午夜片在线免费观看| 亚洲精品免费一二三区| 国产女主播一区二区| 精品成人a区在线观看| 国产一区亚洲| 99视频精品全国免费| 亚洲午夜久久久久久尤物| 国产精品毛片高清在线完整版| 1024亚洲| 亚洲一区二区四区| 亚洲视频二区| 欧美三级乱人伦电影| 国产精品综合不卡av| 欧美国产精品久久| 久久精品国产99国产精品澳门| 亚洲精品国产日韩| 欧美视频免费在线| 国产精品婷婷午夜在线观看| 国产欧美69| 中文在线资源观看网站视频免费不卡| 亚洲精品中文字幕女同| 亚洲电影在线| 国产精品私拍pans大尺度在线| 欧美中文字幕在线播放| 午夜精品一区二区三区电影天堂| 欧美激情在线狂野欧美精品| 国产精品亚洲综合一区在线观看| 日韩西西人体444www| 久久在线91| 欧美jizzhd精品欧美巨大免费| 久久精品二区亚洲w码| 免费精品99久久国产综合精品| 久久人人97超碰人人澡爱香蕉| 欧美亚洲自偷自偷| 久久久久久久久久久久久久一区| 亚洲激精日韩激精欧美精品| 国产精品女人网站| 亚洲激情一区二区| 久久黄色网页| 国产真实精品久久二三区| 蜜臀a∨国产成人精品| 亚洲午夜久久久久久尤物| 日韩一级大片| 99视频超级精品| 欧美国产一区二区三区激情无套| 亚洲美女精品一区| 欧美亚洲自偷自偷| 国产精品欧美一区喷水| 9i看片成人免费高清| 久久成人免费| 国产一区二区三区黄| 夜夜嗨av一区二区三区四季av| 亚洲成人在线免费| 欧美日韩99| 亚洲国产人成综合网站| 久久成人一区| 在线成人av| 国产精品欧美一区喷水| 欧美日韩亚洲一区二区三区四区| 99re6热在线精品视频播放速度| 欧美成人精品一区二区| 亚洲自拍偷拍麻豆| 久久久青草婷婷精品综合日韩| 亚洲美女精品成人在线视频| 欧美日韩免费网站| 国产精品免费看| 国产精品久久久久久久7电影| 乱人伦精品视频在线观看| 欧美大片免费观看在线观看网站推荐|