当前位置:天才代写 > 作业代写,留学生作业代写-北美、澳洲、英国等靠谱代写 > 操作系统代写 Virtual Memory Management代写 code代写 Web代写

操作系统代写 Virtual Memory Management代写 code代写 Web代写

2021-04-25 14:27 星期日 所属: 作业代写,留学生作业代写-北美、澳洲、英国等靠谱代写 浏览:848

操作系统代写

COMP SCI 3004/7064 – Operaing Systems 

操作系统代写 Your implementation of the code is due 11:30pm on Wed 24th October 2018 (Week 12) Your code will be submitted using SVN to the Web Submission System

Pracical 2: Virtual Memory Management

Due by 11:30pm Wed 24th October

Critical Information 

Submission 操作系统代写

Your implementation of the code is due 11:30pm on Wed 24th October 2018 (Week 12) Your code will be submitted using SVN to the Web Submission System

The SVN directory for your code is 2018/s2/os/assignment2

Your code should be written in C.

It will be compiled It will be run using

(seesection Running your code below for more details)

For late code submissions the maximum mark you can obtain will be reduced by 25% per day (or part thereof) past the due date or any extension you are granted.

Postgraduate students must complete and submit this assignment individually, making individual submissions.操作系统代写

Undergraduate students may choose to complete and submit in teams of at most two students.

操作系统代写
操作系统代写

COMP SCI 3004/7064-操作系统

实践2:虚拟内存管理

截止日期:10月24日,星期三,11:30

关键信息

提交您的代码实施应于2018年10月24日星期三(第12周)晚上11:30进行,您的代码将使用SVN分配到Web提交系统中
您的代码的SVN目录为2018 / s2 / os / assignment2您的代码应使用C语言编写。
它将被编译将使用
(请在下面运行您的代码以获取更多详细信息)操作系统代写

对于较晚提交的代码,您可以获得的最高分数将在到期日或您被授予的任何延期之后每天(或其中的一部分)减少25%。
研究生必须单独完成并提交此作业,并进行个人提交。
本科生可以选择最多由两个学生组成的小组来完成和提交。

Marking scheme 操作系统代写

This assignment is out of 20:

  • 4 marks for Part 1 (second chance algorithm, automarked)
  • 4 marks for Part 2 (enhanced second chance algorithm, automarked) 4 marks for Part 3 (additional reference bits algorithm, automarked)
  • 4 marks for Part 4 (enhanced additional reference bits algorithm, automarked)
  • 4 marks for Implementation quality (compilation, running, structure and comments in english; manually marked)

Task Description 操作系统代写

Following our discussion of memory management in lectures, this practical allows you to explore the techniques an operating system uses to manage virtual memory. Your task is to implement a program that simulates the behaviour of a memory system that performs demand paging using 4 different page replacement strategies.

The Virtual Memory Simulator

You will need to write a simulator that reads a memory trace and simulates the action of a virtual memory system with a single level page table. The system needs to simulate swapping to disk and use a specified algorithm for page replacement.

  • Your simulator should keep track of the status of the pages, including which page frames would be loaded in physical memory and which pages reside on disk.

The size of a page (in bytes) will be passed as the 2nd argument on the command line (See Running your code below for details).操作系统代写

The number of page frames that can be held in main memory will be passed as the 3rd argument on the command line (See Running your code below for details).

  • As the simulator processes each memory event from the trace:

It should check to see if the corresponding page is in physical memory (hit), or whether it needs to be swapped in from disk (pagefault).

If a pagefault has occurred, your simulator may need to choose a page to remove from physical memory. When choosing a page to replace, your simulator should use the algorithm specified by the4th argument passed on the command line (See Running your code below for details).

If the page to be replaced is dirty, it would need to be saved back to the swap disk. Your simulator should track when this occurs.

Finally, the new page is to be loaded into memory from disk, and the page table is updated.操作系统代写

  • Remember: This is just a simulation of the page table, so you do not actually need to read and write data from disk or memory. You just need to keep track of the events that would occur if this was a real system.
  • See textbook section 9.4 and the lecture slides for more details on page replacement.
  • See Input/Output Details section below for details on input file structure and output formating.

The page replacement strategies that you will be implementing are as follows:

评分方案 操作系统代写

此作业不超过20个:

第1部分有4个标记(第二次机会算法,已自动标记)
第2部分的4个标记(增强的第二次机会算法,自动标记)第3部分的4个标记(附加参考位算法,自动标记)
第4部分的4个标记(增强的附加参考位算法,已自动标记)
实施质量的4个标记(英语的编译,运行,结构和注释;手动标记)

