Skip to main content
Operating Systems
BIT 3rd Semester
Unit-1
Compiled By
Sudarshan Sharma
Text Book:
Modern Operating Systems : Andrew S. Tanenbaum ,PH1 Publication,
Third Edition,2008
Reference Books:
1. Abraham Silberschatz,Peter Baer Galvin & Gerg Gagne,” Operating
System Concepts”, John Wiley & Sons (ASIA) Pvt. Ltd,Seventh
edition,2005
2. Harvey M. Ditel ,Paul J. Deitel & David R . Choffnes, “ Operating
Systems, Prentice Hall, Third edition, 2003
Unit-1 Operating System Overview (4)
Contents:
1.1 Introduction : Definition, Two Views of
Operating System , Evolution/History of Operating
System , Types of OS ( Mainframe , Server,
Multiprocessor, PC, Real-Time , Embedded , Smart Card
Operating Systems)
1.2 System Calls : Definition , Types of System Calls,
Operating System Structures, System Programs , The
Shell , Open Source Operating System.
1.1 Introduction
Definition
• It is the system software that acts as a interface
between computer hardware and users and provides
easy interface to the users by hiding underlying
complexities of computer hardware.
• In easy words an operating system performs the
logical operations in machine language and displays
it to the user in a non-complex way as in figure:
Fig :Operating System Overview
•Hardware: Provides basic computing resources
(CPU, Memory, I/O devices etc)
•Operating System: Controls and co-ordinates the
use of the hardware among the various users. It is
usually that portion of software that runs in kernel
mode or supervisor mode.
•Application Programs: Define the way in which
the system resources are used to solve the
computing problems.
•Users: People, machine, other computers
Two views of operating system
• OS as Resource Manager:
• One view considers the operating system as a resource manager.
• In this view the operating system is seen as a way of providing the users of
the computer with the resources they need at any given time.
• Some of these resource requests may not be able to be met (memory, CPU
usage etc.) but, the operating system is able to deal with problems such as
these.
• For example consider the situation where more than one process is
requesting CPU.
• If we have single CPU it can be assigned to only one process at a time.
• OS is responsible for when to provide CPU to which process called CPU
scheduling.
• Similarly other resources are also managed by OS.
• OS as Extended Machine:
• Another view of an operating system sees it as a way of not having to
deal with the complexity of the hardware.
• If we have operating system, we can read data easily from disc by
issuing a command such as READ.
• But, if we don’t have OS we have to deal with low level complexities
of disc to read data from it.
• We should know whether the disc is spinning, what type of recording
method we should use, What error codes are used etc.
• Operating system hides all these complexities from us simple
minded users and provides convenient interface.
• So in this view of the machine, the operating system can be seen as
an extended machine or a virtual machine.
Evolution/History of Operating System
• Operating systems have been evolving(developing) through the years.
• The first true digital computer was designed by the English mathematician
Charles Babbage (1792-1871).
• Although Babbage spent most of his life and fortune trying to build his
“analytical engine.”
• He never got it working properly because it was purely mechanical, and
the technology of his day could not produce the required wheels, gears,
and cogs to the high precision that he needed.
• Needless to say, the analytical engine did not have an operating system.
• Babbage realized that he would need software for his analytical engine, so
he hired a young woman named Ada Lovelace.
• The programming language Ada® is named after her.
• First Generation (1945-1955) :
• Like many developments, the first digital computer was
developed due to the motivation of war.
• During the Second World War many people were developing
automatic calculating machines.
• These first generation computers filled entire rooms with
thousands of vacuum tubes.
• Like the analytical engine they did not have an operating
system, they did not even have programming languages and
programmers had to physically wire the computer to carry out
their intended instructions.
• The programmers also had to book time on the computer as a
programmer had to have dedicated use of the machine.
•
• Second Generation (1955-1965):
• Vacuum tubes proved very unreliable and a programmer, wishing to run his
program, could quite easily spend all his/her time searching for and
replacing tubes that had blown.
• The mid fifties saw the development of the transistor which, as well as
being smaller than vacuum tubes, was much more reliable. It now became
feasible to manufacture computers that could be sold to customers willing to
part with their money.
• Of course, the only people who could afford computers were large
organizations who needed large air conditioned rooms in which to place
them.
• Now, instead of programmers booking time on the machine, the computers
were under the control of computer operators.
• Programs were submitted on punched cards that were placed onto a
magnetic tape.
• This tape was given to the operators who ran the job through the computer
and delivered the output to the expectant programmer.
•
•As computers were so expensive methods were
developed that allowed the computer to be as
productive as possible.
•One method of doing this (which is still in use
today) is the concept of batch jobs.
•Instead of submitting one job at a time, many jobs
were placed onto a single tape and these were
processed one after another by the computer.
•The ability to do this can be seen as the first real
operating system .
• Third Generation (1965-1980):
• The third generation of computers is characterized by the use of
Integrated Circuits as a replacement for transistors.
• This allowed computer manufacturers to build systems that users
could upgrade as necessary. Up until this time, computers were single
tasking.
• The third generation saw the start of multiprogramming.
• That is, the computer could give the illusion of running more than one
task at a time.
• Being able to do this allowed the CPU to be used much more
effectively.
• When one job had to wait for an I/O request, another program could
use the CPU.
• The concept of multiprogramming led to a need for a more complex
operating system.
• One was now needed that could schedule tasks and deal with all
the problems that this brings.
• In implementing multiprogramming, the system was confined by
the amount of physical memory that was available (unlike today
where we have the concept of virtual memory).
• Another feature of third generation machines was that they
implemented spooling.
• This allowed reading of punch cards onto disc as soon as they
were brought into the computer room.
• This eliminated the need to store the jobs on tape, with all the
problems this brings.
• Similarly, the output from jobs could also be stored to disc, thus
allowing programs that produced output to run at the speed of the
disc, and not the printer.
• Although, compared to first and second generation
machines, third generation machines were far superior
but they did have a downside(disadvantage).
• Up until these point programmers were used to giving
their job to an operator and watching it run. This
problem led to the concept of time sharing.
• This allowed programmers to access the computer from
a terminal and work in an interactive manner.
• Obviously, with the advent (birth) of
multiprogramming, spooling and time sharing,
operating systems had to become a lot more complex in
order to deal with all these issues.
•
• Fourth Generation (1980-present)/PC:
• The late seventies saw the development of Large Scale Integration (LSI).
• This led directly to the development of the personal computer (PC).
• These computers were (originally) designed to be single user, highly interactive
and provide graphics capability.
• One of the requirements for the original PC produced by IBM was an operating
system and, Bill Gates supplied MS-DOS on which he made his fortune.
• In addition, mainly on non-Intel processors, the UNIX operating system was being
used.
• It is still (largely) true today that there are “mainframe” operating systems (such as
VME (Virtual Machine Environment) which runs on ICL Mainframes) and “PC”
operating systems (such as MS-Windows , Linux , UNIX), although the distinctions
are starting to blur.
• Mainly, we can say that Graphical User Interface (GUI) became popular in 4th
generation computers as MS- Windows, Apple/ Macintosh, Linux etc.
• Fifth Generation (1990 & Present)/Mobile Computer:
• The first true handheld phone appeared in the 1970s and, at roughly one kilogram , was
positively featherweight. It was affectionately known as ‘‘the brick.’’
• Pretty soon everybody wanted one.
• Today, mobile phone penetration is close to 90% of the global population.
• We can make calls not just with our portable phones and wrist watches, but soon with
eyeglasses and other wearable items.
• Moreover , the phone part is no longer that interesting. We receive email, surf the Web,
text our friends, play games, navigate around heavy traffic—and do not even think
twice about it.
• While the idea of combining telephony and computing in a phone-like device has been
around since the 1970s also, the first real smart phone did not appear until the mid-
1990s when Nokia released the N9000, which literally combined two , mostly separate
devices: a phone & a PDA (Personal Digital Assistant).
• In 1997,Ericsson coined the term smart phone for its GS88 ‘‘Penelope.’’
• Now that smartphones have become ubiquitous(world wide) , the
competition between the various operating systems is fierce and the
outcome is even less clear than in the PC world.
• At the time of writing, Google’s Android is the dominant operating system
with Apple’s iOS , but this was not always the case and all may be different
again in just a few years.
• If anything is clear in the world of smartphones , it is that it is not easy to
stay king of the mountain for long.
• After all, most smartphones in the first decade after their inception were
running Symbian OS.
• It was the operating system of choice for popular brands like Samsung,
Sony Ericsson, Motorola, and especially Nokia.
• However, other operating systems like RIM’s(Research in motion)
Blackberry OS (introduced for smartphones in 2002) and Apple’s iOS
(released for the first iPhone in 2007) started eating into Symbian’s
market share.
• Many expected that RIM would dominate the business market, while iOS would be
the king of the consumer devices. Symbian’s market share plummeted(drop).
• In 2011, Nokia ditched (discard) Symbian and announced it would focus on
Windows Phone as its primary platform.
• For some time, Apple and RIM were the toast of the town (although not nearly as
dominant as Symbian had been), but it did not take very long for Android, a Linux-
based operating system released by Google in 2008, to overtake all its
rivals(competitor).
• For phone manufacturers, Android had the advantage that it was open source and
available under a permissive(free) license.
• As a result, they could tinker (play with ) with it and adapt it to their own hardware
with ease(no difficulty). Also, it has a huge community of developers writing
apps, mostly in the familiar Java programming language.
• Even so, the past years have shown that the dominance may not last, and Android’s
competitors are eager to claw back some of its market share.
•
Types of OS
•Mainframe Operating Systems:
• A mainframe with 1000 disks and thousands of gigabytes of
data is not unusual.
• Mainframes are normally used as web servers, servers for
large-scale electronic commerce sites, and servers for
business-to-business transactions.
• The operating systems for mainframes are heavily oriented
toward processing many jobs at once, most of which need
heavy amounts of I/O.
• They typically offer three kinds of services: batch,
transaction processing, and timesharing.
•
• A batch system is one that processes routine jobs without any interactive
user present.
• A claim processing in an insurance company or sales reporting for a chain
of stores is typically done in batch mode.
• Transaction processing systems handle large numbers of small requests;
for example, check processing at a bank or airline reservations.
• Each unit of work is small, but the system must handle hundreds or
thousands per second.
• Timesharing systems allow multiple remote users to run jobs on the
computer at once, such as querying a big database.
• An example mainframe operating system is OS/390, a descendant of
OS/360 ,VME, z/OS, z/VM , z/VSE etc.
•Server Operating System
• Server operating systems run on servers, which are very
large personal computers, workstations, or even
mainframes.
• They serve multiple users at once over a network and
allow the users to share hardware and software
resources.
• Servers can provide print service, file service , or Web
service.
• Internet providers run many server machines to support their
customers and Web sites use servers to store the Web pages
and handle the incoming requests.
• Some Examples of typical server operating systems are
UNIX and Windows 2007 server, Sun Solaris etc.
•
•Multiprocessor Operating Systems
•An increasingly common way to get major-league
computing power is to connect multiple CPUs into
a single system.
•Depending on precisely how they are connected
and what is shared , these systems are called
parallel computers , multi-computers, or
multiprocessors.
• They need special operating systems, but often
these are variations on the server operating
systems, with special features for communication
and connectivity.
•Personal Computer Operating Systems:
• Job of personal computer operating system is to provide
a good interface to a single user.
• They are widely used for word processing,
spreadsheets, presentation Internet access etc.
• Personal computer operating systems are so widely
known to the people who use computers but only few
computer users knows about other types of operating
systems.
• Common examples of PC operating systems are
Windows series( 95/98/2000/XP/Vista/2007,2008/2010),
the Macintosh operating system, Linux, Different Linux
Distributions as Ubuntu, kali linux etc.
• Real-Time Operating Systems:
• Another type of operating system is the real-time system.
• These systems are characterized by having time as a key parameter.
• For example, in industrial process control systems, real-time computers have to
collect data about the production process and use it to control machines in the factory.
• Often there are hard deadlines that must be met.
• For example, if a car is moving down an assembly line, certain actions must take
place at certain instants of time, if a welding robot welds too early or too late, the
car will be ruined.
• If the action absolutely must occur at a certain moment (or within a certain range),
we have a hard real-time system.
• Egs. Avionics, nuclear system , medical application as pacemaker ,large numbers of
defense application etc.
•Another kind of real-time system is a Soft Real-
Time System, in which missing an occasional
deadline is acceptable.
• Digital audio or multimedia systems fall in this
category.
•Egs. Airline reservation system , gamming ,
simulation, VR, multimedia ,scientific projects,
online transaction, telephone switching etc.
•Embedded Operating Systems
• A palmtop computer or PDA (Personal Digital Assistant) is a small
computer that fits in a shirt pocket and performs a small number of
functions such as an electronic address book and memo pad.
• Embedded systems run on the computers that control devices that are
not generally thought of as computers, such as TV sets, microwave
ovens, mobile , telephones etc.
• These often have some characteristics of real-time systems but also have
size, memory, and power restrictions that make them special.
• Examples of such operating systems are PalmOS and Windows CE
(Consumer Electronics).
•Smart Card Operating Systems
• The smallest operating systems run on smart cards,
which are credit card-sized devices containing a CPU
chip.
• They have very severe processing power and memory
constraints.
• Some of them can handle only a single function, such
as electronic payments, but others can handle multiple
functions on the same smart card.
• Some smart cards are Java oriented.
• What this means is that the ROM on the smart card
holds an interpreter for the Java Virtual Machine
(JVM).
•Java applets (small programs) are downloaded to
the card and are interpreted by the JVM
interpreter.
• Some of these cards can handle multiple Java
applets at the same time, leading to
multiprogramming and the need to schedule them.
• Resource management and protection also
become an issue when two or more applets are
present at the same time.
•These issues must be handled by the (usually
extremely primitive) operating system present on
the card.
THANKS