Operating System Comparison
Operating Systems ComparedOperating Systems Compared In this paper four operating systems (OS) will be overviewed. These operating systems will include the popular Windows platform, Apples OS X, Linux, and UNIX. This paper will cover the four basic specs in each section. These topics will include Memory management, Process management, File management, and security. This paper is meant to be an overview and will not include fine details about each system. The intent is to show the difference between each OS and how they are different or similar. Windows Memory ManagementMemory management within the Windows operating system is quite interesting. Windows uses a memory manager which implements virtual memory (Microsoft, 2015). This allows the memory manager to provide a set of services such as cache manager, large memory support, and memory mapped files (Microsoft, 2015). One of the most significant features of memory management within Windows is Address Space Layout Randomization (ASLR) (Microsoft, 2010). ASLR dynamically assigns resources based on the current operational needs of the system (Microsoft, 2010). ASLR is also only enabled by default for those applications that are specifically designed to use it, due to compatibility issues with older applications who were not programmed to use the new technology (pre Win Vista) (Microsoft, 2010). One of the, if not the main guiding principle behind ASLR is system security. By dynamically assigning memory locations, it helps prevent exploits during boot and application execution (Microsoft, 2010).
Windows also separates memory management into two modes, Kernel-mode and User-mode (Microsoft, 2015). Kernel-mode is always used for system processes and core operating components (Microsoft, 2015). System drivers also run in kernel-mode but they can also run in user-mode as well (Microsoft, 2015). User-mode is used specifically for applications as well as some system drivers. When a user starts an application, Windows not only creates a process for that application, but it also provides the application with private space in the virtual address pool as well as a private handle tab (Microsoft, 2015). This stops conflicts from arising between different application processes since the spacing provided to each application is private (Microsoft, 2015). This also prevents applications from damaging or conflicting with operating system data.Process ManagementProcessor management within windows is also very logically designed. Each process is given many resources from the operating system including, but not limited to virtual address space, open handles to system objects, and a unique process identifier (Microsoft, 2015). Each process starts with a single thread that is called the primary thread and is able to create additional threads from any other thread associated with that process (Microsoft, 2015). A thread is defined as “the entity within a process that can be scheduled for execution.” (Microsoft, 2015). All threads of a process share the same resources and virtual address space (Microsoft, 2015). Essentially, anything that the process needs in order to execute its functions within virtual and physical memory space are contained within these threads (Microsoft, 2015).