Memory Management: Windows vs Linux

Submitted by: Submitted by

Views: 913

Words: 648

Pages: 3

Category: Science and Technology

Date Submitted: 03/17/2013 06:42 AM

Report This Essay

Memory Management: Linux vs Windows

Memory management is the process in which hardware, software, and operating system control and coordinate system memory to optimize system performance (“Memory Management”, 2012). The way memory is managed has evolved since computers were invented. Techniques such as fixed and dynamic partitioning have given rise to paging and segmentation. The most common form of memory management is the use of virtual memory. Virtual memory is memory management technique where secondary memory is addressed as if it were main memory (Stallings, 2012). Each operating system (OS) uses virtual memory in a very similar way, but with some different processes and techniques. The way the Windows and Linux operating systems differ is in the way they handle page fetching, disk paging, and the kernel-mode memory allocation.

Paging is a common memory management technique in which a computer process is broken down in to smaller chunks, called pages (Stallings, 2012). Virtual memory allows the transfer of these pages from main memory to secondary memory. The most common way for the operating system to determine which page it needs for a specific process is called demand paging. Linux uses demand paging to load only the pages it needs at the specific time in to the main memory. Windows uses demand paging as well but also has a different feature known as SuperFetch. SuperFetch essentially preloads pages of commonly used processes and applications into the main memory. It does this by assigning page priority based on a page usage (Russinovich, Solomon, & Ionescu, 2012). Because application data is preloaded into the memory, this technology is ineffectual in memory capacities of less than 2GB. Linux does not include a page priority or prefetch capability but can be updated with patches to use these techniques.

Another difference is how Windows and Linux manages the memory on the hard disk for paging. Linux uses a technique called swap...