0% found this document useful (0 votes)
84 views49 pages

ch01 Introduction M

The document provides an overview of operating system concepts including: - The role of an operating system as an intermediary between hardware and software - Computer system organization consisting of hardware, operating system, applications, and users - Operating system functions such as managing resources, controlling program execution, and handling interrupts - Memory and storage hierarchies including main memory, secondary storage, and caching - Computer architectures including single processor, symmetric multiprocessing, and clustered systems

Uploaded by

Sanjeev R
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
84 views49 pages

ch01 Introduction M

The document provides an overview of operating system concepts including: - The role of an operating system as an intermediary between hardware and software - Computer system organization consisting of hardware, operating system, applications, and users - Operating system functions such as managing resources, controlling program execution, and handling interrupts - Memory and storage hierarchies including main memory, secondary storage, and caching - Computer architectures including single processor, symmetric multiprocessing, and clustered systems

Uploaded by

Sanjeev R
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 49

Chapter 1: Introduction

Chapter 1: Introduction
 What Operating Systems Do
 Computer-System Organization
 Computer-System Architecture
 Operating-System Structure
 Operating-System Operations
 Process Management
 Memory Management
 Storage Management
 Protection and Security
 Distributed Systems
 Special-Purpose Systems
 Computing Environments
What is an Operating System?

 A program that acts as an intermediary between a user


of a computer and the computer hardware.
 Operating system goals:
 Execute user programs and make solving user
problems easier.
 Make the computer system convenient to use.
 Use the computer hardware in an efficient manner.
Computer System Structure

 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 – define the ways in which
the system resources are used to solve the
computing problems of the users
 Word processors, web browsers, database
systems, video games etc
 Users
 People, machines, other computers
Four Components of a Computer System
Operating System Definition

 An Operating system is a system software that manages


both hardware as well as software and provides an
environment for application programs to run.
 Most visible aspect of operating system is interface to
the human user.
 OS is a resource allocator
 Manages all resources
 Decides between conflicting requests for efficient
and fair resource use
 OS is a control program
 Controls execution of programs to prevent errors and
improper use of the computer
Operating System Definition (Cont.)

 No universally accepted definition


 “Everything a vendor ships when you order an operating
system” is good approximation
 But varies wildly
 “The one program running at all times on the computer”
is the kernel. Everything else is either a system program
(ships with the operating system) or an application
program.
Computer Startup
 bootstrap program is loaded at power-up or reboot
 Typically stored in ROM or EEPROM, generally known
as firmware
 Initializes all aspects of system
 Loads operating system kernel and starts execution
Computer System Organization
 Computer-system operation
 Modern computer system consist of one or more CPUs
and number of device controllers connect through
common bus providing access to shared memory.
 Concurrent execution of CPUs and devices competing
for memory cycles.
Computer-System Operation
 I/O devices and the CPU can execute concurrently.
 Each device controller is in charge of a particular device type.
 Each device controller has a local buffer.
 CPU moves data from/to main memory to/from local buffers
 I/O is from the device to local buffer of controller.
 The occurrence of an event is usually signaled by an interrupt
from either hardware or the software.
 Hardware may trigger an interrupt at any time by sending a
signal to the CPU. Software triggers an interrupt through
system call.
 What happens when CPU is interrupted?
 Device controller informs CPU that it has finished its
operation by causing an interrupt.
Common Functions of Interrupts
 Interrupt transfers control to the interrupt service routine
generally, through the interrupt vector, which contains
the addresses of all the service routines.
 Interrupt architecture must save the address of the
interrupted instruction.
 Incoming interrupts are disabled while another interrupt
is being processed to prevent a lost interrupt.
 A trap is a software-generated interrupt caused either by
an error or a user request.
 An operating system is interrupt driven.
Interrupt Handling

 The operating system preserves the state


of the CPU by storing registers and the
program counter.
 Determines which type of interrupt has
occurred:
 polling
 vectored interrupt system
 Separate segments of code determine what
action should be taken for each type of
interrupt
Interrupt Timeline
I/O Structure
 To start an I/O operation :
 Device driver loads the appropriate registers
within the device controller.
 The device controller ,in turn, examines the
contents of these registers to determine what
action to take.
 The controller starts the transfer of data from
devices to its local buffer.
 Once the transfer of data is complete, the
device controller informs the device driver via
an interrupt that it has finished its operation.
 The device driver then returns control to the OS.
 This form of I/O is fine for moving small amount of
data but can produce high overhead when used for
bulk data movement.
 What is the solution?
 Solution is Direct memory access.
