Week 4 CST 334
This week, I focused on understanding memory virtualization and its role in operating systems. I explored various techniques such as segmentation, paging, and swapping. Segmentation organizes memory into logical sections like code and data, which works well for modular programs, though it can lead to external fragmentation. Paging, on the other hand, divides memory into fixed-size pages, minimizing gaps but potentially causing internal fragmentation when pages are underutilized. I also learned about segmented paging, a hybrid approach that combines the benefits of both methods but adds complexity. Additionally, I studied swapping, where the system moves data between RAM and disk to handle memory shortages. However, excessive swapping can lead to thrashing, significantly degrading system performance. It was fascinating to see how these techniques work together to optimize memory management.
In the lab, I implemented a FIFO (First-In-First-Out) page replacement algorithm to study the relationship between cache size and performance. By running simulations with varying cache sizes, I analyzed how increasing cache size reduced the miss rate, but only up to a point of diminishing returns. I visualized the data using graphs, which helped me better understand how caching and memory management algorithms balance efficiency and resource constraints. This combination of theoretical learning and practical application gave me a deeper appreciation for the complexities of memory virtualization and the systems that make it possible.
Comments
Post a Comment