ch1 - Introduction

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 29

Chapter One

Introduction

1
Introduction
Every general purpose computer consists of the
hardware, operating system, system programs and
application programs.
The hardware consists of memory, CPU, I/O devices
and storage devices.
System programs consist of compilers, loaders,
editors OS etc.
The application program consists of business
programs.

2

All these components are responsible to managing by OS.
It provide user programs with a simpler interface to the hardware.
Every computer must have the operating system to run other programs
and so that it is the most important program that runs on the computer.
OS controls & coordinates the use of the HW among the various
system & application program for various users.
It provides an environment in which other program can do useful
work.

3
Conceptual view of a computer system

4
Computer system components
1. Hardware – provides basic computing resources (CPU,
memory, I/O devices).
2. Applications programs – programs that address particular
needs of the user and define the ways in which the system
resources are used to solve the computing problems of the
users (database systems, video games, business programs).
3. Users: people
– From an OS point of view, the user is not trusted
– Users must request resources through the OS; e.g reading
from and writing onto disks is handled by the OS
4. Operating system – controls and coordinates the use of the
hardware among the various application programs for the
various users.

5
Definition of operating system
Operating system is a set of special programs that run on a computer
system that allow it to work properly.
Is a SW program that acts as an intermediately between a user of a
computer and the computer hardware.
It performs basic tasks such as
recognizing input from the keyboard,
keeping track of files and directories on the disk,
sending output to the display screen and
controlling peripheral devices.

6
Modes of operation
• A computer has two modes of operation

• User mode

• Kernel mode

1) User mode
• To run application programs and some system programs

• Not all instructions are available (privileged instructions such as


taking CPU time, halting the CPU, switching from user to
supervisor mode, etc.)
• The user has to issue system calls (interrupts) to use certain
instructions
7
Con’t
2) (system or kernel) mode
– All instructions are available

OS is software that runs in supervisory mode. It is protected from the


user tampering the hardware.

Operating system is designed to perform two basic functions:

1) It controls the allocation and use of computing system’s


resources among the various users and tasks.

2) It provides an interface between the computer hardware and the


programmer that simplifies and makes feasible for coding,
creation, debugging of application programs.
8
Objectives of OS
Operating system has two objectives:
To make the computer system convenient to use (ease of use
through abstraction)
To make efficient use of the resources of the computer.
• Efficiency used to be important in the old days: nowadays
convenience is given more importance.
• The two aims are not also compatible; e.g windows is convenient
than DOS but needs much more resource.
We can view operating system as:
• Resource manager; Manages and allocates hardware and software
resources
• Resource Scheduler: keeps track of the status of each resource and
decides who gets a resource, for how long and when. 9
Con’t
• Control program that prevent both improper use of the resources
by programs and access conflicts.
• It makes that different programs and users running at the same
time do not interfere with each other.
• It is also responsible for security, ensuring that unauthorized users
do not access the system.
• Extended machine that hides the messy details which must be
performed or presents a VM to the user that is easier to use.
Resource management also includes multiplexing (sharing resources)
in two ways:
– Time multiplexing different programs or users take turns to use
a resource; e.g. CPU use by multiple processes,
– Space multiplexing: different programs or users get part of
resource; e.g. memory, disks
Maintains fairness and efficiency 10
History of Operating Systems
First Generation
vacuum tubes(hardware)
• The earliest electronic digital computers had no OS.
• Machines of the time were so primitive that programs were
often entered one bit at time on rows of mechanical switches
(plug boards).
• Programming languages were unknown (not even assembly
languages). Operating systems were unheard of .
• Programmer control directly all devices.
• CPU is under utilization since it was idle most of the time due
to slow speed of I/O devices.

11
Second Generations
transistors (hardware) batch systems(software)
• The General Motors Research Laboratories implemented the first
operating systems in early 1950's for their IBM 701.
• The system of the time run one job at a time.
• These were called single-stream batch processing systems because
programs and data were submitted in groups or batches.
• A device read programs written on punched cards
• In order to separate one batch program from the next one , control cards
were inserted between the two program’s cards.
• Batch systems improved CPU utilization but the rate of utilization
remained very low.
• The interactivity that existed between the first generation computers and
the user disappeared with batch systems.
• Reduce setup time by batching similar jobs.
• Automatically transfers control from one job to another.
12
Third Generation(1965-80)
ICs (hardware) multiprogramming(software)
• It able to takes better advantage of the batch system by running
several jobs at once. Each job is called a process.
Features of Multiprogramming:
• Memory management: the system must allocate the memory for
several jobs.
• CPU Scheduling: The system must choose among several jobs
ready to run.
• Allocation of devices.
OS designers developed the concept of multiprogramming in which
several jobs are in main memory at once; a processor is switched
from job to job as needed to keep several jobs advancing while
keeping the peripheral devices in use.