Direct Memory Access Structure

 DMA is used, where device controller


transfer entire block of data directly to or
from its own buffer storage to memory,
with no intervention by the CPU.
 Used for high-speed I/O devices able to
transmit information at close to memory
speeds.
 Only on interrupt is generated per block,
rather than the one interrupt per byte.
Direct Memory Access
Following figure shows the interplay of all the components of a
computer system
Storage Structure
 Main memory (also called Random Access
Memory) – only large storage media that the CPU
can access directly.
 Instruction – execution cycle in Von Neumann
Architecture.
 We want the programs and data to reside in main
memory permanently.
This arrangement is not possible for the
following reasons:
 Main memory is small to store all needed
programs and data
 Main memory is volatile storage device that
loses its contents when power is turned off.
Contd…

 So secondary storage is provided. It is an


extension of main memory that provides large
nonvolatile storage capacity.
 Magnetic disks – rigid metal or glass platters
covered with magnetic recording material
 Disk surface is logically divided into tracks,
which are subdivided into sectors.
 The disk controller determines the logical
interaction between the device and the
computer
Storage Hierarchy

 Storage systems organized in hierarchy.


 Speed
 Cost
 Volatility
 The higher levels in the hierarchy are
expensive but fast. As we move down the
hierarchy, the cost per bit generally
decreases, whereas the access time
generally increases.
 Cache – copying information into faster
storage system;
Storage-Device Hierarchy
Performance of Various Levels of
Storage

 Movement between levels of storage hierarchy can be


explicit or implicit
Computer-System Architecture
 A computer system may be organized in a number of
different ways. Category based on number of general
purpose processors used is :
i) Single Processor Systems
ii) Multiprocessor systems
iii) Clustered Systems
 Single Processor Systems: Most systems use a single
general-purpose processor ( Single CPU).
 Most systems have special-purpose processors as well
 Multiprocessors systems growing in use and importance
 Also known as parallel systems, tightly-coupled
systems
 These systems have 2 or more processors
Contd..

 Multiprocessor Systems have 3 main


advantages:
1. Increased throughput
2. Economy of scale
3. Increased reliability – graceful
degradation or fault tolerance
 Two types Multiprocessor Systems are:
1. Asymmetric Multiprocessing – master
slave relationship
2. Symmetric Multiprocessing – each
processor perform all task , no master
slave relationship.
Symmetric Multiprocessing
Architecture

 An example of the SMP system is Solaris, commercial version


of UNIX, designed by Sun Microsystems
 It can be configured to employ dozens of processors.
Clustered Systems
 Like multiprocessor systems, but multiple systems working
together.
 Are a form of distributed systems. Composed of 2 or more
independent machines coupled together.
 Usually sharing storage via a storage-area network (SAN)
 Provides a high-availability service which survives failures
 Clustering can be structured asymmetrically or
symmetrically.
 Asymmetric clustering has one machine in hot-standby
mode while other machine/server run applications. The
hot-standby machine only monitors the active server. If
it fails, the hot-standby machine becomes the active
server.
 Symmetric clustering has multiple nodes running
applications, monitoring each other.
 Some clusters are for high-performance computing (HPC)
 Applications must be written to use parallelization.
Operating System Structure
 One of the important aspect of operating system is
the ability to multiprogram.
 Multiprogramming needed for efficiency
 Single user cannot keep CPU and I/O devices busy
at all times.
 Multiprogramming organizes jobs (code and data)
so CPU always has one to execute
 A subset of total jobs in system is kept in
memory.One job selected and run via job
scheduling
 When it has to wait (for I/O for example), OS
switches to another job.
 Multiprogramming systems provide an environment
in which the various system resources (CPU,
memory, I/O devices) are utilized effectively, but
they do not provide user interaction with the
computer system.
Contd..
 Timesharing (multitasking) is logical extension in
which CPU switches jobs so frequently that users
can interact with each job while it is running,
creating interactive computing
 Response time should be < 1 second
 Each user has at least one program executing in
memory process
 If several jobs ready to run at the same time 
CPU scheduling
 If processes don’t fit in memory, swapping
moves them in and out to run
 Virtual memory allows execution of processes
not completely in memory
Memory Layout for Multiprogrammed
System
Operating-System Operations
 Modern operating systems are Interrupt driven.
 A trap (or an exception) is a Software generated interrupt caused
either by an error or by a specific request.
 Division by zero, request for operating system service
 Other process problems include infinite loop, processes modifying