任务描述

在我们的讲座中讨论了内存管理之后,此实践使您可以探索操作系统用于管理虚拟内存的技术。您的任务是实现一个程序,该程序模拟使用4种不同的页面替换策略执行请求分页的内存系统的行为。操作系统代写
虚拟内存模拟器

您将需要编写一个模拟器来读取内存跟踪并使用单级页表来模拟虚拟内存系统的启动。系统需要模拟到磁盘的交换,并使用指定的算法进行页面替换。

您的模拟器应跟踪页面状态,包括哪些页面框架将被加载到物理内存中以及哪些页面位于磁盘上。
页面大小(以字节为单位)将作为命令行的第二个参数传递(有关详细信息,请参见下面的“运行代码”)。
可以保留在主存储器中的页面框架数将作为第3个参数在命令行中传递(有关详细信息,请参见下面的“运行代码”)。
当模拟器处理跟踪中的每个内存事件时:
它应该检查相应的页面是否在物理内存中(命中),或者是否需要从磁盘交换(页面故障)。操作系统代写
如果发生页面错误,您的模拟器可能需要选择要从物理内存中删除的页面。选择要替换的页面时,模拟器应使用命令行中传递的第4个参数指定的算法(有关详细信息,请参见下面的“运行代码”)。
如果要替换的页面脏了,则需要将其保存回交换磁盘。您的模拟器应跟踪何时发生。
最后,新页面将从磁盘加载到内存中,并且页面表被更新。
请记住:这只是页表的模拟,因此实际上您不需要从磁盘或内存中读取和写入数据。您只需要跟踪如果这是一个真实的系统就会发生的事件。有关页面替换的更多详细信息,请参见9.4节教科书和讲义幻灯片。
有关输入文件结构和输出格式的详细信息,请参见下面的“输入/输出详细信息”。

Part 1 – Second Chance Algorithm 操作系统代写

The least recently used (LRU) page replacement algorithm consistently provides near-optimal replacement, however implementing true LRU can be expensive. A simple way of approxuimating LRU is the Second Chance (SC) algorithm, which gives recently referenced pages a second chance before replacement.

  • Your task is to set up your simulator to use the Second Chance algorithm.

Your simulator should use the Second Chance page replacement algorithm if the 4th argument passed on the command line is set to (See Running your code below for details).操作系统代写

  • This algorithm is described in the Text Book in section 9.4.5.2
  • A copy of this algorithm’s description will also be available on MyUni (see assignment description).

Part 2 – Enhanced Second Chance Algorithm

The Second Chance algorithm is simple, but many systems will try to improve on this using an algorithm that takes into account the added delay of writing a modified page to disk during replacement. The Enhanced Second Chance (ESC) algorithm tracks whether a page has been modified or not and uses that information as well as whether the page was recently referenced to choose which page to replace.操作系统代写

Update your simulator to use the Enhanced Second Chance algorithm.

  • Your simulator should use the Enhanced Second Chance page replacement algorithm if the 4th argument passed on the command line is  set to (See Running your code below for details).
  • This algorithm is described in the Text Book in section 9.4.5.3
  • Additional details on this algorithm are available in the Lecture Slides for Chapter 9
  • A copy of this algorithm’s description will also be available on MyUni.

您将要执行的页面替换策略如下:

第1部分-第二次机会算法

最近使用最少的(LRU)页面替换算法始终提供近乎理想的替换,但是实现真正的LRU可能会很昂贵。近似LRU的一种简单方法是Second Chance(SC)算法,该算法可以在替换之前为最近引用的页面提供第二次机会。
您的任务是设置模拟器以使用Second Chance算法。操作系统代写

如果第4个参数传递给了您的模拟器,则您的模拟器应使用Second Chance页面替换算法。
命令行设置为(有关详细信息,请参见下面的运行代码)。
该算法在9.4.5.2中的教科书中进行了描述
该算法描述的副本也将在MyUni上提供(请参阅分配描述)。

第2部分-增强的第二次机会算法

Second Chance算法很简单,但是许多系统将尝试使用一种算法来对此进行改进,该算法考虑了替换期间将修改后的页面写入磁盘的额外延迟。增强型第二次机会(ESC)算法跟踪页面是否已被修改,并使用该信息以及最近是否引用该页面来选择要替换的页面。
更新您的模拟器以使用增强的第二次机会算法。操作系统代写

