Windows and Linux are both the common operating systems for various personal computers both at home and in a business systems. Each of the operating systems has its benefits and shortfalls but their use depends on the preference, choice, and use of the preferred operating system. According to information technology system experts, both are powerful in the respective area of application. One of the main aspect to discuss the superiority and differences of both the operating systems is in terms of memory management. Memory management is the main responsibility of an operating system. It is significant for both system administration and programming (Godbole, 2005). In both operating systems, the memory management activity has evolved into a sophisticated and a rich architecture with the capability of scaling from the supporting small systems to large and complex enterprise systems. The paper provides a discussion on the differences in memory management between Linux and Windows.
In Microsoft Windows operating system, Stallings (2012) argues that the design of the processes management is motivated by the need to provide assistance for various operating system environments. The native design in Windows is not very complex enabling it run on several different platforms. The feature enables the subsystems to mimic the other processes’ structures. Commonly, when a process is started, a task is requested and consequently, it allocated a security token which according to Windows is named as the process’ primary token. According to Stallings (2012), the token stores information regarding the user that has to perform controlled operations on the system and also on secured objects. The token functions alongside process objects which are actions, attributes, or other services required to accomplish a specific task. A thread is the final part of the process. The thread is what is executed by the operating system as part of the execution process. The operating system can still efficiently handle all requests by pausing and resuming the executing threads.
On the other hand, Linux operating system memory management involves handling of tasks in a data structure. Information for each task is contained in several categories that includes links, state, identifiers, scheduling information, times and timers, address space, file system, and processor specific context. The categories are attributed for the processes. In addition, each task contains a state of execution that can be interrupted, uninterrupted, zombie, and stopped. Linux operating system takes responsibility of the threads associated with the user level tasks. It can also map the tasks to processes that are of Kernel level using a similar group ID (Godbole, 2005). The feature provides security and resource sharing. In addition, the virtual memory data structure in Linux is implemented in a same manner to UNIX.
Windows uses a file system called NTFS that forms a basis of its operating system and is locked in a dated file system. NTFS is a positive file system which is old and stable. However, the file system technology is outdated and needs regular defragmentation of the operating system by the end users to combat the gross lack of NTFS capability to organize files (Stallings, 2012). The fragmentation of system files can slow down system performance due to NTFS moving files into various random location on the hard drive. On the hand, Linux makes use of an updated file system that continuously organizes itself and places catalogues of items (Godbole, 2005). The feature lends Linux speed and stability since the operating system does not search for items in the hard drive because they are organized already.
In a nutshell, Windows and Linux operating system exhibit differences in memory management. The origin of the two operating systems is basically from different backgrounds. Windows from a commercial settings while Linux from a hackers settings. The design of Linux is simple while that of Windows is complex since it has developed into the present complex and sophisticated code.