Types of Operating Systems
Types of Operating Systems
OPERATING
SYSTEMS
TYPES OF OPERATING SYSTEMS
There are many types of computer operating systems, which work in very different ways and are intended
for very different purposes. To a large extent, the functions required by a computer dictate what the
operating system will do and how. As an example, the computer in a microwave oven needs device drivers
for the light-emitting diode (LED) display, numeric keypad, and door-closing switches, whereas the
computer in a television needs drivers to monitor the remote control and tell the tuner to change the
channel. The same goes for various types of small and large computers; a computer designed to handle a
high volume of numerical operations for many users needs different functions than the PC used to run a
word processor.
TYPES OF OPERATING SYSTEMS
In general, operating systems are organized by the size, type, and purpose of the computer on
which they run. For example, PC-class computers are designed for individual users to perform
tasks, such as word processing, database and spreadsheet management, and networking with
other computers. Over the years, PCs have become faster, more complex, and more powerful,
offering the user more features. As a result, many PCs can now handle complex operations that
go beyond simply running a user’s application software.
TYPES OF OPERATING SYSTEMS
This ability has resulted in advanced operating systems that are designed to provide complex
graphical user interfaces and advanced services and applications. The lines of division by size,
type, and purpose are therefore getting more vague every day. Hardware is becoming more
compact, but capable of doing more, and operating systems are getting larger and more complex.
One example of how PC operating systems have become more complex is the
comparison of lines of code. Windows 3.1, released in 1992, had about 3 million lines
of code, whereas modern OSs like Mac OS X and recent Windows versions have more
than 50 million lines of code.
TYPES OF OPERATING SYSTEMS
For instance, in the seventies, corporate computing was confined to mainframe- and
minicomputer-class devices. These were refrigerator-sized or larger computers that required a
full staff to manage them, and large, expensive air-conditioned rooms to hold them. The
operating systems for these machines were quite complex and often included such intrinsic
functions as text editing (not quite “word processing” by today’s standards), database
management, networking, and communications.
TYPES OF OPERATING SYSTEMS
There were few PC-class devices at the time. Those that were available were capable of minimal
functionality, and used what could only be described as rudimentary operating systems. Many of
those early devices didn’t support any storage hardware (disk drives), or if they did, it was
frequently serial, low-density tape. In this comparison, it should be easy to see that “in the old
days,” operating systems for large machines were very different from operating systems used for
smaller machines.
FROM THE TRENCHES
n the early 1990s, one of the authors managed the installation of a new IBM 9000-class
mainframe. Installing the hardware and operating system, plus porting (relocating) programs
and data from the previous mainframe, was such a complex process that it took several months
to plan and many more months to test and execute. The computer equipment was so large that it
was delivered by a moving van. Compare that task to setting up a new PC server and operating
system, which requires very little space and can take as little as a few hours to a few days to
complete.
TYPES OF OPERATING SYSTEMS
To operate today’s more powerful computers, more powerful and more capable operating systems are
employed. For example, a company that sells Internet access and Web hosting to thousands of other
users—an Internet service provider (ISP), for instance—requires computers capable of performing
multiple tasks for many users at the same time.
Although the computers used for such large installations typically don’t look much different from the PC
or Macintosh designed for a single user, they are quite different inside. They have powerful multitasking,
multiuser capabilities with high-speed network connections. Also, they may include multiple CPUs and
have more powerful I/O capabilities
TYPES OF OPERATING SYSTEMS
So-called high-end workstations are used by engineers for graphical design, or by editors for film
design and animation. Again, these machines may look much like a school or home PC, but inside they
include extremely fast hard disk controllers, 3D graphics interfaces, lots of memory, and often
support for multiple CPUs. The needs of these workstations are very different from the multitasking,
multiuser needs of an Internet server, but they too have special requirements that can’t be met by
some operating systems. Although some graphics applications use Linux or UNIX, the Windows and
Mac OS X operating systems are more popular foundations for these applications, and can be used for
powerful business applications as well.
TYPES OF OPERATING SYSTEMS
So, there must be other factors that differentiate high-end and low-end computers. The main
factor is the application software used with the computers. Again, the differentiation among
computers is getting less defined. You have seen some of these factors, but the confusing concept
is that even high-end applications can often run on what are considered low-end machines on
the same operating system. When this is the case, the main differentiating factor is the hardware:
the speed of the disk controller, size and speed of the storage media, amount and speed of
memory, size of the data pathways in the computer (such as 32-bit, 64-bit, or larger), or speed
and number of CPUs.
TYPES OF OPERATING SYSTEMS
. The differences are significant, but also subtle. For example, Linux is a popular desktop operating
system (used by a single person) based on UNIX, and it is also used to host Web servers, mail
servers, and other Internet-related multiuser applications. Again, the hardware for a single-user
Linux computer is likely much different from that of a Linux computer used to host Internet
services, even though the operating system is the same. On the other hand, even with the enhanced
hardware, an ISP wouldn’t likely replace Linux or any other server operating system, such as
Windows Server 2016, with a system intended for the desktop, such as Windows 10.
TYPES OF OPERATING SYSTEM
One way to look at computer and operating systems is to consider them in terms of one or
more of the following characteristics:
• Time sharing
• Real-time
• Multiuser
TIME SHARING
A time-sharing system is a central computer system that is used by multiple users and applications
simultaneously. Mainframe computers typically fall into this category. These computers are used to
conduct massive calculations or manipulate huge amounts of data. Mainframe computers, such as
IBM System z mainframes, are used at scientific institutions, banks, and insurance companies. They
are built to quickly perform tasks, such as keeping track of thousands of checking account balances.
Most of their work is done in batches, using batch processing—such as clearing two million checks
and updating their associated bank accounts—instead of single, sequential repetitive tasks
TIME SHARING
.When the batch process is finished—all checks have been posted, for example—the statements
can be printed. Contrast this approach to that of smaller computers, such as PCs, that are
interactive and use sequential processing, where each process request is completed and the data
returned before the next process is started
Besides batch processing, many clerks, customer representatives, and ATM machines often use a
mainframe to do daily transactions. They all share the resources, or processor time, of the large
machine, which is why such machines are called time-sharing systems.
REAL-TIME SYSTEMS
REAL-TIME SYSTEMS
A real-time operating system (RTOS) receives and processes inputs and produces the required outputs in a specified
amount of time. It is more important for the response time of an RTOS to be consistent than fast, although RTOSs are
also built for speed. For example, an RTOS might be used in an industrial plant to control machinery. Inputs to the
computer controlling the machinery dictate how the machines respond; the responses must be consistent and
predictable, or the entire process may be thrown off. Examples of RTOSs include VxWorks from Wind River Systems,
QNX, and Windows CE. These OSs are typically used in embedded systems, which means the computer has a dedicated
function within a larger system such as a piece of machinery. Examples of embedded systems include the computer
that runs all the systems of a modern automobile or the computers that run the robots on an automated assembly line.
MULTIUSER SYSTEMS
A multiuser system supports multiple users who access the hardware and software of the computer and
operating system. Both time-sharing and real-time systems can be multiuser systems. To review, time sharing is
a method for enabling multiple users to share in using CPU resources, such as through terminals or computers
with terminal software. A terminal consists of a keyboard and monitor without a CPU. For example, a time-
sharing mainframe was originally accessed by running cables from terminals to a specialized communications
box connected to the mainframe, creating a multiuser system, as shown in Figure 1-6. In time sharing, users may
experience delays as the processor and operating system handle all of the processing requests and processing
time becomes available. Today, multiple users typically access mainframes through a computer network.
MULTIUSER SYSTEMS
Servers, such as a Linux server or Windows Server 2016, can provide computer access to
multiple users over a network, as shown in Figure 1-7. In this environment, multiple users can
do many different things on the multiuser computer at the same time. Access to resources is
designed to be instantaneous by all users. Most modern OSs run both on personal computers and
servers and are considered multiuser operating systems. Even though Windows 10, for example,
doesn’t typically have multiple monitors and keyboards attached to it with several users running
applications, these OSs can support multiple user connections through a network.
MULTIUSER SYSTEMS
In a departure from mainframes and time sharing, one of the newer approaches to multiuser operations is the use
of client/server systems. On a multiuser mainframe, all of the work is typically done on the big machine, including
running programs, storing data, and accessing data. In the client/server model, only some of the work is done on
the central servers. In a client/server system, the servers may hold all the data and files, and may even perform
some of the database functions or calculations required, but much of the work, such as runningprograms, is
performed on the client side—on the computer at the user’s desk. If you have used PC-class computers in a
networked environment, chances are you have used the client/ server model, at least to some degree. In fact,
accessing the Internet with a Web browser is a client/server activity. The Web browser runs on the user’s client
computer, and it requests Web pages from a Web server.
MULTIUSER SYSTEMS
Operating system differences are beginning to narrow, but the applications that run on them help
differentiate how the computer is used and classified. Client/server computing was not possible
until the PC was introduced. After all, it requires a computer at the user’s desk, which was not
available until the introduction of the PC.
MULTIUSER SYSTEMS
Client/server computing coupled with the Internet opened the way to an even more efficient and powerful
computing model called cloud computing. Cloud computing involves providing a host of scalable Web-based
applications and services over the Internet or a private network that are used by clients through Web
browsers or specialized apps. The servers and resources available through the apps are depicted as
available in a cloud because there are many resources, but they appear to be available from one unified
resource (see Figure 1-8). You might compare this technology to using telephone services. There are many
telephone companies and telephone technologies (such as land lines, satellite phones, and cell phones), but
to the user they appear as one giant resource.
MULTIUSER SYSTEMS
In cloud computing, the user experiences programs and data as if they are installed on the user’s computer, but in truth a
small portion is on the local computer and all other resources are on servers and other devices in the cloud. Microsoft
• Private cloud—In which computing resources are kept within an organization and used exclusively by that organization.
• Hosted private cloud—In which resources are made available through a third-party outsourcer, but are only accessible to
• Public cloud—In which a variety of resources are available to any organization through a third party and each
organization subscribes only to specific resources, which may be shared by other organizations.
MULTIUSER SYSTEMS
Common cloud service providers include Amazon Web Services (AWS), Microsoft Azure, and
Dropbox. AWS and Microsoft Azure are full-service cloud computing companies that can offer
customers anything from cloud storage to an entire network of servers and services. Dropbox, as
you may know, is a cloud storage company that provides seamless access to files through the
Internet.
SINGLE TASKING VERSUS
MULTITASKING
SINGLE TASKING VERSUS MULTITASKING
A few aspects of operating systems deserve a closer look. As pointed out earlier, today’s PC
operating systems go way beyond basic I/O. In practice, almost every resource in the computer,
such as the memory and the microprocessor (CPU), is managed by the operating system. This is
both good and bad; it results in a lot more consistency and a lot of added functionality. However,
application programs can no longer directly access hardware in creative ways as they could
before, particularly under MS-DOS and in early Windows systems.
SINGLE TASKING VERSUS MULTITASKING
A good example is the chip used to produce sound. This chip includes an electronic timer that can be accessed by
external programs. Many older MS-DOS programs used this chip as a timer to halt program execution for a specified
period of time. This was done by manipulating the internal workings of the chip directly from the application program,
without the intervention of MS-DOS. Some earlier versions of Windows, such as Windows 3.x, 95, 98, and ME, enable
programs to directly access hardware, whereas all Windows OSs built on the Windows NT foundation— which includes
Windows NT, Windows 2000, and all versions of Windows since Windows XP—do not. A disadvantage of systems such
as Windows 95/98, which enable programs to directly access hardware, is that these operating systems are more prone
to unexpected hangs, system instability, or crashes when a problem occurs in software as it is accessing the hardware.
SINGLE TASKING VERSUS MULTITASKING
One of the major reasons for giving the operating system so much control over resources is to
facilitate multitasking, a technique that allows a computer to run two or more programs at the
same time. Multitasking is typically achieved by splitting processor time between applications
and switching so rapidly that the user is not aware of any discontinuity.
SINGLE TASKING VERSUS MULTITASKING
There are two general types of multitasking. The first method is known as cooperative
multitasking. In this method, the operating system hands over control to a program, sits back,
and waits for the program to hand control back to the operating system. The assumption here is
that the program will do some work, and then give control back to the operating system. If for
some reason the program does not hand control back to the operating system, the program will
hog the CPU until its operations are complete, while all other programs on the computer are on
hold.
SINGLE TASKING VERSUS MULTITASKING
If the program does not release control—for example, because it is stuck in an endless loop—the
operating system may never regain control. As a result, no other programs can run until the computer
is restarted—an undesirable scenario. This could also be a problem if some of the programs on the
computer are time sensitive. If a program must collect data every second, or regularly update a clock,
a cooperative multitasking environment may cause trouble. You will find this behavior in older
operating systems such as early Windows versions. If you print a word-processing file and try to play
Solitaire at the same time, you will find that you cannot play a card until the print job is finished.
Figure 1-9 shows the basic concept of cooperative multitasking.
SINGLE TASKING VERSUS MULTITASKING
Some older operating systems, such as MS-DOS, were single-tasking operating systems. A single-
tasking operating system executes one program at a time (see Figure 1-11). To do something else, one
program must be stopped and a new program must be loaded and executed. Because multiple
programs are not trying to use the same resources, single-tasking operating systems are a lot simpler.
These systems, however, are considered older technology, and as new operating systems are released,
they are seldom single-tasking. New single-tasking operating systems are found only in computers
with very limited processor capacity, such as older personal digital assistants (PDAs), which have long
since been replaced by smartphones and tablets that sport their own multitasking OSs.
SINGLE TASKING VERSUS MULTITASKING
A special note must be made of a hybrid system called a task-switching operating system. This
system offers many of the device management functions of the multitasking operating system,
and it can load multiple application programs at once. It will actively execute only one of these
programs, however. If the user wants to use another application, she can ask the operating
system to switch to that task. When the switch is made, the operating system gives control to the
newly selected task.
SINGLE TASKING VERSUS MULTITASKING
Obviously, many of the problems associated with switching among various applications and their
use of various devices do not have to be addressed, making this a less complicated type of
operating system than a true multitasking system. This system is also considered an older
technology that isn’t used in any of the new PC operating systems. Many earlier versions of Mac
OS are task switching, as are some of the operating systems found on much older PCs, such as the
Atari ST series, which focused on the home computer market. ou can see the concept of task
switching in Figure 1-12.