Memory management - Part 1 : Sharing

The OS provides 4 major functions to manage the virtual memory:

Memory management has 2 purposes :

Some challenges need to be considered while sharing memory :

To co-exist, memory is divided into categories:

To execute the program, the system follows some procedures:

The main challenges with the linker are about :

Relocation, one of the issues that might be encountered in memory sharing, is also a synonym of address binding: it’s mapping instructions and data into virtual memory.

There are 2 types of address binding:

When the address binding is of a static type, 2 moments are noteworthy:

On a dynamic type address binding, the mapping it’s done by hardware components on running time.

We can have 3 types of loading :

The memory loading can occur in 3 ways:

In the share memory process, fragmentation can occur. Fragmentation is unused memory that the memory management can’t allocate. You have 2 types of fragmentation:

A swapper has the responsibility of picking processes to swap in and out and manage the swap space.


Now read this

Intro to Database Systems : Schema Refinement - Functional Dependencies

Schema refinement is just a fancy term for saying polishing tables. It is the last step before considering physical design/tuning with typical workloads: 1) Requirement analysis : user needs 2) Conceptual design : high-level description,... Continue →