
An operating system (OS) is a collection of software that manages computer hardware resources and provides common services for computer programs. The operating system is an essential component of the system software in a computer system. Application programs usually require an operating system to function.
Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting software for cost allocation of processor time, mass storage, printing, and other resources.
For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between programs and the computer hardware, although the application code is usually executed directly by the hardware and will frequently make a system call to an OS function or be interrupted by it. Operating systems can be found on almost any device that contains a computer—from cellular phones and video game consoles to supercomputers and web servers.
Examples of popular modern operating systems include Android, BSD, iOS, Linux, OS X, QNX, Microsoft Windows, Windows Phone, and IBM z/OS. All these, except Windows, Windows Phone and z/OS, share roots in UNIX.
An operating system is a program that acts as an interface between the software and the computer hardware.
It is an integration set of specialised programs that are used to manage overall resources and operations of the computer.
It is a specialised software that controls and monitors the execution of all other programs that reside in the computer, including application programs and other system software.
Types of operating systems
Real-time
- A real-time operating system is a multitasking operating system that aims at executing real-time applications. Real-time operating systems often use specialized scheduling algorithms so that they can achieve a deterministic nature of behavior. The main objective of real-time operating systems is their quick and predictable response to events. They have an event-driven or time-sharing design and often aspects of both. An event-driven system switches between tasks based on their priorities or external events while time-sharing operating systems switch tasks based on clock interrupts.
Multi-user
- A multi-user operating system allows multiple users to access a computer system at the same time. Time-sharing systems and Internet servers can be classified as multi-user systems as they enable multiple-user access to a computer through the sharing of time. Single-user operating systems have only one user but may allow multiple programs to run at the same time.
Multi-tasking vs. single-tasking
- A multi-tasking operating system allows more than one program to be running at the same time, from the point of view of human time scales. A single-tasking system has only one running program. Multi-tasking can be of two types: pre-emptive and co-operative. In pre-emptive multitasking, the operating system slices the CPU time and dedicates one slot to each of the programs. Unix-like operating systems such as Solaris and Linux support pre-emptive multitasking, as does AmigaOS. Cooperative multitasking is achieved by relying on each process to give time to the other processes in a defined manner. 16-bit versions of Microsoft Windows used cooperative multi-tasking. 32-bit versions of both Windows NT and Win9x, used pre-emptive multi-tasking. Mac OS prior to OS X used to support cooperative multitasking.
Distributed
- A distributed operating system manages a group of independent computers and makes them appear to be a single computer. The development of networked computers that could be linked and communicate with each other gave rise to distributed computing. Distributed computations are carried out on more than one machine. When computers in a group work in cooperation, they make a distributed system.
Embedded
- Embedded operating systems are designed to be used in embedded computer systems. They are designed to operate on small machines like PDAs with less autonomy. They are able to operate with a limited number of resources. They are very compact and extremely efficient by design. Windows CE and Minix 3 are some examples of embedded operating systems.
Objectives of Operating System
- Making a computer system convenient to use in an efficient manner.
- To hide the details of the hardware resources from the users.
- To provide users a convenient interface to use the computer system.
- To act as an intermediary between the hardware and its users and making it easier for the users to access and use other resources.
- Manage the resources of a computer system.
- Keep track of who is using which resource, granting resource requests, according for resource using and mediating conflicting requests from different programs and users.
- The efficient and fair sharing of resources among users and programs.

Characteristics of Operating System
- Memory Management -- It keeps track of primary memory, i.e., what parts of it are in use by whom, what parts are not in use, etc. Allocates the memory when the process or program requests it.
- Processor Management -- Allocates the processor (CPU) to a process. Deallocate processor when processor is no longer required.
- Device Management -- Keeps tracks of all devices. This is also called I/O controller. Decides which process gets the device when and for how much time.
- File Management -- Allocates the resources. Deallocates the resource. Decides who gets the resources.
- Security -- By means of passwords & similar other techniques, preventing unauthorized access to programs & data.
- Job accounting -- Keeping track of time & resources used by various jobs and/or users.
- Control over system performance -- Recording delays between requests for a service & from the system.
- Interaction with the operators -- The interaction may take place via the console of the computer in the form of instructions. Operating System acknowledges the same, do the corresponding action and inform the operation by a display screen.
- Error-detecting aids -- Production of dumps, traces, error messages and other debugging and error-detecting methods.
- Coordination between other software and users -- Coordination and assignment of compilers, interpreters, assemblers and other software to the various users of the computer systems.
No comments:
Post a Comment