CST334 Module 3

What did I learn in the third week of CST334?

This week I learned about another five different topics about operating systems. The first topic was about address spaces, which is the introduction of fundamental abstraction, providing the illusion of each process having its own private memory. Basically, it goes over how an operating system isolates the process memory, while going over the role of the operating system in creating protection boundaries and memory layout. The second topic was about C memory API, which focuses on how programs interact with memory using memory allocation functions like malloc(), free(), calloc(), and realloc(). Basically, the topic went over heap management, fragmentation risks, memory leaks, and dangling pointers, which illustrated foundational knowledge on manual memory control and debugging.

The third topic was about address translation & base and bounds, which goes over how virtual addresses are mapped to physical ones. Basically, the method introduces the idea of hardware support for memory safety, and how address translation enables multi-programming. The fourth topic was about segmentation, which is the idea of dividing memory into logical segments like code, data, and stack. Basically, within segmentation each segment can grow independently, while enabling for a more flexible memory use. The final topic was about free space management, which explored how memory managers can keep track of free memory usage. Basically, it compares allocation strategies like first-fit, best-fit, and next-fit through highlighting corresponding pros and cons, which delves into their individual speed, fragmentation, and memory utilization. In the end, free space management is especially crucial for implementing allocators and optimizing memory performance. 

Comments

Popular Posts