Saturday 22 September 2012

Fundamentals of Operating Systems

An operating system is the software component of a computer system, which is responsible for the management of a wide variety of computer operations as also the sharing of computer resources. It hosts computer applications and handles the operations of computer hardware. Users and application programs access the operating system services through system calls and application programming interfaces. In short, an operating system acts as an interface between the application programs and the computer hardware. Desktop computers, PDAs, laptop computers, notebook computers and even many of the mobile phones of today, are equipped with some kind of operating system.

Before exploring the operating system fundamentals,

Access Control
When a computer is started, it runs in the supervisor mode, by which we mean that the first few programs running on the computer and the operating system have an unlimited access to the hardware. An operating system has the ability to place the computer in the protected mode, wherein programs are given a limited access to computer resources.

Execution of Programs
Programs in execution are known as processes. The execution of a program requires the operating system to create processes. The operating system kernel creates a process by loading program code from the disk and allocating memory to it before running the program.

User Interface
Users interact with operating systems by means of command line interfaces or graphical user interfaces. Though graphical user interface cannot be referred to as an operating system service, many operating systems integrate support for user interfaces into their kernels. Beginning from Windows 95, Microsoft Windows has kept revising its user interfaces. Their latest operating system, Windows Vista implements a graphics subsystem.

Memory Management
The operating system kernel handles the allocation and management of memory that programs use. In a cooperative memory management strategy, it is assumed that programs make a voluntary use of the computer memory. This strategy was used by operating systems of old times. Modern operating systems implement segmentation and paging mechanisms facilitating memory protection, whereby all the computer programs can obtain a fair share of memory for execution. The operating system kernel controls the amount of memory allocated to application programs. An operating system can use the same memory locations for multiple tasks, using the underlying concept of virtual memory and swapping or paging.

Scheduling
An operating system kernel consists of a scheduler program that manages the time taken by each program for its execution. Kernel passes the controls to processes whereby the processes can access the CPU and memory. In cooperative multitasking, each process is allowed to use the system resources for an unlimited period of time. Pre-emptive multitasking mechanisms have replaced cooperative multitasking. Windows NT was the first to implement pre-emptive multitasking. This feature reached the users after Windows XP was released.

Interrupt Handling
An operating system has to deal with unexpected events in program execution. They are known as interrupts. Interrupts may also come from computer hardware. If a piece of computer hardware triggers an interrupt, the operating system kernel devises ways to handle it. Interrupts triggered by running programs can also be handled by the operating system kernel.

Management of Files
Operating systems are in charge of handling the application program access to files stored on the disk. The operating systems in earlier days did not support different types of file systems. But the relatively recent operating systems, like Unix and Linux, implement a virtual file system allowing various types of programs, to access a wide variety of system resources and devices that use different file systems.

File systems are methods used for storing and managing computer files and data. A file system can be considered as a specialized storage system for the organization, access and retrieval of data. To get a glimpse of some file systems like FAT and NTFS, go through FAT and NTFS Data Recovery Information.

Computer Security
 I am sure you are aware of multiple user profiles on operating systems. When you login to your user account on the operating system you use, you are actually being a part of the security measures implemented by your operating system. Most of the operating systems require its users to login to their accounts by means of a user name and password. Recent developments in technology have introduced biometry to operating systems. Windows Vista has introduced User account control, whereby each logon session is associated with a token containing the privilege assigned to that session.

Computer Networking
Operating systems support a variety of networking protocols, whereby, computers running different operating systems can work over a common network. The operating system support for networking protocols enables the computers to access resources on remote computers in fairly simple ways.

We can say that operating systems play an important role in facilitating user access to computer systems. They schedule computer tasks, control access to resources; they manage computer memory, they handle files. And they do all this while ensuring computer security.

No comments:

Post a Comment