The memory management unit in an operating system is responsible for handling the main memory and moving processes from and into the main memory. At any given time, there may be a number of processes in the memory. Handling each process, providing them resources and storing them in the main memory is known as memory management.
Address space of a program is the set of addresses referenced by the program. Logical address space refers to the set of all logical addresses generated by the program, and physical address space refers to the corresponding physical addresses of the logical addresses.
Physical address = Offset ( Base address ) + Logical address
Dynamic loading is a concept in which the program is compiled and all external dependencies and modules which are to be dynamically loaded are stored in relocatable addresses and loaded in the memory only when referenced.
In static loading, the entire program is compiled and loaded into the memory.
In dynamic linking, the modules need not be linked at compile time, simply referenced. Ex - DLL (Dynamic Link Libraries) in Windows and Shared Object in Unix.
Wednesday, 17 August 2016