The memory management is one of the core components of an operating system which manages the memory hierarchy of Random Access Memory (RAM), and hard disks. The important tasks of the operating systems in managing the memory include: the allocation and de-allocation of memory to the processes, the utilization of the hard disk for implementation of the Virtual Memory. The operating system should effectively use the memory component as it directly impacts the overall efficiency and performance of the computer system (Khetan, 2002).
The Windows operating systems use a tree form of data structure rather the linked list. Each node of the tree is known as Virtual Address Descriptors (VAD) having a range of memory addresses. It is the responsibility of the VAD to mark each and every node as reserved for thread’s stack, free or committed.
The Linux and UNIX operating systems implement the virtual memory data structure. These operating systems maintain a linked list that represents continuous memory areas having same commit state information and protection parameters. The operating system searches the linked list every time it is required to find out the page having particular location. The data structure of these operating systems maintains the records of addresses mapping onto the applications, protection mode of the memory and the growing direction.
After the system booting, the Macintosh operating system divides the available Random Access Memory (RAM) into two major categories include: the reserved section and user available section. In the reserved section, it reserves a partition of memory for its own use which is known as system partition that begins at the lowest level of memory and rises. The remaining memory is allocated for software applications (Mindfire Solutions, 2002).
Process Management
The programs, services or applications that are being executed by the computer either at the background or front end is said to be a process.
References: Mindfire Solutions. (2002). Memory Management in Mac OS. Retrieved from: http://www.mindfiresolutions.com/mindfire/Mac_Memory_Manager.pdf Khetan, G. (2002). Comparison of Memory Management Systems of BSD, Windows, and Linux. Department of Computer Science, University of Southern California, Los Angeles, CA.