each other or the operating system.
 Dual-mode operation : We need two separate modes of operation:
 User mode and kernel mode (Supervisor mode, or system mode or
privileged mode)
 Mode bit provided by hardware of the computer to indicate the
mode : 0-Kernel, 1- user.
 The mode bit provides an ability to distinguish between a task that
is executed on behalf of user and operating system.
 Some instructions designated as privileged, only executable in
kernel mode
 System call changes mode to kernel, return from call resets it to
user
Transition from User to Kernel
Mode
 At boot time, the hardware starts in kernel mode.
The OS is then loaded and starts user applications
in user mode.
 Whenever a trap or interrupt occurs, the hardware
switches from user mode to kernel mode. Thus,
whenever the operating system gains control of
the computer, it is in kernel mode.
 The system always switches to user mode( by
setting the mode bit to 1) before passing control to
a user program.
 The figure shows the transition from user to kernel
mode.
Timer
 We must ensure that operating system maintains control
over the CPU.
 We must prevent a user program getting stuck in an infinite
loop or never returning control to the operating system.
 To accomplish this we can use a timer.
 A timer can be set to interrupt the computer after
specified period. The period may be fixed or variable.
 The OS sets the counter. Every time the clock ticks the
counter is decremented. When counter reaches to zero,
an interrupt is generated.
 Set up before scheduling process to regain control or
terminate program that exceeds allotted time.
 Thus we can use the timer to prevent a user program
from running too long.
Process Management
 A process is a program in execution. It is a unit of work
within the system. Program is a passive entity, process is
an active entity.
 Process needs resources to accomplish its task : CPU,
memory, I/O, files.
 Process termination requires reclaim of any reusable
resources
 Single-threaded process has one program counter
specifying location of next instruction to execute
 Process executes instructions sequentially, one at a
time, until completion
 Multi-threaded process has one program counter per thread
 Typically system has many processes, some user, some
operating system running concurrently on one or more
CPUs
 Concurrency by multiplexing the CPUs among the
processes / threads
Process Management Activities
The operating system is responsible for the following
activities in connection with process
management:
 Creating and deleting both user and system
processes
 Suspending and resuming processes
 Providing mechanisms for process synchronization
 Providing mechanisms for process communication
 Providing mechanisms for deadlock handling
Memory Management
 All data in memory before and after processing.
 All instructions in memory in order to execute
 Memory management determines :
 Optimizing CPU utilization and computer response
to users
 Memory management activities:
 Keeping track of which parts of memory are
currently being used and by whom.
 Deciding which processes (or parts thereof) and
data to move into and out of memory.
 Allocating and deallocating memory space as
needed.
Storage Management
 OS provides uniform, logical view of information storage
 Abstracts physical properties to logical storage unit - file
 Each medium is controlled by device (i.e., disk drive, tape
drive)
 Varying properties include access speed, capacity,
data-transfer rate, access method (sequential or
random)
 File-System management
 Files usually organized into directories
 Access control on most systems to determine who can
access what
 OS activities include
 Creating and deleting files and directories
 Primitives to manipulate files and directories
 Mapping files onto secondary storage
 Backup files onto stable (non-volatile) storage media
Mass-Storage Management
 Usually disks used to store data that does not fit in main
memory or data that must be kept for a “long” period of time.
 Hence proper management is of central importance.
 Operating system is responsible for the following activities in
connection with disk management:
 Free-space management
 Storage allocation
 Disk scheduling
 Some storage need not be fast
 Tertiary storage includes optical storage, magnetic tape
 The media varies between WORM (write-once, read-many-
times) and RW (read-write)
Caching
 It is an important principle, performed at many levels in a
computer (in hardware, operating system, software)
 Information is copied from slower to faster storage
temporarily.
 When we need a particular information, we first check
whether it is in faster storage (cache) :
 If it is, information used directly from the cache
 If it is not, we use the information from the source and
putting a copy in the cache, under the assumption that
we need it again soon
 Caches have limited size , hence,
 Cache management is an important design problem.
 Careful selection of cache size and replacement policy
can result in greatly increased performance.
Migration of Integer A from Disk to Register
 Same data may appear in different levels of the storage systems.
 Consider the scenario: an integer A must be incremented by 1,
located in file B, and file B resides on magnetic disk.
 What are the further consequences? :
 No problem in single processor environment.
 In multiprocessor environments, where several processes wish
to access A, then we must make sure that an update to the
value of A is reflected wherever A resides.

 Multiprocessor environment must provide cache coherency in


hardware such that all CPUs have the most recent value in their
cache
 Distributed environment situation even more complex
 Several copies of a datum can exist
