This paper seeks to introduce the subject with a brief history of Windows Operating System and Linux Operating System with relevance to the subject herein. The paper will then highlight and explain the differences in memory management between Windows and Linux.
Both Windows and Linux are operating systems common to personal computers, however, Linux traditionally as was written operated with a wider range of devices; from Personal Digital Assistants to Super Computers. Windows was introduced way back in 1985 as an add-on to Microsoft DOSand Linux was written in 1991.
One of the primary roles of an operating system is memory allocation and management. A distinction of the memory management can easily be noted in the distribution of the process virtual address space. Linux Operating system normally allocates 3GB to the process and 1GB to the Kernel while Windows operating system allocates 2GB for the process and 2GB for the Kernel.
On Disk paging, Windows operating systems use a dynamically allocated page file to manage the memory. This to mean that a page file is created on the disk to hold items that are not often accessed and/or utilized by the system; and/or the user leaving the more actively used objects to use the ram. This form of allocation more often than not suffers from slow-downs due to fragmentation of the files on the disk that are utilized for the virtual memory allocation.
Linux on the other hand uses a ‘swap partition’ form of allocation which basically a disk partition created for the sole purpose of paging operations. This form of memory management reduces slow-downs in the systems that normally occur because files normally fragment because of the general use of the disks. This form of allocation, because the paging process is handled by a dedicated partition, user files and other system files are kept away from the partition hence the dedicated partition for paging operations is not fragmented. Further, the Linux operation grants the user to determine the allocation priority of the Kernel when deciding whether to move an application to the virtual memory or leave the application in the RAM. This option of allowing the user to alter and/or adjust the aggressiveness of the Kernel has not been provided for in the windows operating system environment.
Windows operating systems use clustered demand paging method of paging that only loads the pages onto the memory as at the time they are required and the system loads a cluster of a maximum of eight pages instead of just a single page at a time and is usually accompanied by a number of errors in some instances. This system of memory allocation is also accompanied by a clock algorithm which determines which pages are loaded and at what time. Windows divides its list of pages into four and these are: Modified Page List, Stand-bye Page list, Zeroed Page List and Free Page list. With all these concepts into the paging process by the Windows Operating Systems, the process in itself is as such considered very complex compared to the Linux Operating System.
The Linux operating system on the other hand uses a rather simple system which also has a major draw-back of being overwhelmed by heavy processes. The Linux system has no pre-paging processes like the Windows Operating System.
Based on the foregoing, this paper concludes by stating that the memory management in windows operating system is more complex than that of the Linux Operating System. The complexity has nonetheless brought about better functionality though with occasional failures.
Al-Rayes, H. T. (2009). Studying Main Differences Between Linux & Windows Operating Systems. International Journal of Electrical & Computer Sciences, 1-7.
Gopal, B., Rizwan, B., & Kumar, P. (2010). Memory Management Technique for Paging on Distributed Shared Memory Framework. International Journal of Computer Science and Infor, 141-154.
Sumant, A. S., & Chawan, P. M. (2010). Virtual Memory Management Techniques in 2.6 Kernel and Challenges. IACSIT International Journal of Engineering and Technology, 157-161.