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

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

代做COMP2046、代寫Memory Management

時間:2023-12-17  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯


Coursework COMP2046: Memory Management and Concurrent Programming

 Weight: 20% module marks

Deadline: 22nd December 2023, 5pm Beiging time

Submission: Create a single scyXXX.zip (Student account) file containing your source code files and reports. We will need to rebuild your code to test your implementation. You should submit your single zip file through Moodle.

Copying Code and Plagiarism

 You may freely copy and adapt any code samples provided in the lab exercises or lectures. You may freely copy code samples from the Linux/POSIX websites, which has many examples explaining how to do specific tasks. This coursework assumes that you will do so and doing so is a part of the coursework. You are therefore not passing someone else’s code off as your own, thus doing so does not count as plagiarism. Note that some of the examples provided omit error checking for clarity of the code. You are required to add error checking wherever necessary.

You must not copy code samples from any other source, including another student on this or any other course, or any third party (such as GPT). If you do so then you are attempting to pass someone else’s work off as your own and this is plagiarism. The University takes plagiarism extremely

seriously and this can result in getting 0 for the coursework, the entire module, or potentially much worse.

Coding and Compiling Your Coursework

 You are free to use a code editor of your choice, but your code MUST compile and run on a Linux environment. It will be tested and marked on these machines.

IMPORTANT: There are source file memory_allocation_simulation.c available on Moodle for download that you must use. To ensure consistency across all students, apart from the number parameter setting changes and the required TODO code, you are not allowed to change anything in the given source files. You need to compile your code using gcc compiler (e.g. gcc task1.c - o taks1 or gcc task2.c -pthread -o task2 ). Code cannot be successfully compiled on linux

     

 environment will receive ZERO marks.

 Introduction

 This coursework simulates real-world scenarios in memory management and concurrent programming. It is designed to deepen your understanding of these fundamental concepts through hands-on implementation and analysis.

Task 1: Memory Allocation Algorithm Implementation within a Bounded Buffer (6 Marks)

Objective

Implement and complete a memory allocation algorithm within a bounded buffer to emulate real- world memory management scenarios.

System Overview and Simulation Context

Code Base: You are provided with memory_allocation_simulation.c , which sets the groundwork for the simulation.

Simulation Environment: The code simulates a memory management system, reflecting typical real-world constraints and behaviors.

Random Memory Requests: The system generates multiple random memory requests, each with a unique ID, required memory size, allocation time, and duration.

Bounded Buffer Implementation: A bounded buffer, acting as a queue, stores up to 100 memory allocation requests. It manages incoming requests when immediate allocation is not feasible.

Memory Allocation Recording: A linked-list structure records the allocation status, with each node indicating process or hole status, request ID, and other relevant data.

Fixed-Size Memory Blocks: Memory is pre-allocated in 1MB (1024KB) blocks, subdivided into 1KB slices for allocation to requests.

Allocation Failure Handling: Requests failing immediate allocation due to space constraints or fragmentation are queued in the buffer.

Periodic Deallocation and Compaction: The system periodically deallocates memory and compacts freed spaces to optimize allocation efficiency.

 

 Configuration Parameters: The simulation works with a total memory size of 1MB, slice size of 1KB, and request sizes varying between 2KB to 50KB.

Detailed Requirements

Complete the Code: Complete the TODO code sections and enhance the provided simulation code to fully implement the memory management system.

Allocation Algorithms: Implement and integrate the Next Fit and Worst Fit allocation algorithms, in addition to the existing First Fit algorithm.

Memory Compaction: Develop a method to compact memory upon deallocation, improving allocation efficiency.

Submission

Submit task1.c containing your source code.

Ensure your code includes clear, explanatory comments.

Evaluation Criteria

Correct Implementation (**%): Accurate and efficient functioning of the Next Fit and Worst Fit algorithms, and the memory compaction method.

Documentation and Comments (10%): Clarity and usefulness of comments explaining the logic behind your implementation.

   Task 2: Multi-threaded Producer-Consumer Simulation with Counted Semaphores (6 Marks)

Objective

Based on the memory management simulation provided by Task 1 ( task1.c ), the objective of this task is to develop a multi-threaded simulation of a producer-consumer system, specifically focusing on memory management. This task requires the use of counted semaphores to manage synchronization between multiple producer and consumer threads.

Detailed Requirements

 Thread Creation and Roles:

 

 Implement a multi-threaded environment with separate threads acting as producers and consumers.

Producers generate memory allocation requests, while consumers process these requests.

Producer Threads:

Each producer thread should generate a random number of memory allocation requests. Request sizes should be random within a specified range (e.g., 2KB to 50KB).

Once generated, these requests must be enqueued into a shared bounded buffer.

Consumer Threads:

Consumer threads are responsible for dequeuing and processing memory allocation

requests from the buffer.

Processing includes simulating the allocation or deallocation of memory blocks, adhering to the memory allocation algorithms implemented in Task 1.

Synchronization with Counted Semaphores:

Utilize counted semaphores to manage access to the shared bounded buffer effectively.

Implement semaphores to signal when the buffer is not empty (for consumers) and not full (for producers), ensuring efficient and safe operation of the producer-consumer system.

Ensure thread safety and prevent race conditions with proper semaphore operations (wait and signal).

Logging and Monitoring:

Provide console output indicating the activities of consumer threads, including

allocation and deallocation of memory blocks.

Include details such as thread ID, operation type, and memory block size in the log messages.

Evaluation Criteria

Implementation of Semaphores (30%): Efficient semaphore use. Functionality (30%): Proper thread operation.

Synchronization (30%): Effective synchronization method.

 

 Documentation and Comments (10%): Quality of comments. Submission

Submit a file named task2.c containing the source code for this simulation.

The code should be well-commented, detailing the implementation and usage of semaphores and thread interactions.

  Task 3: Testing and Performance Analysis (8 Marks)

Objective

Implement and write a report that evaluates the correctness and performance of your implementation in the real-world scenario simulation.

Detailed Requirements:

Test the program using different scenarios, such as varying numbers of producer and consumer threads, different buffer sizes, and a variety of memory allocation patterns.

Measure and analyze key performance metrics, such as throughput (requests processed per second), respond time (hint: you can sue logging time method in the lab to measure the time), and resource utilization.

Discuss the advantages and disadvantages of the chosen memory allocation algorithm in the context of the simulated real-world scenario.

Evaluation Criteria

Testing Accuracy (40%): The thoroughness and relevance of the testing scenarios. Performance Analysis (20%): Depth and accuracy of performance metrics analysis.

Algorithm Evaluation (20%): Critical analysis of the chosen memory allocation algorithm's effectiveness.

Report Quality (20%): Clarity, structure, and comprehensiveness of the written report.

Submission

 Submit a file named task3.pdf containing the report for this performance analysis. The

 

 report should clearly articulate the testing process, performance metrics, and your analysis of the memory allocation algorithm. The length of the report should be less than three pages.

You can also submit your supporting documents (optional):

Source code used to generate evaluation metrics. This code should be well-commented and organized for easy understanding.

Any additional supporting documents such as screenshots of testing, graphs, charts, or other visual aids that illustrate your testing and analysis.

Ensure that all documents are comprehensively labeled and easy to navigate.

 Conclusion

 Completing these tasks will provide invaluable experience in integrating and evaluating memory management algorithms within concurrent programming environments. Good luck, and remember that assistance is available if you have any questions or need further guidance.

 

請加QQ:99515681 或郵箱:99515681@qq.com   WX:codehelp

 

