日韩精品一区二区三区高清_久久国产热这里只有精品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
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相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>
        久久亚洲精选| 国产视频在线观看一区二区| 欧美一区二区在线播放| 宅男在线国产精品| 久久精品亚洲精品| 亚洲欧美久久久久一区二区三区| 久久亚裔精品欧美| 欧美日韩亚洲高清一区二区| 国产伦精品一区二区三区视频孕妇| 欧美私人网站| 狠狠色2019综合网| 欧美精品日韩综合在线| 影音先锋日韩有码| 欧美日韩一区二区在线观看视频| 一本色道久久加勒比精品| 国产精品视频yy9099| 欧美一区亚洲一区| 免费在线成人av| 国产精品视频一区二区三区| 国产精品第13页| 精品成人乱色一区二区| 午夜精品免费| 国产精品狼人久久影院观看方式| 国产精品一级久久久| 欧美mv日韩mv国产网站app| 久久丁香综合五月国产三级网站| 国产精品女人毛片| 亚洲欧洲一区二区在线观看| 国产精品自拍一区| 欧美一区二区啪啪| 欧美激情亚洲另类| 国产精品久久久久一区二区三区共| 六月婷婷一区| 国产精品毛片a∨一区二区三区|国| 亚洲精品无人区| 国产综合色精品一区二区三区| 久久精品国产亚洲aⅴ| 欧美美女bbbb| 欧美好骚综合网| 国产精品一区久久久久| 国产一区二区三区免费不卡| 国产精品久久一区二区三区| 欧美人与禽猛交乱配视频| 亚洲午夜极品| 欧美一区二区三区精品电影| 国产精品99久久久久久久女警| 亚洲精品乱码视频| 宅男66日本亚洲欧美视频| 亚洲免费在线精品一区| 国产精品美女诱惑| 国外成人在线视频| 在线不卡中文字幕播放| 久久久久久久久岛国免费| 欧美中文在线视频| 亚洲成在人线av| 蜜臀99久久精品久久久久久软件| 国语自产精品视频在线看一大j8| 国产精品腿扒开做爽爽爽挤奶网站| 麻豆久久婷婷| 欧美成人亚洲成人日韩成人| 欧美午夜精品久久久久久人妖| 1024成人网色www| 国产日韩欧美电影在线观看| 亚洲欧美美女| 在线日韩成人| 蜜臀久久久99精品久久久久久| 欧美美女福利视频| 欧美日韩国产综合新一区| 国产亚洲精品久久久| 国产乱肥老妇国产一区二| 香蕉尹人综合在线观看| 久久精品国产一区二区电影| 久久另类ts人妖一区二区| 亚洲视频免费在线| 久久中文久久字幕| 亚洲午夜一区二区三区| 国产亚洲欧美激情| 亚洲午夜久久久久久尤物| 欧美日韩精品在线视频| 欧美日韩精品久久久| 欧美国产日韩在线| 美日韩精品视频免费看| 悠悠资源网久久精品| 亚洲精品在线视频| 免费日韩av电影| 欧美午夜在线观看| 在线午夜精品| 国产精品伦子伦免费视频| 欧美成人精品在线| 欧美日韩午夜剧场| 久久手机免费观看| 看片网站欧美日韩| 国产精品实拍| 亚洲第一精品影视| 久久九九久久九九| 一区二区三区免费在线观看| 狠狠久久婷婷| 亚洲一区视频在线| 欧美久久视频| 久久亚洲精品中文字幕冲田杏梨| 国产伦一区二区三区色一情| 欧美高清在线| 国产日韩欧美一区二区| 国产欧美日韩综合一区在线播放| 久久久久久9999| 欧美在线免费看| 一本综合精品| 欧美高清影院| 亚洲乱码视频| 久久婷婷亚洲| 欧美日韩亚洲综合一区| 国产欧美精品日韩区二区麻豆天美| 欧美成ee人免费视频| 亚洲精品久久久一区二区三区| 亚洲视频一区二区在线观看| 在线亚洲欧美专区二区| 在线成人激情视频| 欧美在线网址| 欧美日韩久久久久久| 国产又爽又黄的激情精品视频| 久久一区中文字幕| 亚洲免费观看在线视频| 国产欧美日韩视频一区二区三区| 亚洲精品乱码久久久久久按摩观| 亚洲精品乱码久久久久久按摩观| 国语自产精品视频在线看| 欧美日韩亚洲不卡| 久久一区二区三区超碰国产精品| 欧美日韩一区三区四区| 欧美日韩三级电影在线| 久久成人综合视频| 一本色道久久综合精品竹菊| 伊人蜜桃色噜噜激情综合| 韩国一区二区三区在线观看| 久久成人免费视频| 国产精品自拍小视频| 亚洲一区二区三| 欧美在线视频不卡| 国产美女扒开尿口久久久| 国产精品日韩欧美一区| 狠狠色丁香久久综合频道| 久久av一区二区三区亚洲| 国产精品一区二区三区久久| 国产精品毛片一区二区三区| 亚洲欧美日韩精品久久久| 极品尤物久久久av免费看| 免费不卡欧美自拍视频| 国产精品日韩一区二区| 亚洲欧美自拍偷拍| 黄色成人av网| 禁久久精品乱码| 国产精品亚洲аv天堂网| 亚洲欧美另类中文字幕| 1000精品久久久久久久久| 久久国产日本精品| 亚洲欧美日韩视频二区| 伊人久久婷婷色综合98网| 一区二区三区视频观看| 久久这里只精品最新地址| 久久国产精品久久w女人spa| 欧美中文在线视频| 欧美精品福利视频| 国产日韩精品在线观看| 亚洲专区一区二区三区|