如果第4个参数,您的模拟器应使用“增强的第二次机会”页面替换算法
在命令行上传递的值设置为(有关详细信息,请参见下面的“运行代码”)。
该算法在9.4.5.3中的教科书中进行了描述
有关此Al的其他详细信息gorithm可在第9章的幻灯片中找到。此算法描述的副本也将在MyUni上提供。

Part 3 – Additional Reference Bits Algorithm

A closer approximaytion of LRU than the second chance algortihm is the Additional Reference Bits (ARB) algorithm, which uses multiple bits to keep track of page access history. These bits are stored in a shiti register that regularly shifts right, removing the oldest bit.

Your task is to update your simulator to use the Additional Reference Bits algorithm.

  • Your simulator should use the Additional Reference Bits page replacement algorithm if the 4th argument passed on the command line is  set to (See Running your code below for details).操作系统代写
  • This algorithm is described in the Text Book in section 9.4.5.1
  • Your implementation should use an 8-bit shiti register, that shift to the right.
  • Bit shifting (right) should occur at a regular interval specified by the 5th argument passed on the command line (See Running your code below for details).

For example, if the interval provided is 5, then bit shifting should occur for all pages every 5th memory access.

  • +A copy of this description will also be available on MyUni.

Part 4 – Enhanced Additional Reference Bits Algorithm

Let’s combine the best aspects of ESC and ARB to create a new algorithm, Enhanced ARB (EARB). This algorithm will combine the improved access history of ARB with the awareness of modified pages from ESC.

Your task is to update your simulator to use the Enhanced ARB algorithm described below.操作系统代写

Your simulator should use the Enhanced Additional Reference Bits page replacement algorithm if the 4th

argument passed on the command line is set to This algorithm works as follows:

(See Running your code below for details).

If no pages are modified, or if only modified pages are resident, the algorithm should perform the same as ARB.

If both modified and unmodified pages are resident:

We want to avoid replacing the modified page unless it is several intervals older than the non modified page, so

A modified page should only be replaced if there does not exist a non-modified page that has been referenced within 3 intervals of the modified page.操作系统代写

e.g. given a modified page   a with shift register values   00000100 and a non modified page b with values 00001000 , replace b

a non modified page   b with values   00010000 , replace  b

a non modified page   b with values   00100000 , replace  b

In the above cases, a was last referenced 1, 2, and 3 intervals before respectively, so b will be replaced

a non modified page   b with values , replace

Here,was last referenced more 3 than intervals (4 in this case) before, so will be replaced

第3部分-附加参考位算法 操作系统代写

与第二次机会算法相比,LRU的近似性更高的是附加参考位(ARB)算法,该算法使用多个位来跟踪页面访问历史记录。这些位存储在定期移入的shi寄存器中,删除最旧的位。
您的任务是更新模拟器以使用附加参考位算法。

如果第4个参数,则模拟器应使用“附加参考位”页面替换算法
在命令行上传递的值设置为(有关详细信息,请参见下面的“运行代码”)。
该算法在9.4.5.1中的教科书中进行了描述
您的实现应使用一个位于右侧的8位shi寄存器。
位偏移(右)应按在命令行上传递的第5个参数指定的规则间隔发生(有关详细信息,请参见下面的“运行代码”)。
例如,如果提供的间隔为5,则每进行第5次内存访问,所有页面都应发生位偏移。
此说明的副本也将在MyUni上提供。

第4部分-增强的附加参考位算法

让我们结合ESC和ARB的最佳方面来创建一种新算法,即增强型ARB(EARB)。该算法将结合ARB的改进访问历史和ESC修改页面的意识。
您的任务是更新模拟器,以使用下面描述的增强型ARB算法。

如果第4位,模拟器应使用“增强的附加参考位”页面替换算法

在命令行上传递的参数设置为。此算法的工作原理如下:

(有关详细信息,请参见下面的运行代码)。操作系统代写

如果没有页面被修改,或者只有修改的页面被驻留,则算法应与ARB具有相同的性能。
如果同时存在已修改和未修改的页面:
我们希望避免替换已修改的页面,除非它比未修改的页面早几个间隔,所以
仅当在修改后的页面的3个间隔内没有被引用的未修改页面时,才应替换修改后的页面。
例如给定具有shi寄存器值00000100的已修改页面a和具有00001000的未修改页面b,则替换b
未修改的页面b的值为00010000,替换b
未经修改的页面b的值00100000,替换b
在上述情况下,a在重新指定之前最后被引用了1、2和3个间隔,因此b将被替换
未修改的页面b的值,替换

