POS/355
Differences in memory management between Windows® and Linux®
Windows and Linux are two of the most commonly used operating systems to date. Windows is used more by beginners and everyday computer users, while Linux is used more by advanced users and is dubbed the hackers operating system. Both the operating systems have their advantages and their disadvantages. This paper will be differentiate the two in the operating systems memory management aspect.
Windows manages their virtual memory in a tree data structure. Each node in the tree is called a virtual address descriptors (VAD). Virtual memory descriptors mark each node on the tree as free, reserved, or committed virtual memory. A process beings with all addresses free which means they can be committed to memory or be reserved for future use. Before any free address can be used it has to first be allocated as reserved or committed.
Linux uses a linked list data structure which is stored in the vm_area_struct structure and defined in . The link list data begins search whenever a page is found and records the range of address, protection mode, and the direction in which it grows. If the number of entries becomes greater than 32, Linux will convert the linked list into a tree data structure depending on the current situation.
Both Windows and Linux’s memory management systems distribute the process virtual address space in a similar manner. By using paging, Windows on 32bit systems will have access up to a 4GB of standalone logical address space and physical memory. The upper part of the address space is allocated with 2GB of memory for windows kernel-mode, while the lower part is also allocated with 2GB of memory for user-mode. While Linux can also access 4GB of physical memory the difference is the upper part is allocated with 1GB of memory for kernel-mode, while the lower part is allocated with 1GB for user-mode.
An
References: Felixbytow. (2012, July 08). FAQ/LinkedLists. Retrieved from KernelNewbies: http://kernelnewbies.org/FAQ/LinkedLists Kath, R. (1993, January 20). Managing Virtual Memory. Retrieved from Microsoft: http://msdn.microsoft.com/en-us/library/ms810627.aspx Rparrett. (2012, 08 22). About Memory Management. Retrieved from Windows: http://msdn.microsoft.com/en- us/library/windows/desktop/aa366525%28v=vs.85%29.aspx Rusling, D. A. (1996-1999). Memory Management. Retrieved from TLDP: http://www.tldp.org/LDP/tlk/mm/memory.html