合肥生活安徽新聞合肥交通合肥房產(chǎn)生活服務(wù)合肥教育合肥招聘合肥旅游文化藝術(shù)合肥美食合肥地圖合肥社保合肥醫(yī)院企業(yè)服務(wù)合肥法律

        代做CITS2002、C/C++語言程序代寫
        代做CITS2002、C/C++語言程序代寫

        時(shí)間:2024-10-09  來源:合肥網(wǎng)hfw.cc  作者:hfw.cc 我要糾錯(cuò)



        CITS2002 - Second Project
        A simple simulation of virtual memory
        • This project is worth 10% of the marks in the unit.
        • The project can be done in groups of two.
        • The due date of the project is October 17, 11:59 pm.
        • The project description is long, but the coding is simple. We will
        discuss the project in the workshops on Fridays.
        1 A simple simulation of virtual memory
        The aim of this project is to simulate a simple virtual memory system using
        an array as the RAM of a hypothetical machine. The project will also require
        some C programming skills of using structures and pointers.
        We have a computer whose RAM is an array of size 16. It is an array
        of pointers. There are 8 page frames in the RAM, each consisting of two
        contiguous locations in the array. Hence, the page size of this computer is 2.
        The virtual memory of this computer is an array of pointers of size **
        (We will pretend it is on disc, but actually it is an array in the RAM of
        our computer). There are 4 processes in this computer, and each proces can
        have 4 pages, and obviously all the pages of all the processes cannot be in
        the main memory at the same time. Some pages will be in the main memory
        and some pages will be in the virtual memory at any time. The processes are
        numbered 0 . . . 3. Each process has a page table, which is an integer array,
        entry of a process page table indicates whether the page is in RAM or in the
        virtual memory (on disc), k if the page is in RAM (k is the frame number,
        between 0 . . . 7), and 99 if the page is in disc (99 cannot be a frame number).
        You have to define a structure that will consist of three fields, a process
        id, a page number of the process, and the last time this page was accessed
        if it is in the RAM. Time in the simulation is not real time, rather a time
        step. Time increases in simulation steps, as explained below. The simulation
        starts (at time 0) by initializing the virtual memory with all the 4 pages of
        each process. You have to do the following steps before the simulation starts:
        1• Define a structure whose pointer will be stored in each array location
        of the RAM and the virtual memory. The structure may look like this:
        struct {
        int process_id;
        int page_num;
        int last_accessed;
        } memory;
        Initialise the process id and page num with the id of the process (a
        number between 0 . . . 3) and a page number of that process (a number
        between 0 . . . 3). Initialise all last access to 0.
        • Create each page and store pointers in the array for the virtual memory.
         Note that the process id and page num of two consecutive array
        locations will be the same since each page occupies two array locations.
        The simulation starts by reading a file where there is a single line of
        integers separated by blanks, for example:
        0 2 1 3 3 2 2 0 2 1 0 2 3 0
        Each integer indicates a process id. For example, the first number 0 indicates
         that the next page of process 0 has to be brought in from virtual
        memory to the RAM. The process table of process 0 and the RAM have to
        be updated accordingly. You can keep the content of the virtual memory
        unchanged, as that is how virtual memory systems work. Our processes do
        not do any computation, they just request the next page and later may write
        a page back to virtual memory. You can assume for simplicity that all the
        pages are always in the virtual memory and nothing needs to be written
        back, as no page is updated by doing any computation. The last accessed
        time of a page will be the time step when you brought the page to RAM.
        For example, after reading this file, the first (or 0th page of process 0 will
        be brought to RAM), the last accessed time of this page will be 0, as the
        simulation starts now and time is 0. Time will increase by 1 for each entry
        in the file.
        The RAM may become full sometime, you have to use the local Least
        Recently Used (LRU) algorithm for evicting a page and bringing a new page.
        2local means you have to evict the least recently used page of the same
        process for accommodating the new page. If there is no page of the process
        whose page you want to bring in, use a global LRU policy, evict the page
        that is least recently used among all pages in the RAM.
        2 Submission
        You have to write a C program in a single file called simulation.c, and
        compiled as an executable called simulation. It will read two file names from
        the command line, in.txt and out.txt. The first file is the one mentioned
        above, for reading process ids. The second file is an output file where you
        should print the following information at the end of the simulation. Your
        submission will be executed as:
        simulation in.txt out.txt
        • The page tables of the four processes in separate lines. For example,
        the page table for process 0 may look like this:
        3, 2, 1, 99
        This means there are three pages of process 0 in the RAM, pages 0, 1
        and 2, in frames 3, 2 and 1, and page 3 is in the disc.
        You have to also print the content of the RAM, each location separated
        by a ’;’. For example, the RAM may look like this:
        0,0,5; 0,0,5; 2,0,1; 2,0,1; etc. (16 entries)
        Note that, the first two locations of the RAM stores page 0 of process
        0, as each page occupies two array locations of the RAM. Also, this
        page was brought to RAM at time step 5.
        Amitava Datta
        September 2024


        請(qǐng)加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp








         

        掃一掃在手機(jī)打開當(dāng)前頁
      1. 上一篇:代做00301J 、Java設(shè)計(jì)編程代寫
      2. 下一篇: 代寫COMP612、代做C++程序設(shè)計(jì)
      3. 無相關(guān)信息
        合肥生活資訊

        合肥圖文信息
        急尋熱仿真分析?代做熱仿真服務(wù)+熱設(shè)計(jì)優(yōu)化
        急尋熱仿真分析?代做熱仿真服務(wù)+熱設(shè)計(jì)優(yōu)化
        出評(píng) 開團(tuán)工具
        出評(píng) 開團(tuán)工具
        挖掘機(jī)濾芯提升發(fā)動(dòng)機(jī)性能
        挖掘機(jī)濾芯提升發(fā)動(dòng)機(jī)性能
        海信羅馬假日洗衣機(jī)亮相AWE  復(fù)古美學(xué)與現(xiàn)代科技完美結(jié)合
        海信羅馬假日洗衣機(jī)亮相AWE 復(fù)古美學(xué)與現(xiàn)代
        合肥機(jī)場(chǎng)巴士4號(hào)線
        合肥機(jī)場(chǎng)巴士4號(hào)線
        合肥機(jī)場(chǎng)巴士3號(hào)線
        合肥機(jī)場(chǎng)巴士3號(hào)線
        合肥機(jī)場(chǎng)巴士2號(hào)線
        合肥機(jī)場(chǎng)巴士2號(hào)線
        合肥機(jī)場(chǎng)巴士1號(hào)線
        合肥機(jī)場(chǎng)巴士1號(hào)線
      4. 短信驗(yàn)證碼 酒店vi設(shè)計(jì) deepseek 幣安下載 AI生圖 AI寫作 aippt AI生成PPT 阿里商辦

        關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

        Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網(wǎng) 版權(quán)所有
        ICP備06013414號(hào)-3 公安備 42010502001045

        主站蜘蛛池模板: 97se色综合一区二区二区| 亚洲综合一区二区精品久久| 久久国产精品最新一区| 久久精品成人一区二区三区| 久久精品一区二区三区四区| 无码少妇一区二区浪潮av| 伊人久久精品一区二区三区 | 国产av一区最新精品| 天堂资源中文最新版在线一区| 免费一区二区三区在线视频| 国产精品无码一区二区在线 | 精品国产乱码一区二区三区| 国产在线精品一区二区在线观看| 精品日韩在线视频一区二区三区| 国产麻豆剧果冻传媒一区| 中文字幕人妻AV一区二区| 亚洲一区二区三区国产精品无码| 亚洲AV综合色一区二区三区| 亚洲国产精品一区二区成人片国内 | 精品人妻少妇一区二区三区不卡| 人妻AV一区二区三区精品| 国产人妖视频一区二区| 国产亚洲一区二区三区在线观看| 中日av乱码一区二区三区乱码| 久久精品国产第一区二区| 三上悠亚日韩精品一区在线| 狠狠色婷婷久久一区二区三区| 精品一区二区三区高清免费观看 | 国产福利一区二区三区在线视频| 麻豆aⅴ精品无码一区二区| 亚洲视频一区在线观看| 中文字幕av人妻少妇一区二区| 亚洲av无码一区二区三区在线播放 | 一区二区乱子伦在线播放| 国产成人精品视频一区二区不卡| 国产色综合一区二区三区| 精品一区二区三区自拍图片区| 精品一区二区视频在线观看| 国模无码一区二区三区| 精品成人一区二区三区免费视频| 精品久久久久中文字幕一区|