Operating System:
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Types of Operating Systems:
1. Single Task & Multi Tasking Systems:
A single-tasking system can only run one program at a time, while a multi tasking operating system allows more than one program to be running concurrently.
Single Task Functions like printing a document, downloading images, etc., can be performed only one at a time. Examples include MS-DOS, Palm OS, etc.
Multi Tasking Operating Systems Examples include Microsoft Windows and Macintosh OS.
2. Multiuser/Multitasking OS
It is an operating system that permits several users to utilize the programs that are concurrently running on a single network server. The single network server is termed as "Terminal server". "Terminal client" is a software that supports user sessions. Examples include UNIX, MVS, etc.
3. Distributed Operaing Systems
a. Client/Server Systems
In this system, the client requests the server for a resource. On the other hand, the server provides this resource to the client. One client contacts only a single server at a time. Whereas a single server can deal with multiple clients simultaneously. The clients and servers connect through a computer network in the system.
b. Peer to Peer Systems
In this system, the nodes play an important role. All the work equally divides among the nodes. Furthermore, these nodes can share data or resources as per the requirement. Again, they require a network to connect.
Examples of Distributed Operating System
Few examples of a distributed OS are as follows:
- AIX operating system for IBM RS/6000 computers.
- Solaris operating system for SUN multiprocessor workstations.
- Mach/OS is a multitasking and multithreading UNIX compatible operating system.
- OSF/1 operating system
4. Templated
In the distributed and cloud computing context of an OS, templating refers to creating a single virtual machine image as a guest operating system, then saving it as a tool for multiple running virtual machines. The technique is used both in virtualization and cloud computing management, and is common in large server warehouses.[10]
5. Embedded
Embedded operating systems are designed to be used in embedded computer systems. They are designed to operate on small machines with less autonomy (e.g. PDAs). They are very compact and extremely efficient by design, and are able to operate with a limited amount of resources. Windows CE and Minix 3 are some examples of embedded operating systems.
6. Real-time
A real-time operating system is an operating system that guarantees to process events or data by a specific moment in time. A real-time operating system may be single- or multi-tasking, but when multitasking, it uses specialized scheduling algorithms so that a deterministic nature of behavior is achieved. Such an event-driven system switches between tasks based on their priorities or external events, whereas time-sharing operating systems switch tasks based on clock interrupts.
7. Library
A library operating system is one in which the services that a typical operating system provides, such as networking, are provided in the form of libraries and composed with the application and configuration code to construct a unikernel: a specialized, single address space, machine image that can be deployed to cloud or embedded environments[further explanation needed].