|
UNIT 1 |
||||||||||||||||
|
INTRODUCTION |
||||||||||||||||
|
Unit-01/Lecture-01 |
||||||||||||||||
|
What is an operating system?
Simple Batch Systems
Multiprogramming Batched Systems
Time-Sharing Systems
Personal-Computer Systems
Parallel Systems
Distributed Systems
Real -Time Systems 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. Abstract View of System Components Computer System Components 1. Hardware
provides basic computing resources (CPU, memory, I/O devices). 2. Operating
system controls and coordinates the use of the hardware among the various
application programs for the various users. 3. Applications
programs define the ways in which the system resources are used to solve
the computing problems of the users (compilers, database systems, video
games, business programs). 4. Users
(people, machines, other computers). Operating System Definitions
Resource allocator manages and
allocates resources.
Control program controls the
execution of user programs and operations of I/O devices
Kernel the one program running at
all times (all else being application programs). Simple Batch Systems
Hire an operator
User Ή operator
Add a card reader
Reduce setup time by batching
similar jobs
Automatic job sequencing
automatically transfers control from one job to another. First rudimentary operating system.
Resident monitor
initial control in monitor
control transfers to job
when job completes control
transfers back to monitor Memory Layout for a Simple Batch System Control
Cards
Problems 1. How
does the monitor know about the nature of the job (e.g., Fortran versus
Assembly) or which program to execute? 2. How
does the monitor distinguish
Solution
Introduce control cards
Special cards that tell the
resident monitor which programs to run
Special characters distinguish
control cards from data or program cards:
Parts of resident monitor
Control card interpreter
responsible for reading and carrying out instructions on the cards.
Loader loads systems programs and
applications programs into memory.
Device drivers know special
characteristics and properties for each of the systems I/O devices.
Problem: Slow Performance I/O and CPU could not
overlap ; card reader very slow.
Solution: Off-line operation speed up computation
by loading jobs into memory from tapes and card reading and line printing
done off-line.
|
|
REFERNCES |
||||
|
S.NO |
BOOK NAME |
AUTHORS |
EDITION |
PAGE NO |
|
1 |
OPERATING SYSTEM
CONCEPT |
Peter Bare Galvin, Abraham Silberschatz |
SIXTH |
3-18 |
|
|
|
|
|
|
|
Unit-01/Lecture-02 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Spooling
Overlap I/O of one job with computation of another
job. While executing one job, the OS.
Reads next job from card reader into a storage area
on the disk (job queue).
Outputs printout of previous job from disk to
printer.
Job pool data
structure that allows the OS to select which job to run next in order to
increase CPU utilization. Multiprogrammed
Batch Systems Several jobs
are kept in main memory at the same time, and the CPU is
multiplexed among them. OS
Features Needed for Multiprogramming
I/O routine supplied by the system.
Memory management the system must allocate the
memory to several jobs.
CPU scheduling the system must choose among
several jobs ready to run.
Allocation of devices. Time-Sharing
SystemsInteractive Computing
The CPU is multiplexed among several jobs that are
kept in memory and on disk (the CPU is allocated to a job only if the job is
in memory).
A job is swapped in and out of memory to the disk.
On-line communication between the user and the
system is provided; when the operating system finishes the execution of one
command, it seeks the next control statement not from a card reader, but
rather from the users keyboard.
On-line system must be available for users to access
data and code. Personal-Computer
Systems
Personal computers computer
system dedicated to a single user.
I/O devices keyboards, mice, display screens,
small printers.
User convenience and responsiveness.
Can adopt technology developed for larger operating
system often individuals have sole use of computer and do not need advanced
CPU utilization of protection features. Parallel
Systems
Multiprocessor systems with more than one CPU in
close communication.
Tightly coupled system processors
share memory and a clock; communication usually takes place through the
shared memory.
Advantages of parallel system:
Increased throughput
Economical
Increased reliability T
graceful degradation T
fail-soft systems
Symmetric multiprocessing (SMP)
Each processor runs an identical copy of the operating
system.
Many processes can run at once without performance
deterioration.
Most modern operating systems support SMP
Asymmetric multiprocessing
Each processor is assigned a specific task; master
processor schedules and allocates work to slave processors.
More common in extremely large systems Symmetric
Multiprocessing Architecture Real-Time
Systems
Often used as a control device in a dedicated
application such as controlling scientific experiments, medical imaging
systems, industrial control systems, and some display systems.
Well-defined fixed-time constraints.
Hard real-time system.
Secondary storage limited or absent, data stored in
short-term memory, or read-only memory (ROM)
Conflicts with time-sharing systems, not supported
by general-purpose operating systems.
Soft real-time system
Limited utility in industrial control or robotics
Useful in applications (multimedia, virtual reality)
requiring advanced operating-system features. Distributed
Systems
Distribute the computation among several physical
processors.
Loosely coupled system each
processor has its own local memory; processors communicate with one another
through various communications lines, such as high-speed buses or telephone
lines.
Advantages of distributed systems.
Resources Sharing
Computation speed up load sharing
Reliability
Communications
Network Operating System
provides file sharing
provides communication scheme
runs independently from other computers on the
network
Distributed Operating System
less autonomy between computers
gives the impression there is a single operating
system controlling the network.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Unit-01/Lecture-03 |
||||||||||||||||||||||||||||||||
|
Computer-System Structures
Computer
System Operation
I/O Structure
Storage
Structure
Storage
Hierarchy
Hardware
Protection
General System
Architecture Computer-System Architecture 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.
Device
controller informs CPU that it has finished its operation by causing an interrupt. Common Functions of Interrupts
Interrupts 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 I/O
Structure
After I/O starts, control returns
to user program only upon I/O completion.
wait instruction idles the CPU
until the next interrupt
wait loop (contention for memory
access).
At most one I/O request is
outstanding at a time, no simultaneous I/O processing.
After I/O starts, control returns
to user program without waiting for I/O completion.
System call
request to the operating system to allow user to wait for I/O completion.
Device-status table
contains entry for each I/O device indicating its type, address, and state.
Operating system indexes into I/O
device table to determine device status and to modify table entry to include
interrupt. Two
I/O methods
Synchronous
Asynchronous Device-Status
Table
|
||||||||||||||||||||||||||||||||
|
Unit-01/Lecture-04 |
|
Direct Memory Access
(DMA) Structure
Used for high-speed I/O devices
able to transmit information at close to memory speeds.
Device controller transfers blocks
of data from buffer storage directly to main memory without CPU intervention.
Only one interrupt is generated per
block, rather than the one interrupt per byte. Storage Structure
Main memory only large storage
media that the CPU can access directly.
Secondary storage 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. Moving-Head Disk Mechanism Storage Hierarchy
Storage systems organized in
hierarchy.
Speed
cost
volatility
Caching copying information into faster storage system; main memory can be
viewed as a last cache for secondary storage. Storage-Device Hierarchy Hardware Protection
Dual-Mode Operation
I/O Protection
Memory Protection
CPU Protection Dual-Mode Operation
Sharing system resources requires
operating system to ensure that an incorrect program cannot cause other
programs to execute incorrectly.
Provide hardware support to
differentiate between at least two modes of operations. 1. User mode execution done on behalf
of a user. 2. Monitor mode (also supervisor mode
or system mode) execution done on behalf of
operating system.
Mode bit added to computer hardware to indicate the current mode: monitor (0) or user (1).
When an interrupt or fault occurs
hardware switches to monitor mode.
Privileged instructions can be issued only in monitor mode. I/O Protection
All I/O instructions are privileged
instructions.
Must ensure that a user program
could never gain control of the computer in monitor mode (I.e., a user
program that, as part of its execution, stores a new address in the interrupt
vector). |
|
S.NO |
RGPV QUESTIONS |
Year |
Marks |
|
1 |
Explain the
following terms: (i) Buffering (ii) Device Driver (iii) DMA |
Dec, 2006 |
9 |
|
|
|
|
|
|
|
REFERNCES |
||||
|
S.NO |
BOOK NAME |
AUTHORS |
EDITION |
PAGE NO |
|
|
1 |
OPERATING SYSTEM
CONCEPT |
Peter Bare Galvin, Abraham Silberschatz |
SIXTH |
33-39,43-44 |
|
|
Unit-01/Lecture-05 |
|
Memory
Protection
Must
provide memory protection at least for the interrupt vector and the interrupt
service routines.
In order
to have memory protection, add two registers that determine the range of
legal addresses a program may access:
base
register holds the smallest legal physical memory address.
Limit
register contains the size of the range
Memory
outside the defined range is protected. A
Base And A limit Register Define A Logical Address Space Protection
Hardware
When executing in monitor mode, the
operating system has unrestricted access to both monitor and users memory.
The load instructions for the base
and limit registers are privileged instructions. CPU
Protection
Timer
interrupts computer after specified period to ensure operating system
maintains control.
Timer is decremented every clock
tick.
When timer reaches the value 0, an
interrupt occurs.
Timer commonly used to implement
time sharing.
Time also used to compute the
current time.
Load-timer is a privileged
instruction. General-System
Architecture
Given the I/O instructions are
privileged, how does the user program perform I/O?
System call the method used by a
process to request action by the operating system.
Usually takes the form of a trap to
a specific location in the interrupt vector.
Control passes through the
interrupt vector to a service routine in the OS, and the mode bit is set to
monitor mode.
The monitor verifies that the
parameters are correct and legal, executes the request, and returns control
to the instruction following the system call. Use
of A System Call to Perform I/O Operating-System
Structures
System Components
Operating System Services
System Calls
System Programs
System Structure
Virtual Machines
System Design and Implementation
System Generation Common
System Components
Process Management
Main Memory Management
Secondary-Storage Management
I/O System Management
File Management
Protection System
Networking
Command-Interpreter System Process
Management
A process is a program in execution. A process needs certain resources,
including CPU time, memory, files, and I/O devices, to accomplish its task.
The operating system is responsible for the following activities in
connection with process management.
Process creation and deletion.
process suspension and resumption.
Provision of mechanisms for: T
process synchronization T
process communication Main-Memory
Management
Memory is a large array of words or bytes, each with its own
address. It is a repository of quickly
accessible data shared by the CPU and I/O devices.
Main memory is a volatile storage device. It loses its contents in the case of system
failure.
The operating system is responsible for the following activities in
connections with memory management:
Keep track of which parts of memory are currently being used and by
whom.
Decide which processes to load when memory space becomes available.
Allocate and deallocate memory space as needed. Secondary-Storage
Management
Since main memory (primary storage) is volatile and too small
to accommodate all data and programs permanently, the computer system must
provide secondary storage to back up main memory.
Most modern computer systems use disks as the principle on-line
storage medium, for both programs and data.
The operating system is responsible for the following activities in
connection with disk management:
Free space management
Storage allocation
Disk scheduling |
|
S.NO |
RGPV QUESTIONS |
Year |
Marks |
||||||||||||||||||||||||||||||||||||
|
Q1. |
What are the main
function of OS |
Dec, 2011 |
10 |
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||
UNIT
1/LECTURE 6 |
|||||||||||||||||||||||||||||||||||||||
|
I/O System Management
The I/O system consists of:
A buffer-caching system
A general device-driver interface
Drivers for specific hardware
devices File
Management
A file is a collection of related
information defined by its creator.
Commonly, files represent programs (both source and object forms) and
data.
The operating system is responsible
for the following activities in connections with file management:
File creation and deletion.
Directory creation and deletion.
Support of primitives for
manipulating files and directories.
Mapping files onto secondary
storage.
File backup on stable (nonvolatile)
storage media. Protection
System
Protection refers to a mechanism for controlling access by programs, processes,
or users to both system and user resources.
The protection mechanism must:
distinguish between authorized and
unauthorized usage.
specify the controls to be imposed.
provide a means of enforcement. Networking
(Distributed Systems)
A distributed system is a
collection processors that do not share memory or a clock. Each processor has its own local memory.
The processors in the system are
connected through a communication network.
A distributed system provides user
access to various system resources.
Access to a shared resource allows:
Computation speed-up
Increased data availability
Enhanced reliability Command-Interpreter
System
Many commands are given to the
operating system by control statements which deal with:
process creation and management
I/O handling
secondary-storage management
main-memory management
file-system access
protection
networking
The program that reads and
interprets control statements is called variously:
control-card interpreter
command-line interpreter
shell (in UNIX) Its function is to get and execute the
next command statement. Operating
System Services
Program execution system
capability to load a program into memory and to run it.
I/O operations since user programs cannot execute I/O
operations directly, the operating system must provide some means to perform
I/O.
File-system manipulation program
capability to read, write, create, and delete files.
Communications exchange of
information between processes executing either on the same computer or on
different systems tied together by a network.
Implemented via shared memory or message passing.
Error detection ensure correct
computing by detecting errors in the CPU and memory hardware, in I/O devices,
or in user programs. Additional
Operating System Functions Additional
functions exist not for helping the user, but rather for ensuring efficient
system operations.
Resource allocation allocating
resources to multiple users or multiple jobs running at the same time.
Accounting keep track of and
record which users use how much and what kinds of computer resources for
account billing or for accumulating usage statistics.
Protection ensuring that all
access to system resources is controlled. System
Calls
System calls provide the interface
between a running program and the operating system.
Generally available as
assembly-language instructions.
Languages defined to replace
assembly language for systems programming allow system calls to be made
directly (e.g., C. Bliss, PL/360)
Three general methods are used to
pass parameters between a running program and the operating system.
Pass parameters in registers.
Store the parameters in a table in
memory, and the table address is passed as a parameter in a register.
Push (store) the
parameters onto the stack by the program, and pop off the stack
by operating system. Passing
of Parameters As A Table MS-DOS
Execution At
System Start-up Running a Program UNIX
Running Multiple Programs Communication
Models
Msg Passing Shared Memory
|
|||||||||||||||||||||||||||||||||||||||
|
UNIT
1/LECTURE 7 |
|||||||||||||||||||||||
|
System Programs
System programs provide a
convenient environment for program development and execution. The can be divided into:
File manipulation
Status information
File modification
Programming language support
Program loading and execution
Communications
Application programs
Most users view of the operation
system is defined by system programs, not the actual system calls. System Structure Simple Approach
MS-DOS written to provide the
most functionality in the least space
not divided into modules
Although MS-DOS has some structure,
its interfaces and levels of functionality are not well separated MS-DOS Layer Structure
System
Structure Layered Approach
The operating system is divided
into a number of layers (levels), each built on top of lower layers. The bottom layer (layer 0), is the
hardware; the highest (layer N) is the user interface.
With modularity, layers are
selected such that each uses functions (operations) and services of only
lower-level layers. An
Operating System Layer Layered
Structure of the THE OS
A layered design was first used in
THE operating system. Its six layers are as follows: Layer 5 : User
Programs Layer 4 : Buffering
for Input and Output Layer 3 : Operator
console Device Driver Layer 2 : Memory
Management Layer 1 : CPU
Scheduling Layer 0 : Hardware Virtual
Machines
A virtual machine takes the
layered approach to its logical conclusion.
It treats hardware and the operating system kernel as though they were
all hardware.
A virtual machine provides an
interface identical to the underlying bare hardware.
The operating system creates the
illusion of multiple processes, each executing on its own processor with its
own (virtual) memory.
The resources of the physical
computer are shared to create the virtual machines.
CPU scheduling can create the
appearance that users have their own processor.
Spooling and a file system can
provide virtual card readers and virtual line printers.
A normal user time-sharing terminal
serves as the virtual machine operators console. System
Models
Non-virtual Machine Virtual Machine Advantages/Disadvantages of Virtual Machines
The virtual-machine concept
provides complete protection of system resources since each virtual machine
is isolated from all other virtual machines.
This isolation, however, permits no direct sharing of resources.
A virtual-machine system is a
perfect vehicle for operating-systems research and development. System development is done on the virtual
machine, instead of on a physical machine and so does not disrupt normal
system operation.
The virtual machine concept is
difficult to implement due to the effort required to provide an exact
duplicate to the underlying machine. System Design Goals
User goals operating system
should be convenient to use, easy to learn, reliable, safe, and fast.
System goals operating system
should be easy to design, implement, and maintain, as well as flexible,
reliable, error-free, and efficient. Mechanisms and Policies
Mechanisms determine how to do
something, policies decide what will be done.
The separation of policy from
mechanism is a very important principle, it allows maximum flexibility if
policy decisions are to be changed later. System Implementation
Traditionally written in assembly
language, operating systems can now be written in higher-level languages.
Code written in a high-level
language:
can be written faster.
is more compact.
is easier to understand and debug.
An operating system is far easier
to port (move to some other hardware) if it is written in a high-level
language. System Generation (SYSGEN)
Operating systems are designed to
run on any of a class of machines; the system must be configured for each
specific computer site.
SYSGEN program obtains information
concering the specific configuration of the hardware system.
Booting starting a
computer by loading the kernel.
Bootstrap program code stored in ROM that is able to locate the kernel, load it into
memory, and start its execution.
|
|||||||||||||||||||||||