Week 4: CST334

This week we learned about how free space is managed in an operating system. Decisions on what to do with free space are based on goals such as accuracy, speed, efficiency, and minimizing fragmentation. Typically free memory is managed as a list. 

We also learned about paging as a technique to virtualize memory. It avoids the fragmentation problem we saw last week with segmentation, where segments of varying size are used to store parts of a program. Because segment sizes can vary in segmentation, it creates contiguous gaps of free memory that can be too small to use for new segments of programs. With paging, this particular issue of wasted free memory is avoided by dividing program memory into frames of fixed size. This ensures that a new page will have the necessary memory to store parts of a program. Fragmentation can still occur within the page/frame, but it's less costly since isolated unused memory addresses are smaller. We also learned about how addresses are mapped to physical addresses through page numbers and page offsets. We also learned about how page data is stored in page tables specific to a process (the operating system points to another process's page table when processes are switched).

Our lectures also discussed page tables and also how TLB's can speed up the process of translating addresses when paging is used. Translations require looking up page information, which can be costly in terms of time. a TLB (Translation Lookaside Buffer) is used to keep page information in the cache and make lookups much faster.

Comments

Popular posts from this blog

Journal Week 4

Week 5: CST438 Journal

This week