Latest studies show that about 40000 people are switching to linux from windows everyday.From this it is clear that linux is becoming popular day by day.The main reason for this is "linux is opensource". Becuse of its increasing popularity ,i thought it would be a good idea to have a study on the linux memory model.so i searched the net to find something related to it.finally a found a guided introduction to the Linux® memory model.we can Learn the fundamentals of how memory is constructed and managedwith the help of this guide. This guide includes an examination of the segment control unit and the paging models as well as a detailed look at the physical memory zone.
Understanding the memory models used in Linux is the first step to grasping Linux design and implementation on a grander scale, so this gives you an introductory-level tour of Linux memory models and management. Linux uses the monolithic approach that defines a set of primitives or system calls to implement operating system services such as process management, concurrency, and memory management in several modules that run in supervisor mode. And although Linux maintains the segment control unit model as a symbolic representation for compatibility purposes, it uses this model at a minimal level.
The main issues that relate to memory management are:
1.Virtual memory management, a logical layer between application memory requests and physical memory.
2.Physical memory management.
3.Kernel virtual memory management/kernel memory allocator, a component that tries to satisfy the requests for memory. The request can be from within the kernel or from a user.
4.Virtual address space management.
5.Swapping and caching.
This article can help you understand the Linux internals from a memory-management perspective within the operating system by addressing the following:
1.The segment control unit model, in general, and specifically for Linux
2.The paging model, in general, and specifically for Linux
3.The physical details of the memory zone
This article does not detail how the memory is managed by the Linux kernel, but the information on the overall memory model and how it is addressed should give you a framework for learning more. This article focuses on the x86 architecture, but you can use the material in this article with other hardware implementations.
if you are ready for the deep study, i am not wasting your time. please click here to go to guide.