Tuesday, March 25, 2025

CST334 - Week 3

I learned several important concepts in memory management and address translation this week. I explored the idea of address space, which is how the operating system manages memory for each process. Each process gets its own isolated memory area, preventing one process from interfering with another. This abstraction allows the operating system to allocate memory more efficiently, helping programs run smoothly by ensuring each one has its own dedicated memory.

I also studied the C Memory API, which includes functions like malloc, free, and realloc. These functions allow programs to dynamically allocate and manage memory during runtime, especially on the heap. The ability to allocate, use, and release memory as needed is crucial for efficient memory management in programs. Through the programming assignment, I learned about memory allocation and management at a low level, focusing on how memory is divided into chunks and how memory is allocated, freed, and coalesced. I understood how to find the first available chunk of memory in the pool, how to split chunks to fit smaller allocations, and how to combine adjacent free chunks into a larger one. This ties into how memory is managed in C using functions like malloc and free. It was quite a challenging assignment but I enjoyed it.
 
I also went through address translation, which involves converting logical addresses, used by a program, into physical addresses in memory. This translation is done by the operating system through mechanisms like segmentation, ensuring that the program's address space maps correctly to the physical memory available on the system.

No comments:

Post a Comment

CST 334 - Week 8

I spent most of my time reviewing the materials to get ready for the final exam. The final covers two big topics, concurrency and persistenc...