Linux Basics: Static Libraries vs. Dynamic Libraries
This premium Medium article can answer your questions around “what is a library in Linux?”, “why do we use libraries?”, and “how to create a static and dynamic library?”.
Main Memory from UIC
Contains TLDR from Silberschatz’s chapter 8 for main memory to help us build a foundation for this week.
Virtual Memory
Without Virtual Memory, a program does have a direct access to physical RAM. This kind of thing can be hard for programmer because we need to track and always track the memory offset (we already talked about this in Computer Organization).
Page Tables
Virtual Memory are utilized by the Page Tables. You should know one or two! :).
Linux’s Three Level Page Table
Next step is to dive in into the Linux Page Table itself :D.
Contiguous Allocation Method
Main memory uses this method to execute process from queue according to the requirements. This method has to accomodate both OS and the user, so you should watch this quick video :D.
Internal and External Fragmentation
Who said Contiguous Allocation Method doesn’t have any problems? This is the problem.
Paging vs Swapping
Remember the swap partition that we created when we install the Debian on VirtualBox? You should have a deeper understanding now.
Contiguous vs Non-contiguous Memory Allocation
We already talked a lot about Contiguous Memory Allocation, but we forgot to compare it side by side.
Translation Lookaside Buffer (TLB)
Paging uses TLB to place page table with the less overal access time. This article from GFG should be easy enough for us :).