I/O Subsystem
 One purpose of OS is to hide peculiarities of
hardware devices from the user.
 I/O subsystem includes:
 Memory management of I/O including buffering
(storing data temporarily while it is being
transferred), caching (storing parts of data in
faster storage for performance), spooling (the
overlapping of output of one job with input of
other jobs).
 General device-driver interface
 Drivers for specific hardware devices
Protection and Security
 Protection – any mechanism for controlling access of
processes or users to resources defined by the OS.
 Security – Its job is to defend a system from internal and
external attacks
 Such attacks spread across a huge range, including denial-
of-service, worms, viruses, identity theft, theft of service.
 Systems generally first distinguish among users, to determine
who can do what
 User identities (user IDs, security IDs) include name and
associated number, one per user.
 User ID then associated with all files, processes of that user
to determine access control.
 Group identifier (group ID) allows set of users to be defined
 It is also associated with each process and file.
 Privilege escalation allows user to change to effective ID
with more rights.
Distributed Systems
 A distributed system is a collection of physically separate ,
possibly heterogeneous computer systems that are
networked to provide the users with access to the various
resources.
 Access to shared resources increase computation speed,
functionality, data availability, and reliability.
 These system allow users to share resources on
geographically dispersed hosts connected via computer
network.
 Networks are characterized based on the distances between
their nodes. They are :
 LAN: Connects computers within a room.
 MAN: Usually links buildings and cities.
 WAN: Connects countries together( For example Internet)
Special Purpose Systems
 There are several computer systems that serve specific purposes.
These include :
i) Real-Time Embedded Systems
ii) Multimedia Systems
iii) Handheld Systems
 Real time embedded systems : These are the most prevalent form
of computers in existence. They have very specific task.
 Usually, they have little or no user interface, preferring to spend
their time monitoring and managing hardware devices.
 Embedded systems almost always run real –time Operating
Systems. A real-time system is used when rigid time requirements
have been placed on the operation of a processor or the flow of
data.
 Here sensors bring data to the computer. The computer must
analyze the data and possibly adjust controls to modify the sensor
inputs.
 A real-time system has well defined, fixed time constraints.
Processing must be done within the defined constraints, or the
system fails.
Multimedia Systems
 Most operating systems are designed to handle
conventional data such as text files, programs,
word-processing documents and spread sheets.
 However recent trend in technology is the
incorporation of multimedia data into computer
systems.
 Multimedia data consists of audio and video apart
from conventional files.
 These systems are capable of processing
multimedia applications.
Handheld Systems
 A handheld computer is a computer that can
conveniently be stored in a pocket (of sufficient
size) and used while you're holding it.
 They are small in size, most hand held devices
have a small amount of memory, slow
processors and small display screens.
 Examples of handheld systems include personal
digital assistants, such as palm and pocket PC,
cellular telephones.
 All these use special-purpose embedded
operating system.
Computing Environments
 So far we have discussed an overview of computer
system organization and major operating system
components. In this section let us see how these are
used in a variety of computing environment.
 There are 4 different computing environments:
Traditional Computing, Client-Server Computing, Peer-
to-Peer Computing, Web-computing
 Traditional computing
 Blurring over time
 Office environment
 PCs connected to a network, terminals attached to
mainframe providing batch and timesharing.
 Now portals allowing networked and remote
systems access to same resources
 Home networks- Used to be single system, then
modems,now firewalled, networked
Computing Environments (Cont.)
 Client-Server Computing
 Many systems now act as servers, responding to
requests generated by clients. These can be
categorized in to two:
Compute-server provides an interface to client
to request services (i.e. database)
File-serverprovides interface for clients to
store and retrieve files.
Peer-to-Peer Computing
 It is another model of distributed system.
 P2P does not distinguish clients and servers
 Here all nodes are considered as peers.
 May each act as client, server or both.
 P2P systems offer an advantage over traditional client- server
systems. In a client-server system, the server is a bottleneck;
but in a peer to peer system, services can be provided by
several nodes distributed throughout the network.
 To participate in a P2P, node must join P2P network.
Determining what services are available is accomplished in one
of two general ways:
 Registers its service with central lookup service on network,
or
 Broadcast request for service and respond to requests for
service via discovery protocol
 Examples include Napster and Gnutella
Web-Based Computing

 Web based computing has become


ubiquitous.
 PCs most prevalent devices.
 More devices becoming networked to allow
web access.
 New category of devices to manage web
traffic among similar servers: load
balancers
End of Chapter 1…

You might also like