掃一掃在手機打開當前頁
  • 上一篇:G6017編程代做代寫、MATLAB編程設計代做
  • 下一篇:代做Writing a Dynamic Storage Allocator
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    2025年10月份更新拼多多改銷助手小象助手多多出評軟件
    2025年10月份更新拼多多改銷助手小象助手多
    有限元分析 CAE仿真分析服務-企業/產品研發/客戶要求/設計優化
    有限元分析 CAE仿真分析服務-企業/產品研發
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
  • 短信驗證碼 trae 豆包網頁版入口 目錄網 排行網

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

    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>
        亚洲国产裸拍裸体视频在线观看乱了中文| 欧美综合二区| 99视频精品免费观看| 亚洲大黄网站| 国产午夜精品久久久久久免费视| 欧美成人xxx| 正在播放亚洲一区| 欧美日韩午夜| 久久影院午夜论| 久久久最新网址| 国产精品毛片高清在线完整版| 美女脱光内衣内裤视频久久影院| 午夜精品成人在线| 亚洲天堂第二页| 欧美日韩亚洲一区二区三区四区| 亚洲老板91色精品久久| 国产精品一区二区久久| 亚洲毛片一区二区| 亚洲高清av在线| 一区在线免费观看| 国内精品嫩模av私拍在线观看| 亚洲欧美日韩在线综合| 这里是久久伊人| 国产精品永久免费在线| 久久夜色精品国产欧美乱极品| 久久精品日产第一区二区三区| 欧美中文字幕不卡| 久久综合狠狠综合久久激情| 久久久久国产成人精品亚洲午夜| 亚洲无限乱码一二三四麻| 国产精品久久久99| 美女任你摸久久| 久久国产精品亚洲va麻豆| 亚洲综合首页| 国产日韩欧美综合精品| 亚洲欧美日韩专区| 99国内精品久久久久久久软件| 国产婷婷色综合av蜜臀av| 欧美精品乱码久久久久久按摩| 亚洲一区二区精品在线| 欧美在线视频免费观看| 欧美成人第一页| 久久国产精品电影| 亚洲精品日韩在线| 国产精品第一区| 欧美日韩高清在线一区| 欧美色欧美亚洲另类二区| 亚洲激情二区| aa级大片欧美| 欧美久久精品午夜青青大伊人| 在线视频亚洲一区| 国产日韩在线一区二区三区| 日韩视频永久免费观看| 激情五月***国产精品| 欧美一区免费| 91久久中文| 国产视频精品免费播放| 免费成人在线视频网站| 亚洲一区二区三区精品在线观看| 亚洲视频在线一区| 亚洲精品一区二区网址| 久久精品青青大伊人av| 国产精品私人影院| 国产精品裸体一区二区三区| 亚洲国产精品成人精品| 欧美激情亚洲视频| 久久综合久久综合久久综合| 一本色道久久综合亚洲精品按摩| 亚洲欧洲一区二区三区| 欧美一区2区视频在线观看| 国产欧美日韩综合精品二区| 亚洲自拍偷拍一区| 欧美天堂亚洲电影院在线播放| 欧美日韩国产在线一区| 久久久久久久激情视频| 一区二区欧美国产| 久久蜜桃香蕉精品一区二区三区| 欧美亚洲不卡| 欧美精品一区二区三区在线播放| 狠狠综合久久av一区二区老牛| 久久精品伊人| 亚洲你懂的在线视频| 国内欧美视频一区二区| 欧美日韩美女| 久久九九久精品国产免费直播| 葵司免费一区二区三区四区五区| 国产精品99久久久久久白浆小说| 亚洲欧美激情一区二区| 在线国产精品一区| 国产午夜精品久久| 性欧美8khd高清极品| 欧美夫妇交换俱乐部在线观看| 国产精品成人播放| 亚洲三级影片| 在线播放豆国产99亚洲| 亚洲欧美日韩专区| 久久亚洲色图| 亚洲中字在线| 亚洲人成毛片在线播放| 狠狠做深爱婷婷久久综合一区| 国产日韩欧美在线播放| 国产精品久久久久久久久动漫| 久久视频精品在线| 中文日韩在线视频| 欧美中文字幕精品| 欧美国产综合| 久久久久久久国产| 亚洲永久字幕| 亚洲一区3d动漫同人无遮挡| 欧美大片在线观看一区二区| 欧美色图天堂网| 久久精品国产综合| 亚洲女优在线| 久久先锋影音av| 欧美激情二区三区| 蜜桃精品一区二区三区| 国产精品一区二区在线观看网站| 欧美激情黄色片| 久久人人爽人人爽爽久久| 亚洲精品在线一区二区| 国内欧美视频一区二区| 欧美在线观看视频在线| 欧美精品激情blacked18| 国产精品二区在线| 国产精品一区二区三区久久| 欧美一区=区| 亚洲欧美在线看| 久久婷婷国产麻豆91天堂| 欧美精品在线免费播放| 国产噜噜噜噜噜久久久久久久久| 国内精品久久久久久久影视麻豆| 亚洲精品欧美| 在线亚洲观看| 午夜精品在线视频| 亚洲午夜黄色| 国产模特精品视频久久久久| 国产麻豆午夜三级精品| 亚洲激情影视| 午夜精品在线| 久久99在线观看| 香蕉av777xxx色综合一区| 欧美人成在线| 美女999久久久精品视频| 欧美香蕉大胸在线视频观看| 久久精品女人的天堂av| 国产精品xnxxcom| 黄色在线一区| 男人插女人欧美| 狠久久av成人天堂| 久久国产天堂福利天堂| 99视频国产精品免费观看| 国产综合色在线| 欧美日韩中文在线| 久久久久久九九九九| 欧美日韩精品国产| 久久久精彩视频| 欧美午夜无遮挡| 亚洲特级片在线| 亚洲高清视频一区| 午夜精品婷婷| 香蕉乱码成人久久天堂爱免费| 亚洲电影免费观看高清完整版| 蜜桃久久av| 国产精品视频在线观看|