OSY Second Micro Project Report On Developing A Simulation of Memory Management Techniques Like Paging Segmentation and Virtual Memory
OSY Second Micro Project Report On Developing A Simulation of Memory Management Techniques Like Paging Segmentation and Virtual Memory
com/
Annexure – I
2. Simulation Design:
● Define the simulation requirements, such as the programming
language, simulation environment, and data structures to be used.
● Design the architecture of the simulation, considering the
components necessary for each memory management technique
(e.g., page tables, segment tables, memory allocation algorithms).
3. Implementation:
● Implement the simulation framework based on the design.
● Develop the necessary algorithms and data structures for each
memory management technique (paging, segmentation, virtual
memory).
● Incorporate additional features like process creation, memory
allocation, and deallocation mechanisms.
4. Experimental Setup:
● Define the metrics for evaluating the efficiency of memory
management techniques, such as memory utilization and access
time.
● Create test scenarios that represent different workload patterns,
memory allocation patterns, and system configurations.
● Establish a baseline by running simulations with default settings and
configurations.
5. Performance Evaluation:
● Execute the simulation with the defined test scenarios.
● Measure and record relevant metrics, including memory utilization
and access time, for each memory management technique.
● Analyze the results to assess the efficiency and effectiveness of
each technique.
● Identify strengths, limitations, and trade-offs associated with each
memory management technique based on the evaluation metrics.
6. Optimization Strategies:
https://msbtestore.com/
Sr.
Name of responsible team
No Detail of activity Plan start date Plan finish date
members
.
file to guide
3 PC windows 11 1
-------------------------------------------------------------
https://msbtestore.com/
-----------------------------------------------------------
------------------------------------------------------------
-----------------------------------------------------------
Annexure-II
1. Introduction
2.1 Paging
In the paging technique, the logical address space of a process is divided into
pages, each of which has a fixed size. The physical memory is divided into frames,
also of the same size as the pages.
When a process requests memory, the operating system allocates pages to it.
The advantage of using fixed-size pages is that it simplifies memory allocation and
deallocation, as well as memory protection. Each page can be allocated or
deallocated independently, and memory protection can be implemented by setting
appropriate permissions (read-only, read-write, etc.) on each page.
https://msbtestore.com/
Advantages:
Disadvantages:
● Paging introduces internal fragmentation since the allocated memory may not
fully occupy a page, resulting in wasted memory.
● The page table lookup can introduce overhead, impacting the overall
performance.
● Paging may lead to increased disk I/O due to page faults.
https://msbtestore.com/
2.2 Segmentation
Segmentation is a memory management technique that divides the logical
memory into variable-sized segments. Each segment represents a logical division of a
process, such as code, data, stack, etc. The segments are mapped to corresponding
physical memory locations using a segment table. Segmentation is another memory
management technique that divides the logical memory into variable-sized
segments. Each segment represents a logical division of a process, such as code,
data, stack, heap, etc.
Advantages:
Disadvantages:
In virtual memory, the logical address space of a process is divided into pages,
similar to paging. However, not all pages need to be loaded into physical memory at
once. Instead, the system dynamically swaps pages between physical memory and
disk based on demand.
https://msbtestore.com/
Advantages:
https://msbtestore.com/
Disadvantages:
● Virtual memory introduces additional overhead due to page faults and the
need for frequent disk I/O operations.
● The performance can degrade if the system heavily relies on virtual memory
and experiences high levels of page swapping.
The simulation measured the memory utilization for each technique by analyzing the
amount of wasted memory due to fragmentation (internal or external). Paging was
found to eliminate external fragmentation but introduced internal fragmentation.
Segmentation had the potential for external fragmentation but could achieve better
memory utilization compared to paging. Virtual memory enabled efficient utilization
by utilizing secondary storage, but it introduced additional overhead due to page
swapping.
https://msbtestore.com/
The MMU uses the page table or segment table to perform the address translation. It
contains a cache called the Translation Lookaside Buffer (TLB) that stores recently
used mappings to improve address translation speed. The TLB stores a subset of the
page table or segment table entries, allowing for faster access to frequently accessed
memory locations.
The simulation measured the average access time for each memory
management technique. Paging and segmentation generally had faster access times
compared to virtual memory since they relied on physical memory directly. However,
page faults in paging and segmentation could significantly increase access time when
a required page or segment was not present in physical memory. Virtual memory
exhibited slower access times due to frequent page swapping between disk and
memory.
3 PC windows 11 1
The project on memory management techniques has several applications in the field
of operating systems and computer science. Some of the key applications include:
1. Operating System Design and Optimization: The project provides insights into
the efficiency and effectiveness of different memory management techniques.
This knowledge can be applied to design and optimize memory management
components of operating systems, ensuring optimal memory utilization,
improved performance, and better resource allocation.
Conclusion
Reference
1. https://msbtestore.com/
2. https://www.wikipedia.org/
3. https://www.google.com/
4. https://www.youtube.com/@Msbte_Store/
https://msbtestore.com/