Operating systems: evolution, functions, and resource management
✍️ How to write this paper — guide & tools ▾
Operating systems are the very core of computers and control the basic functions of resource abstraction and resource sharing. Operating systems have evolved a long way from being simple standalone programs (such as MS dos) using 16 bit architecture to the current 64 bit systems such as windows 7 that enable us to deliver higher performing computing solutions. Today, new, more efficient and robust operating systems are being developed that promise to offer entirely new levels of computing power, improved stability and overall security.
Operating systems are the basic system software that control all the hardware and also provide an interface between the user and the system. Operating systems have evolved a long way from being simple standalone programs (such as MS dos) using 16 bit architecture to the current 64 bit systems such as windows 7 that enable us to deliver higher performing computing solutions. (Microsoft) Microsoft's Windows XP, vista and the latest windows 7 are well-known operating systems for desktops and servers. Apples MAC OS and the open source systems such as Unix and Linux are also well-known and established in the computer industry. The open sourced operating systems are developing at a much faster pace. The recent development of the Google chrome, an open sourced and lightweight OS for notebook computers by Google is one of the newest entrants in the field of computer operating systems. As Google developers say the new Google chrome OS is "an attempt to re-think what operating systems should be."[Xeni Jardin] A brief overview of the important functions such as resource abstraction and resource sharing and in particular a discussion of some important topics such as process management, memory management and security features in different operating systems would provide better insight into the working of modern operating systems.
Main Functions of Operating System
An OS is also defined as an extended Virtual machine as it shields the user from the operational aspects of the hardware and provides a simple file based interface. In other words, one of the important functions of the operating system is to provide a degree of abstraction to the user making the operation of the computer a much simpler task. The OS therefore provides a virtual machine like interface, which is much easier to program and operate than the underlying hardware. (Tanenbaum, pg 4) The other important function of the operating system is resource management. In other words, the OS manages the resources of the computer in an orderly manner by controlling the allocation of processors, I/O devices, Memory and File management tasks among the various competing programs. (Tanenbaum, pg 4).
Memory Management in Windows XP and Linux
Memory management is one of the important tasks of an operating system. The kernel is responsible for memory management for various applications. Most modern operating systems use segmentation and paging concepts to provide for more efficient handling of memory for various programs. Operating systems use virtual memory to overcome the limitations of the physical memory. In Linux, for example, every process has its own virtual address space and this in effect prevents any conflict between concurrently running processes. Physical address is divided into separate units called as pages and each page is 4096 bytes. The Linux kernel maintains separate page tables that are used in converting the virtual addresses to the corresponding physical addresses.
The Kernel virtual mapping provides direct mapping of the virtual addresses to the real addresses. The mmap () system call maps the device memory directly into the user's 'process address space'. Using the Virtual Memory Area (VMA) Data stricture, the Linux kernel manages the address space for any particular process. [Jonathan Corbet]
Windows XP is also a virtual memory-based operating system. Typically when a process attempts to access a memory area that is beyond its preset limit, it results in system crash. Windows XP, overcomes this clobbering by using a protective memory model. In any 32-bit operating system, the maximum amount of addressable memory is 4,294,967,296 (4GB) [SYBEX Inc., 638] The windows XP Virtual memory manager is activated whenever an application tries to access a page that is currently not available within the physical RAM. The Virtual Memory manager in Windows XP uses the concept of paging to handle this task. Virtual address space is neatly divided into units called pages and the transfers between memory and disk are always carried out in units of a page. All other parts of an application other than those that are currently needed are stored in the page file. Hence when an application tries to access parts of the program that is not currently in the physical RAM, it results in a condition called as page fault. In a real timesharing situation, processes are switched back and forth between main memory and disk and the process is referred to as swapping. [Andrew S. Tanenbaum, 89]
Another feature in Windows XP is the memory protection model that it employs. Windows XP recognizes two levels of privilege for any process namely the kernel mode and the user mode privileges. Based on the access privileges, Windows XP either allows or prevents any process from reading from or writing to any particular block of memory. Windows XP has many new features such as 'logical prefetcher' or the 'fast boot application launch', 'increased page table entries' and 'reduced paged pool' usage all of which contribute directly to improved memory management. Once Windows XP is booted it automatically saves data about all disk read operations. The 'logical prefetcher' is designed to minimize the number of disk seeks by prefetching data which are frequently accessed by the application. Dynamic paged pool is another new feature, which facilitates quicker response time for applications. Windows XP also dramatically improves the server response time because it makes use of 'individual page charging' scheme whereby a server can understand multiple requests for the same page and hence minimize storage requirements. [Microsoft Corporation]
Process Manager
Windows XP follows the process model for execution of programs. One of the key points is that XP is designed on the 'Client Server model' or what is called as the micro kernel model. Linux and Unix in contrast have a monolithic kernel architecture where the entire OS exists as a single file in the kernel. [O'Reilly] The essential idea behind the client server model is that parts of the operating systems consider themselves as clients or servers. As always, the kernel is considered the core of the operating system and keeps track of the memory management, device management and other critical functions of the operating system. However, unlike modern operating systems, Windows XP does not put everything other than the applications in the kernel mode. Instead it puts only a minimum part of the operating system in the kernel mode and leaves the rest of the operating system in the user mode. Kernel mode programs are a cause for concern because they have access to system memory areas. Since in the client server architecture only the bare minimum portion of the operating system is kept in the kernel mode, the chances of a system breakdown due to overwriting of system memory area is greatly reduced. It is this factor, which accounts for the high stability of Windows XP compared to the previous versions. [SYBEX, 619]
Conclusions
Operating systems are the very core of the computers and control the basic functions of resource abstraction and resource sharing. Today, new, more efficient and robust operating systems are being developed that promise to offer entirely new levels of computing power, improved stability and overall security. Most operating systems use virtual memory mapping and extensive security features such as firewalls and other encryption tools built in to control data compromise and information theft specifically for the Web. There is also a shift in the trend towards a microkernel-based architecture (as XP) as it promises more stability than a monolithic architecture that promises more speed. The rapid development in the open source market such as the newly developed Google Chrome OS, which is slated for released this year is an indication of the considerable changes that are ahead in future pertaining to computer operating systems.
Create your account
Always verify citation format against your institution’s current style guide requirements.