这里,

上次被引用的间隔比间隔(本例中为4)多3 操作系统代写

, 所以

将被替换

Input/Output Details 操作系统代写

Simulator Input – Memory Traces

We will provide you with a selection of memory traces to assist you developing your simulator. These will be a mix of specific test cases and real traces from running systems.操作系统代写

Each trace is a series of lines, containing two(2) values that represent memory accesses:

  1. Acharacter or that represents whether the memory access is a Read or Write respectively.
  2. A hexadecimal memory

A trace may also contain blank lines, and lines that start with both of these.

An example of a trace:

which are comments. Your system should ignore

Running your code 操作系统代写

Your code will be compiled using

gcc -std=c11 *.c -o memsim

folder.

The simulator should accept arguments as follows:

, and will use all

and

files in your SVN

  1. The filename of the tracefile
  2. The page/frame size in bytes (we recommend you use 4096 bytes whentesting).
  3. The number of page frames in the simulated
  4. The algorithm used(one of ).
  5. The ARB shift interval (only used for ARB and EARB, not presentotherwise)

The trace provided should be opened and read as a file, not parsed as text input from stdin. For example, your code might be run like this:

Where:

The program being run is ./memsim , 操作系统代写

the name of the input file is test.trace , a page is 4096 bytes,

there are 32 frames in physical memory,

the  Enhanced ARB algortihm ( ) is used for page replacement, and

the (E)ARB shift register shifts every 4 memory accesses.

Expected Output 操作系统代写

The simulator should run silently with no output until the very end, at which point it prints out a summary like this:

# This is a comment

R 0041f7a0

R 13f5e2c0

R 05e78900

R 004758a0

W 31348900

events in trace is the number of memory access’ in the trace. Should be equal to number of lines in the trace file that start with R or W. Blank line, or lines starting with # do not count.操作系统代写

total disk reads is the number of times pages have to be read from disk (page fault).

total disk writes is the number of times pages have to be writien back to disk.

We will provide a set of expected outputs to match the given memory traces.

输入/输出详细信息 操作系统代写

模拟器输入-内存跟踪

我们将为您提供精选的内存跟踪信息,以帮助您开发模拟器。这些将混合特定的测试用例和来自运行系统的真实跟踪。
每条迹线都是一系列的行,其中包含代表内存访问的两个(2)值:

1.一个字符或一个字符,表示内存访问分别是读还是写。
2.十六进制内存地址。

跟踪可能还包含空行以及以这两个行开头的行。
跟踪示例:

这是评论。您的系统应忽略

运行你的代码 操作系统代写

您的代码将使用文件夹进行编译。
模拟器应接受以下参数:

,并将全部使用

SVN中的文件

1.跟踪文件的文件名
2.页面/帧大小以字节为单位(建议您在调试时使用4096字节)。
3.模拟内存中的页面帧数。
4.使用的算法(之一)。
5,ARB间隔时间(仅用于ARB和EARB,否则不存在)

提供的跟踪应该打开并作为文件读取,而不应解析为来自stdin的文本输入。例如,您的代码可能像这样运行: 操作系统代写

在哪里:

正在运行的程序是./memsim,
输入文件的名称为test.trace,页面为4096字节,
物理内存中有32帧,
增强型ARB算法()用于页面替换,以及
(E)ARB寄存器会每4次访问一次。

预期产量

模拟器应该在无提示的情况下静默运行,直到最后一刻,它会打印出如下摘要:

追踪事件:1002050
磁盘读取总数:1751
总磁盘写入:932

跟踪中的事件是跟踪中的内存访问次数。应等于跟踪文件中以R或W开头的行数。空白行或以#开头的行不计算在内。
磁盘读取总数是必须从磁盘读取的消息页面数(页面错误)。
磁盘总写入数是必须将其写回磁盘的Mes页面数。

我们将提供一组预期的输出,以匹配给定的内存跟踪。

操作系统代写
操作系统代写

其他代写:algorithm代写 analysis代写 app代写 dataset代写 assembly代写 assignment代写 C++代写 code代写 course代写  java代写 web代写 北美作业代写 编程代写 考试助攻 program代写 source code代写 金融经济统计代写 加拿大代写 jupyter notebook代写

合作平台:essay代写 论文代写 写手招聘 英国留学生代写

 

天才代写-代写联系方式