Types of Operating Systems
Types of Operating Systems
Types of Operating Systems
Within the broad family of operating systems, there are generally four types, categorized based on the types
of computers they control and the sort of applications they support. The categories are:
• Real-time operating system (RTOS) - Real-time operating systems are used to control
machinery, scientific instruments and industrial systems. An RTOS typically has very little user-
interface capability, and no end-user utilities, since the system will be a "sealed box" when
delivered for use. A very important part of an RTOS is managing the resources of the computer so
that a particular operation executes in precisely the same amount of time, every time it occurs. In a
complex machine, having a part move more quickly just because system resources are available
may be just as catastrophic as having it not move at all because the system is busy.
• Single-user, single task - As the name implies, this operating system is designed to manage the
computer so that one user can effectively do one thing at a time. The Palm OS for Palm handheld
computers is a good example of a modern single-user, single-task operating system.
• Single-user, multi-tasking - This is the type of operating system most people use on their desktop
and laptop computers today. Microsoft's Windows and Apple's MacOS platforms are both examples
of operating systems that will let a single user have several programs in operation at the same
time. For example, it's entirely possible for a Windows user to be writing a note in a word processor
while downloading a file from the Internet while printing the text of an e-mail message.
• Multi-user - A multi-user operating system allows many different users to take advantage of the
computer's resources simultaneously. The operating system must make sure that the requirements
of the various users are balanced, and that each of the programs they are using has sufficient and
separate resources so that a problem with one user doesn't affect the entire community of users.
Unix, VMS and mainframe operating systems, such as MVS, are examples of multi-user operating
systems.
It's important to differentiate between multi-user operating systems and single-user operating systems that
support networking. Windows 2000 and Novell Netware can each support hundreds or thousands of
networked users, but the operating systems themselves aren't true multi-user operating systems. The
system administrator is the only "user" for Windows 2000 or Netware. The network support and all of the
remote user logins the network enables are, in the overall plan of the operating system, a program being run
by the administrative user.
©2008 HowStuffWorks
The operating system controls every task your computer
carries out and manages
system resources.
The second task, providing a consistent application interface, is especially important if there is to be more
than one of a particular type of computer using the operating system, or if the hardware making up the
computer is ever open to change. A consistent application program interface (API) allows a software
developer to write an application on one computer and have a high level of confidence that it will run on
another computer of the same type, even if the amount of memory or the quantity of storage is different on
the two machines.
Even if a particular computer is unique, an operating system can ensure that applications continue to run
when hardware upgrades and updates occur. This is because the operating system -- not the application --
is charged with managing the hardware and the distribution of its resources. One of the challenges facing
developers is keeping their operating systems flexible enough to run hardware from the thousands of
vendors manufacturing computer equipment. Today's systems can accommodate thousands of different
printers, disk drives and special peripherals in any possible combination.
An operating system is the single most important software when you run a computer, it is
what takes care of pretty much everything on a computer system, while the majority of
computers we see happen to be using one ‘type’ of operating system performing the same
functions, operating systems can be branched into several different types as well. It’s
been a while since I’ve shared a fairly technical post on Computer Realm so I guess today
would be a good day for one.
• Batch Processing Operating System
In a batch processing operating system interaction between the user and processor is
limited or there is no interaction at all during the execution of work. Data and programs
that need to be processed are bundled and collected as a ‘batch’ and executed together.
The system is capable of identifying times when the processor is idle at which time
‘batches’ maybe processed. Processing is all performed automatically without any user
intervention.
A real-time operating system processes inputs simultaneously, fast enough to affect the
next input or process. Real-time systems are usually used to control complex systems that
require a lot of processing like machinery and industrial systems.
A single user OS as the name suggests is designed for one user to effectively use a
computer at a time.
In this type of OS several applications maybe simultaneously loaded and used in the
memory. While the processor handles only one application at a particular time it is
capable of switching between the applications effectively to apparently simultaneously
execute each application. This type of operating system is seen everywhere today and is
the most common type of OS, the Windows operating system would be an example.
• Multi-User Operating System
This type of OS allows multiple users to simultaneously use the system, while here as
well, the processor splits its resources and handles one user at a time, the speed and
efficiency at which it does this makes it apparent that users are simultaneously using the
system, some network systems utilize this kind of operating system.
In a distributed system, software and data maybe distributed around the system, programs
and files maybe stored on different storage devices which are located in different
geographical locations and maybe accessed from different computer terminals.
Real-time Operating System: It 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 object of real-time operating
systems is their quick and predictable response to events. They either have an event-driven or a
time-sharing design. An event-driven system switches between tasks based of their priorities
while time-sharing operating systems switch tasks based on clock interrupts.
Multi-user and Single-user Operating Systems: The operating systems of this type allow a
multiple users to access a computer system concurrently. Time-sharing system can be classified
as multi-user systems as they enable a multiple user access to a computer through the sharing of
time. Single-user operating systems, as opposed to a multi-user operating system, are usable by
a single user at a time. Being able to have multiple accounts on a Windows operating system
does not make it a multi-user system. Rather, only the network administrator is the real user. But
for a Unix-like operating system, it is possible for two users to login at a time and this capability of
the OS makes it a multi-user operating system.
Multi-tasking and Single-tasking Operating Systems: When a single program is allowed to run
at a time, the system is grouped under a single-tasking system, while in case the operating
system allows the execution of multiple tasks at one time, it is classified as a multi-tasking
operating system. Multi-tasking can be of two types namely, pre-emptive or 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. Cooperative multitasking is achieved by relying on each process to give time to the
other processes in a defined manner. MS Windows prior to Windows 95 used to support
cooperative multitasking.
The operating systems thus contribute to the simplification of the human interaction with the
computer hardware. They are responsible for linking application programs with the hardware,
thus achieving an easy user access to the computers.
Operating system
Article Table of contents
The operating system thus allows the "dissociation" of programmes and hardware, mainly
to simplify resource management and offer the user a simplified Man-machine interface
(MMI) to overcome the complexity of the actual machine.
• The kernel, which represents the operating system's basic functions such as
management of memory, processes, files, main inputs/outputs and communication
functionalities.
• The shell, allowing communication with the operating system via a control
language, letting the user control the peripherals without knowing the
characteristics of the hardware used, management of physical addresses, etc.
• The file system, allowing files to be recorded in a tree structure.
Multi-threaded systems
An operating system is known as multi-threaded when several "tasks" (also known as
processes) may be run at the same time.
The applications consist of a sequence of instructions known as "threads". These threads
will be alternately active, on standby, suspended or destroyed, according to the priority
accorded to them or may be run simultaneously.
A system is known as pre-emptive when it has a scheduler (also called planner), which,
according to priority criteria, allocates the machine time between the various processes
requesting it.
The system is called a shared time system when a time quota is allocated to each process
by the scheduler. This is the case of multi-user systems which allow several users to use
different or similar applications on the same machine at the same time. the system is then
referred to as a "transactional system". To do this, the system allocates a period of time
to each user.
Multi-processor systems
Multi-processing is a technique that involves operating several processors in parallel to
obtain a higher calculation power than that obtained using a high-end processor or to
increase the availability of the system (in the event of processor breakdown).
The term SMP (Symmetric Multiprocessing or Symmetric Multiprocessor) refers to an
architecture in which all processors access the same shared memory.
A multiprocessor system must be able to manage memory sharing between several
processors but also to distribute the work load.
Embedded systems
Embedded systems are operating systems designed to operate on small machines, such
as PDAs (personal digital assistants) or autonomous electronic devices (spatial probes,
robot, on-board vehicle computer, etc.) with reduced autonomy. Thus an essential feature
of embedded systems is their advanced energy management and ability to operate with
limited resources.
The main "general use" embedded systems for PDAs are as follows:
• PalmOS
• Windows CE / Windows Mobile / Window Smartphone
• OS-9;
• RTLinux (RealTime Linux);
• QNX;
• VxWorks.