0% found this document useful (0 votes)
1 views

operating system memory management assignment (1)

The assignment requires the implementation of a memory management simulator that demonstrates various techniques, including fixed-sized memory partitioning, unequal-sized fixed partitioning, dynamic memory allocation, buddy system, and paging. Students must create a user interface for memory management, simulate process management, and implement at least two allocation strategies. The project should also include output displaying memory layouts, allocation tables, and fragmentation analysis, and is to be completed in groups of up to three members by the specified deadline.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views

operating system memory management assignment (1)

The assignment requires the implementation of a memory management simulator that demonstrates various techniques, including fixed-sized memory partitioning, unequal-sized fixed partitioning, dynamic memory allocation, buddy system, and paging. Students must create a user interface for memory management, simulate process management, and implement at least two allocation strategies. The project should also include output displaying memory layouts, allocation tables, and fragmentation analysis, and is to be completed in groups of up to three members by the specified deadline.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Assignment

Operating system.
You have studied various memory management techniques in operating system and its high time
to implement various memory management techniques as an computer Engineer. The different
techniques includes: fixed-sized memory partitioning, unequal-sized fixed partitioning, dynamic
memory allocation, buddy system and pagination.

Memory Management Simulator design Assignment

Objective:

To implement a memory management simulator design in a programming language of your


choice (e.g., C, C++, Java, Python) that demonstrates the following memory management
techniques:

 Fixed-sized memory partitioning


 Unequal-sized fixed partitioning
 Dynamic memory allocation
 Buddy system
 Paging

Requirements:

 Fixed-sized Memory Partitioning:

Divide the memory into fixed-size partitions.

Allocate processes to partitions using First Fit, Best Fit, or Worst Fit strategies.

Display the memory allocation status.

 Unequal-sized Fixed Partitioning:

Divide the memory into partitions of different sizes.

Allocate processes based on the partition sizes using appropriate strategies.

Display the memory allocation status.

 Dynamic Memory Allocation:

Use dynamic memory allocation techniques like the First Fit, Best Fit, or Worst Fit.

Implement allocation and de-allocation of memory blocks.

Handle external fragmentation.


Display the memory allocation status.

 Buddy system

Get a Big memory chunk and make a request of memory for the process of different size of your
choice.

Implement allocation and de-allocation of memory blocks.

 Paging:

Implement paging with a fixed page size.

Simulate the process of dividing the process memory into pages and the physical memory into
frames.

Use a page table to keep track of the mapping between pages and frames.

Display the memory allocation status.

 User Interface:

Create a simple UI that allows the user to:

Define the total size of memory.

Select a memory management technique.

Add or remove processes with specific memory requirements.

View the current memory allocation status.

 Process Management:

Simulate the arrival and departure of processes.

Each process should have a unique identifier and a specified memory requirement.

Memory Allocation Algorithms:

Implement at least two different allocation strategies (e.g., First Fit, Best Fit) for fixed-sized
partitioning and dynamic memory allocation.
 Output:

For each memory management technique, display:

The memory layout showing allocated and free partitions/blocks/frames.

The allocation table showing which process occupies which partition/block/frame.

Any fragmentation (internal or external) if applicable.

Try to run all the techniques/algorithm for the same size process and generate a comparison chart
and analyze the result.

This is a group assignment and make the group of three (max) and submit the assignment as per
the deadline stated in the class.

You might also like