OPERATING SYSTEMS
Lecture 1
Operating System Overview
Dr Victoria Mukami
University of Embu
INTRODUCTION
Welcome to this unit: Operating systems. This first lecture is a brief or maybe not so
brief overview of Operating Systems. We will first begin by reviewing what an operating
system is and some of its functions. Next, we shall review the evolution of computers
which should give way to the evolution of operating systems. We will also review the
categories of an operating system. Finally, we will review the advancements made
within the operating system field.
Learning objectives
By the end of this topic, you should be able to:
1. Show an understanding of what an operating system is and its functions.
2. Highlight the operating system timeline.
3. Describe operating system types
OVERVIEW
This first lecture is an overview of the concepts of the operating system. Previously,
you may have learnt about the different types of operating systems and their uses. We
start by defining an operating system. Before we do that, let us understand how a
computer works. Any computer is divided into two main parts. The hardware and the
software. Hardware is considered the tangible parts of a computer. A keyboard and a
mouse are examples of hardware. Software on the other hand is the instructions that
tell a computer what to do. Software is categorized as system software or application
software. An operating system is categorized under system software.
An operating system has many definitions. It is best defined as the part of a computer
that manages the hardware and software of a computer [1]. Some argue that it is the
brain of the computer giving instructions to all the other parts of the computer, although
others argue that the CPU would be the brain with the operating system considered
the mind. That aside, the operating system can tell the computer what to do, when and
how. Additionally, the operating system acts as the interface between the application
software and the computer hardware [2].
FUNCTIONS OF AN OPERATING SYSTEM
All operating systems have universal functions regardless of the type or device they
are made for. We will review five functions of the operating system.
Booting a computer [3]
Booting refers to the process of shutting down and switching on a computer [3]. The
process of switching on involves several tests that check the functionality of various
hardware. The tests check whether the required devices are connected and working
successfully. The operating system oversees the entire process of booting the system.
Program management [3]
Software as reviewed above is divided into system software and application software.
Application software is individualized programs that are designed with a specific
function in mind. These applications or programs are managed by the operating
system. When the programs are running and they require resources, the operating
system will manage and allocate the resources.
Device management [3]
A computer requires different types of hardware to function. Specifically, lots of
peripheral devices are used to create additional functionality for the computer. For
these devices to work, the operating system allows for a functionality called plug-and-
play [3]. This functionality allows the operating system to automatically configure a
new device during installation.
File Management [3]
File management is a critical function of any computer. Users need to save files that
they work on and can retrieve the files later. Additionally, users need to be able to
open different types of files with the right software. An operating system ensures that
files can be accessed as needed, perform backups, troubleshoot and fix problems
among other functionalities involving user files.
Security Management [3]
Security is provided by the operating system. From the user accounts that separate
user files and programs to secure the computer from intrusion is the work of the
operating system. The operating system provides a provision where different user
accounts are created on a computer to ensure that users only access allowed
resources and programs. Additionally, the operating system using a firewall ensures
that outside access is not possible unless authorized to.
EVOLUTION OF COMPUTERS
Before we can look at the evolution of the operating system, perhaps we need an
understanding of computers and where they have come from and where they are
headed to. Computers have had five generations with us currently the fifth generation.
We will review each of the generations and understand the difference between each
generation.
First Generation (1940 – 1950s) – The generation featured large computers that used
vacuum tubes. The vacuum tubes were the main processing hardware. They were
large and therefore used lots of electricity and broke down often resulting in numerous
replacements.
Second Generation (1950s–1960s) – The generation featured the use of transistors
as a replacement for vacuum tubes. The computers in this generation were smaller
and much faster than the first generation.
Third Generation (1960s–1970s) – This generation saw hundreds of transistors
placed within an integrated circuit. The integrated circuit saw much faster computers,
and this was the introduction of the monitor and other output devices.
Fourth Generation (1970’s to present) – This was the generation where the number
of advancements was remarkable. From the introduction of the microprocessor to
micro-computers. This generation has changed the computing scene.
Fifth Generation (Ongoing) – This generation is currently ongoing and uses artificial
intelligence to make computers faster and better. There have been many
advancements with systems that can think like human beings to robots.
With the above review of the computer, we now look at the evolution of the operating
system.
EVOLUTION OF OPERATING SYSTEMS
The evolution of the operating system ran in parallel to that of the computer [1].
Development started in the 1940s around the same time the first computer was
invented and went all the way to the present day.
First Generation (1940–1950s) – During this generation, there was no operating
system as the computers were reserved fully to work on a specific problem [1]. A plug
board like a control panel acted as the operating system and involved rewiring the
machine to perform tasks.
Second Generation (1950s–1960s) – This generation saw the invention of simple
batch systems [2]. Due to the challenges of the processor staying idle in between jobs,
it was necessary to develop a system that would take care of the time wasted [2]. The
batch system had a monitoring software that was used to put several jobs together for
processing. We will discuss batch operating systems in the next section.
Third Generation (1960s–1980s) – As computers got faster and smaller, there was
a need for an operating system that could handle several jobs together. Thus, the
invention of a multiprogramming system. Multiprogramming dealt with the drawbacks
of the batch system where the processor still sat idle for periods especially when the
processor was waiting for resources.
Fourth Generation (1980s to 2000s) – This generation was marked by networked
computers and the invention of the internet. This brought about the need for an
operating system that could deal with better connectivity and more secure systems.
Additionally, this led to a demand for an operating system that could allow for more
device compatibility, was more flexible and allowed for larger storage.
New generation (2000’s to present) – This is probably not the name of the
generation; however, it represents the new age of operating systems. Major internet
advancements have led to virtualization. Virtualization is the ability to separate
partitions of a server to support different operating systems [1]. Additionally, this new
generation has seen the development of multicore processors which means operating
systems have to be developed to support the new processors.
CATEGORIES OF OPERATING SYSTEMS
Operating systems generally fall into five categories that are based on response speed
and data entry method [1]. We now discuss the five categories, some of which had
been mentioned above.
Batch Operating systems
These are operating systems that enter jobs as a whole and in a particular sequence
[1]. We saw batch systems were invented around the second generation. Batch
systems are somewhat like a visit to the doctor’s office. Only one patient can go in to
see the doctor at a time and no other patient can enter the room until the doctor
finishes with the first patient. The number of jobs completed within a particular time
determines the throughput of the system [1].
Interactive
These types of operating systems allow for multiple jobs to be processed
simultaneously [1]. This is different from the batch operating system that allowed only
one job at a time. The interactive systems were a form of early operating system and
could allow users to interact with the computer using commands.
Hybrid Systems
Hybrid operating systems are those that are a combination of batch systems and
interactive systems. This type of system allows users to enter multiple jobs while at
the same time running batch programs in the background [1]. A hybrid combines the
benefits of interactive and batch systems to ensure that free time between system
usage is utilized optimally [1].
Real-Time Systems
Real-time systems are used in time-critical environments [1]. These systems are used
where reliability and deadlines are critical [1]. Good examples of industries that are
time critical and rely on strict deadlines include airport traffic control, space exploration,
and medical systems among others. If this system was to fail, severe consequences
would be felt. These systems provide for two types of systems that determine the type
of consequence felt. The hard real-time system risk complete system failure in the
event a deadline is missed [1]. The soft real-time system suffers performance
degradation in the event a deadline is missed [1].
Embedded Systems
Embedded operating systems are used within embedded computers. Embedded
computers are devices that are developed for other functions but when they get a CPU
chip added their functionality increases. For instance, the TV is generally used for
entertainment and to receive broadcasts. A TV with a CPU chip is known as a smart
TV and can be used to visit websites online, social media and even stream movies
from a source online. An embedded operating system is specifically formulated for
embedded computers.
POPULAR OPERATING SYSTEMS
Several operating systems exist. Some of the more popular operating systems for
desktop computers include Windows, Linux, Mac OS, and Unix, while those that are
used in mobile devices include Android and iOS.
Windows
This operating system came about in the 1980s and featured a command type of
operating system where users were required to type in commands. This gradually
changed and a graphical user interface was incorporated into the operating system
making it more user-friendly. Microsoft ensured that the windows operating system
was easy to use and was separated to cater for various needs such as in the home
and office.
Linux
The Linux operating system is a popular operating system that is a multitasking UNIX-
type of operating system [3]. Unlike Windows, which is proprietary software, Linux is
non-proprietary software and is open source meaning that its base code is freely and
readily available for the public to use and modify.
Mac OS
This operating system was released to work with Apple's Macintosh computers. It is
proprietary software like Windows. It offers features like higher security and better
utilization of resources. It can only be used by Macintosh computers.
UNIX
This is a multitasking operating system [3]. Mostly UNIX uses a command-based kind
of interface. UNIX was mainly developed for larger computers, however, nowadays it
is available for computers of all sizes [3].
Android and iOS are examples of mobile-based operating systems and are used on
various mobile phones. iOS use is limited to apple devices while Android is used in a
majority of phones and allows developers to develop application software that can run
on the phones.
SUMMARY
During this lecture, we reviewed the definition of a computer. We then went ahead and
reviewed the evolution of computers in relation to the evolution of the operating
system. We also reviewed the operating system types and finally conducted a review
of the popular types of operating systems.
DISCUSSION TOPIC
The current computer generation that we are on is the fifth which features artificial
intelligence. One of the greatest needs that artificial intelligence computers will need
is a reliable operating system. Discuss the features that will be expected of an
operating system that will be able to support an artificial intelligence system.
REFERENCES
[1] McHoes, A., & Flynn, I., Understanding Operating Systems. Boston: Cengage
Learning, 2018
[2] Stallings, W., Operating Systems: Internals and Design Principles. Harlow: Pearson
Education Limited, 2018.
[3] Morley, D., & Parker, C., Understanding Computers: Today and Tomorrow. Boston:
Course Technology, 2017.