Course Administration
Text & Reference Books:
Operating System Concepts Eighth Edition Abraham Silberschatz, the Peter
Gaivin, Greg Gagne
Abraham Silberschatz, the Peter Gaivin, Greg Gagne, Applied Operating
System
Concepts (practical concept of the operating system)., John Wiley & Sons,
Inc.2000 (Beijing: Higher Education Press .2001,5)
Basic components of a computer
system: place of OS
• A computer system can be
divided into four components
• Hardware – provides basic
computing resources
• CPU, memory, I/O devices
• Operating system
• Controls and coordinates use of
hardware among various
applications and users
• Application programs –solve
the problems of the users: use
system resources
• Word processors, compilers,
web browsers, database
systems, video games
• Users
• People, machines, other
computers
•3
What is an Operating System
• A program that acts as an intermediary between a
users/applications and the computer hardware
• 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 a vital component of the system software in a
computer system.
• An Operating System (OS) is an interface between a computer
user and computer hardware. An operating system is a
software which performs all the basic tasks like file
management, memory management, process management,
handling input and output, and controlling peripheral devices
such as disk drives and printers.
• Some popular Operating Systems include Linux Operating
System, Windows Operating System, VMS, OS/400, AIX, z/OS,
etc.
History Of OS
• Operating systems were first developed in the late 1950s to
manage tape storage
• The General Motors Research Lab implemented the first OS
in the early 1950s for their IBM 701
• In the mid-1960s, operating systems started to use disks
• In the late 1960s, the first version of the Unix OS was
developed
• The first OS built by Microsoft was DOS. It was built in 1981
by purchasing the 86-DOS software from a Seattle company
• The present-day popular OS Windows first came to
existence in 1985 when a GUI was created and paired with
MS-DOS.
Functions of an operating System
• Process management:- Process management helps OS to
create and delete processes. It also provides mechanisms for
synchronization and communication among processes.
• Memory management:- Memory management module
performs the task of allocation and de-allocation of memory
space to programs in need of this resources.
• File management:- It manages all the file-related activities
such as organization storage, retrieval, naming, sharing, and
protection of files.
• Device Management: Device management keeps tracks of all
devices. This module also responsible for this task is known
as the I/O controller. It also performs the task of allocation
and de-allocation of the devices.
• I/O System Management: One of the main objects of any OS
is to hide the peculiarities of that hardware devices from the
user.
• Secondary-Storage Management: Systems have several
levels of storage which includes primary storage,
secondary storage, and cache storage. Instructions and
data must be stored in primary storage or cache so that
a running program can reference it.
• Security:- Security module protects the data and
information of a computer system against malware
threat and authorized access.
• Command interpretation: This module is interpreting
commands given by and acting system resources to
process that commands.
• Networking: A distributed system is a group of
processors which do not share memory, hardware
devices, or a clock. The processors communicate with
one another through the network.
Functions of an operating System
Functions of an operating System
• Job accounting: Keeping track of time & resource
used by various job and users.
• Communication management: Coordination and
assignment of compilers, interpreters, and another
software resource of the various users of the
computer systems.
Types of Operating system
• Batch Operating System
• Multitasking/Time Sharing OS
• Multiprocessing OS
• Real Time OS
• Distributed OS
• Network OS
• Mobile OS
Types of Operating system
Batch Operating System
Some computer processes are very lengthy and time-consuming. To
speed the same process, a job with a similar type of needs are
batched together and run as a group.
The user of a batch operating system never directly interacts with
the computer. In this type of OS, every user prepares his or her job
on an offline device like a punch card and submit it to the computer
operator.
Multi-Tasking/Time-sharing Operating systems
Time-sharing operating system enables people located at a different
terminal(shell) to use a single computer system at the same time.
The processor time (CPU) which is shared among multiple users is
termed as time sharing.
Real time OS
A real time operating system time interval to process and respond
to inputs is very small. Examples: Military Software Systems, Space
Software Systems.
Types of Operating system
Distributed Operating System
Distributed systems use many processors located in different
machines to provide very fast computation to its users.
Network Operating System
Network Operating System runs on a server. It provides the
capability to serve to manage data, user, groups, security,
application, and other networking functions.
Mobile OS
Mobile operating systems are those OS which is especially
that are designed to power smartphones, tablets, and
wearables devices.
Some most famous mobile operating systems are Android and
iOS, but others include BlackBerry, Web, and watchOS.
Difference between Firmware and Operating System
Firmware Operating System
Firmware is one kind of
programming that is
embedded on a chip in the
device which controls that
specific device.
OS provides functionality over
and above that which is
provided by the firmware.
Firmware is programs that
been encoded by the
manufacture of the IC or
something and cannot be
changed.
OS is a program that can be
installed by the user and can
be changed.
It is stored on non-volatile
memory.
OS is stored on the hard
drive.
The advantage of using Operating System
• Allows you to hide details of hardware by creating an
abstraction
• Easy to use with a GUI
• Offers an environment in which a user may execute
programs/applications
• The operating system must make sure that the
computer system convenient to use
• Operating System acts as an intermediary among
applications and the hardware components
• It provides the computer system resources with easy to
use format
• Acts as an intermediator between all hardware's and
software's of the system
Disadvantages of using Operating System
• If any issue occurs in OS, you may lose all the
contents which have been stored in your system
• Operating system's software is quite expensive for
small size organization which adds burden on them.
Example Windows
• It is never entirely secure as a threat can occur at
any time
Goals of an Operating System
• Simplify the execution of user programs and make
solving user problem easier.
• Use Computer hardware efficiently
• Allow sharing of hardware and software resources.
• Make application software portable and versatile.
• Provide isolation, security and protection among
user problems.
• Improve overall system reliability
• Error confinement, fault tolerance, reconfiguration.
A Multi-user operating system
A Multi-user operating system is
a computer operating system which allows multiple
users to access the single system with one operating
system on it. It is generally used on
large mainframe computers.
Example: Linux, Unix, Windows 2000, Ubuntu, Mac
OS etc.,
In the multi-user operating system, different users
connected at different terminals and we can access,
these users through the network
Features of the Multi-user Operating System
Multi-tasking- Using multi-user operating system we
can perform multiple tasks at a time, i.e. we can run
more than one program at a time.
Example: we can edit a word document while
browsing the internet.
Resource sharing- we can share different peripherals
like printers, hard drives or we can share a file or data.
For this, each user is given a small time slice of CPU
time.
Background processing- It means that when
commands are not processed firstly, then they are
executed in the background while another programs
are interacting with the system in the real time.
Operating System Structure
An operating system is a construct that allows the
user application programs to interact with the system
hardware. Since the operating system is such a
complex structure, it should be created with utmost
care so it can be used and modified easily. An easy
way to do this is to create the operating system in
parts. Each of these parts should be well defined
with clear inputs, outputs and functions.
Simple Structure
There are many operating systems that have a rather
simple structure. These started as small systems and
rapidly expanded much further than their scope. A
common example of this is MS-DOS. It was designed
simply for a niche amount for people. There was no
indication that it would become so popular.
It is better that operating systems have a modular
structure, unlike MS-DOS. That would lead to greater
control over the computer system and its various
applications. The modular structure would also allow the
programmers to hide information as required and
implement internal routines as they see fit without
changing the outer specifications.
Layered Structure
One way to achieve modularity in the operating
system is the layered approach. In this, the bottom
layer is the hardware and the topmost layer is the
user interface.
As seen from the image, each upper layer is built on
the bottom layer. All the layers hide some structures,
operations etc from their upper layers.
One problem with the layered structure is that each
layer needs to be carefully defined. This is necessary
because the upper layers can only use the
functionalities of the layers below them.
The Operating System as a Resource Manager
• Internally an Operating System acts as a manager of
resources of the computer system such as
processor, memory, files, and I/O device.
• In this role, the operating system keeps track of the
status of each resource, and decides who gets a
resource, for how long and when.
• In system that supports concurrent execution of
program, the operating system resolves conflicting
requests for resources in manner that preserves
system integrity, and in doing so attempts to
optimize the resulting performance.
Operating System Definition
• OS is the one program running all times on the
computer.
• Kernel: running all the time; having most of the
functionality
• Everything else: either a system program or an
application program
25
system
programs
(Some
application
programs) OS CD
kernel
System programs: programs that are
associated with the operating system
+ you can install
other applications