13
Fourth Generation
• With the development of LSI (Large Scale Integration) circuits, chips,
operating system, in the personal computer and the workstation age.
• PCs provide convenience over efficiency. Commercial software's started to
be developed
- Distributed systems-distribute the communication among several physical
processors.
- Real time systems:- Were originally used to control autonomous /Existing
as an independent entity/ systems such as satellites, robots and
communication systems.
- It is one that must react to input and responds them quickly. It also has well
defined, fixed time constraint.
14
Operating System Services

• Program execution: The operating system must be able to


load a program into memory and to run that program.
• I/O operations: A running program may require I/O, which
may involve a file or an I/O device.
• File-system manipulation: to create, read, write and delete
files and directories; the OS gives permission to programs.
• Communications: There are many circumstances in which
one process needs to exchange information with another
process.
15
Operating System Services

• Error detection: Errors may occur in the CPU, memory, in I/O devices (such as a parity

error on tape, a connection failure on a network, or lack of paper in the printer), and in the

user program (such as an arithmetic overflow, an attempt to access an illegal memory

location, or a too-great use of CPU time).

• Resource allocation: when there are multiple users or multiple jobs running at the same

time, resources must be allocated to each of them.

• Accounting: to keep track of which users use how much and what kinds of computer

resources for accumulating usage statistics.

• Protection: of information, one process not to interfere with another or the OS when a

program requires I/O, memory, etc.

• System calls: modern processors provide instructions that can be used as system calls that

serve as an interface between a process and OS. 16


Operating system structures

• Modern operating systems are large and complex that consists


of different components interconnected and melded into a
kernel. For designing a system the following three different
types of system structures are used.
• Simple structure
• Layered structure
• Microkernel

17
Con’t
• Simple Structure: Frequently, such operating systems started
as small, simple, and limited systems and then grew beyond
their original scope.
– MS-DOS is an example of such a system.
• Layered structure: Were developed in which functions are
organized hierarchically and interaction takes place only
between adjacent layers.
– Most or all of the layers operate in kernel mode.
• Microkernel: Is a small operating system core that provides
the foundation for modular extensions.
– The main function is to provide a communication facility
between the client program and the various services that are
also running on the user space.

18
TYPES OF OPERATING SYSTEMS
• Mainframe Operating Systems
– The operating systems for mainframes are heavily oriented
toward processing many jobs at once.
– 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.
– Transaction processing systems handle large numbers of small
requests, for example, check processing at a bank or airline
reservations.
19
Con’t
– 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.
– These functions are closely related; mainframe operating
systems often perform all of them.

20
Server Operating Systems

– They run on servers, which are either 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.
– Typical server operating systems are Solaris, FreeBSD, Linux
and Windows Server 200x.

21
Multiprocessor Operating Systems

– An increasing 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, for communication,
connectivity, and consistency.
– Many popular operating systems, including Windows and
Linux, run on multiprocessors.
22
Personal Computer Operating Systems
– Their job is to provide good support to a single user.
– They are widely used for word processing,
spreadsheets, and Internet access.
– Common examples are Linux, FreeBSD, Windows,
and the Macintosh operating system.

23
Handheld Computer Operating Systems
– A handheld 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.
– This OS are increasingly sophisticated, with the ability to
handle telephony, digital photography, and other functions.
– Two of the most popular operating systems for handhelds are
Symbian OS and Palm OS.

24
Real-Time Operating Systems

– 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.

25
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 are powered by contacts in the reader into which they are
inserted, but contactless smart cards are inductively powered,
which greatly limits what they can do.

– Some of them can handle only a single function, such as


electronic payments, but others can handle multiple functions on
the same smart card.
26
Many Thanks

27
Embedded Operating Systems.

– Embedded systems run on the computers that


control devices that are not generally thought of as
computers and which do not accept user-installed
software.
– Typical examples are microwave ovens, TV sets,
cars, DVD recorders, cell phones, MP3 players.
– Systems such as QNX and VxWorks are popular in
this domain.

28
Sensor Node Operating Systems

– Networks of tiny sensor nodes are being deployed for


numerous purposes.
– These nodes are tiny computers that communicate
with each other and with a base station using wireless
communication.
– These sensor networks are used to protect the
perimeters of buildings, guard national borders, detect
fires in forests, measure temperature and precipitation
for weather forecasting, glean information about
enemy movements on battlefields, and much more.
– TinyOS is a well-known operating system for a sensor
node. 29

You might also like