Using a simple process generator generate a set of 50 processes with different memory and cycle (i.e. runtime)
requirements. The memory requirements for processes are in the range of <10KB, 2MB> and the runtimes range
between 200 and 2,500 cycles. You may assume that the processes arrive in the system every 50 cycles (e.g., at
times 0, 50,100, 150, 200, …etc.). Upon arrival, the system will allocate the required memory for each process,
however, a process can only start executing if the required memory is available and can be allocated. After the
process has completed the number of required cycles, the system will free the memory that was allocated to this
1. Assuming that the combined memory requirement of all 50 processes is less than 100 MB, use the system
calls malloc() and free() to dynamically allocate and de-allocate memory to your processes. Measure the
total system time that is required to simulate the execution of your 50 processes.
2. Develop your own memory management system using dynamic partitioning with corresponding function
calls my_malloc() and my_free() to manage a pre-defined block of memory of size 100 MB. The function
my_malloc() will try to find the required chunk of memory within the pre-defined 100 MB block and
allocate it to an arriving process. Upon completion, the memory partition is returned to the memory pool
via the function my_free(), to be used by other processes. Compare the performance of your memory
manager to the performance of malloc() and free(). Note that your memory manager only calls the
system’s malloc() once to request the initial 100 MB block, hence you are reducing the number of context
3. Develop your own memory management system using fixed (static) partitioning with corresponding
function calls my_malloc() and my_free() to manage a pre-defined block of memory of size 100 MB. You
will partition the available memory into uniform 5 MB regions. Compare the performance of your dynamic
memory management approach used above.
12 freelancers are bidding on average $41 for this job
i am system programmer and i can do it. Relevant Skills and Experience C Programming, C# Programming, C++ Programming, Java, Software Architecture Proposed Milestones $30 USD - def
Seems simple enough. Relevant Skills and Experience C/C++ programming. Proposed Milestones $25 USD - Payment after you have received the code and are happy with it.
I have been working on Systems Programming and know how malloc and free work so I can easily get this done for you Relevant Skills and Experience C++ programming Proposed Milestones $111 USD - Full milestone