0% found this document useful (0 votes)
222 views

Unit 1 Operating System by B Lokesh Joel

The document provides an overview of operating system structures. It discusses introduction to operating systems including what they do, computer system organization, architecture, and structure. It then covers operating system services, user interface, system calls, types of system calls, system programs, design and implementation, virtual machines, debugging, boot process and more. The document also describes computer system organization including operation, storage structure, I/O structure and buses. It discusses synchronous and asynchronous I/O methods, device status tables, and direct memory access structure.

Uploaded by

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

Unit 1 Operating System by B Lokesh Joel

The document provides an overview of operating system structures. It discusses introduction to operating systems including what they do, computer system organization, architecture, and structure. It then covers operating system services, user interface, system calls, types of system calls, system programs, design and implementation, virtual machines, debugging, boot process and more. The document also describes computer system organization including operation, storage structure, I/O structure and buses. It discusses synchronous and asynchronous I/O methods, device status tables, and direct memory access structure.

Uploaded by

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

Unit I

OPERATING SYSTEMS

By B Lokesh Joel
UNIT-I:
Title and Content Layout with List
 Introduction:  Operating-System Structures:
 What Operating Systems Do,  Operating-System Services,
 Computer-System Organization,  User Operating-System Interface,
 Computer-System Architecture,  System Calls
 Operating-System Structure,  Types of System Calls,
 Operating-System Operations  System Programs
 Operating-System Design and
Implementation
 Operating-System Structure
 Virtual Machines
 Operating-System Debugging
 Operating-System Generation
 System Boot.
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:
1. Execute user programs
2. Make computer system convenient to use
3. Use computer hardware in an efficient manner
Computer Structure
 Computer system can be divided into four components:
1. Hardware – provides basic computing resources
 CPU, memory, I/O devices
2. Operating system
 Controls and coordinates use of hardware among various applications
and users
3. Application programs – define the ways in which the system resources
are used to solve the computing problems of the users
 Word processors, compilers, web browsers, database systems, video
games
4. Users
 People, machines, other computers
Four Components of a Computer System

Similar to
a Government!
1. What Operating Systems Do
What Operating Systems Do
 Depends on the point of view
 Users want convenience, ease of use and good performance
 Don’t care about resource utilization
 But shared computer such as mainframe or minicomputer must
keep all users happy
 Users of dedicate systems such as workstations have dedicated
resources but frequently use shared resources from servers
 Handheld computers are resource poor, optimized for usability and
battery life
 Some computers have little or no user interface, such as embedded
computers in devices and automobiles
System view of an Operating System
1. OS is a resource allocator
2. OS is a control program
1. Resource Manager

 Resource Manager:
 Manages and protects multiple computer resources:
 CPU, Processes, Internal/External memory, Tasks, Applications, Users,
Communication channels, etc…
 Handles and allocates resources to multiple users or multiple
programs running at the same time and space (e.g., processor
time, memory, I/O devices).
 Decides between conflicting requests for efficient and fair
resource use (e.g., maximize throughput, minimize response
time).
 Sort of a bottom-up view.
OS as a Resource Manager
Resource Manager oriented OS names

 DEC RSX – Resource Sharing eXecutive


 MIT Multics – MULTiplexed Information and Computing Services
 IBM MFT/MVT – Multiple Fixed/Variable Tasks
 IBM MVS – Multiple Virtual Storage
 DEC VMS – Virtual Memory System
 MVS TSO – Time Sharing Option
 CTSS – Compatible Time Sharing System
 IBM VM – Virtual machine
2. Control Program

 Control Program:
 Manages all the components of a complex computer
system in an integrated manner.
 Controls the execution of user programs and I/O devices
to prevent errors and improper use of computer resources.
 Looks over and protects the computer:
 Monitor, Supervisor, Executive, Controller, Master, Coordinator ….
 Sort of a black box view.
Control program oriented OS names

 Unisys MCP – Master Control Program


 DR CP/M – Control Program/Microcomputer
 IBM VM/CP – VM Control Program
 IBM AIX – Advanced Interactive eXecutive
 DEC RSX – Resource Sharing eXecutive
Operating System Definition
 No universally accepted definition
 One View
 “Everything a vendor ships when you order an operating system” is a
good approximation
 But varies wildly
 Another view:
 “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.
2. Computer System
Organization
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
2 Computer System Organization
1. Computer-System Operation
2. Storage Structure
3. I/O Structure
Computer System Organization
 A computer system consists of
 One or more CPUs, device controllers connect through common
bus providing access to shared memory
 Concurrent execution of CPUs and devices competing for memory
cycles
Buses
 Set of wires or connections for data transfer
1. Address bus
– address of memory location (or I/O port)
2. Control bus
– read (fetch) or write (store) commands
3. Data bus
– data to be stored, or instructions to be used
1. 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
 An interrupt is a signal indicating that an event has occurred
Common Functions of Interrupts
 When the CPU receives an interrupt,
 it must save the current state of the running program &
execute the interrupt routine[interrupt service routine ]
 An interrupt routine is a method
 Once the CPU is finished running the interrupt routine,
 the CPU must transfer back to the original program from the
place where it left off
 Note that the CPU can only execute one instruction
from a program at a time
Common Functions of Interrupts
An operating system is interrupt driven.
 OS invoked when (different events may cause
an interrupt)
 System Calls - user issues I/O request
 Hardware devices - I/O device
 Errors - division by 0
 Console (operator interrupt) - operator can signal
interrupt
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
Computer System Organization
1. Computer-System Operation
2. Storage Structure
3. I/O Structure
I/O Structure
 Synchronous Method:
 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
I/O Structure (cont..)
 Asynchronous Method:
 After I/O starts, control returns to user program without
waiting for I/O completion
 System call – request to the OS 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
 OS 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
Direct Memory Access 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
How a Modern Computer Works

A von Neumann architecture


Storage Definitions and Notation Review

The basic unit of computer storage is the bit. A bit can contain one of two values, 0 and 1. All other storage
in a computer is based on collections of bits. Given enough bits, it is amazing how many things a computer
can represent: numbers, letters, images, movies, sounds, documents, and programs, to name a few. A byte
is 8 bits, and on most computers it is the smallest convenient chunk of storage. For example, most
computers don’t have an instruction to move a bit but do have one to move a byte. A less common term is
word, which is a given computer architecture’s native unit of data. A word is made up of one or more bytes.
For example, a computer that has 64-bit registers and 64-bit memory addressing typically has 64-bit (8-
byte) words. A computer executes many operations in its native word size rather than a byte at a time.
Computer storage, along with most computer throughput, is generally measured and manipulated in bytes
and collections of bytes.
A kilobyte, or KB, is 1,024 bytes
a megabyte, or MB, is 1,0242 bytes
a gigabyte, or GB, is 1,0243 bytes
a terabyte, or TB, is 1,0244 bytes
a petabyte, or PB, is 1,0245 bytes

Computer manufacturers often round off these numbers and say that a megabyte is 1 million bytes and a
gigabyte is 1 billion bytes. Networking measurements are an exception to this general rule; they are given in
bits (because networks move data a bit at a time).
Storage Structure
 Main memory
 Within the memory storage unit
 Only large storage media that the CPU can access
directly.
 Another name for main memory is RAM
 RAM (Random Access Memory) means that the data stored in
memory can be accessed at random (in any order)
 In other words, where the data is stored in memory does not influence
the time required to return the data
Storage Structure
 To run a program, the program must have be
loaded into main memory
 Ideally programs & data should be stored in main
memory permanently
 Not practical because
1. Main memory too small & too expensive
2. Main memory is volatile (needs power, or data is lost)
Storage Structure
 Secondary storage
 Extension of main memory that provides large
nonvolatile storage capacity.
 A typical example is 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
 Faster access to data at top of hierarchy
 Cost
 More expensive storage at top of hierarchy
 Volatility
 Power is required to store data at top of hierarchy, with cutoff
at electronic disk
Storage-Device Hierarchy
Caching
 Important principle, performed at many levels in a
computer (in hardware, operating system, software)
 Information being used is copied from slower storage to faster
storage temporarily
 This temporary storage place is called a “cache”
 Pronounced like “cash”
 For example, because data in memory is much slower to access than
data in the CPU, the CPU has a cache to store recently used instructions
and data
Caching
 Faster storage (cache) checked first to determine if data is
there
 If it is, data read directly from the cache
 If not, read data from the slower storage & put a copy in the faster
cache
 For example, web browsers have a cache of the most recently viewed web
pages
 Caches have a limited size
 Cache management important design problem
Various Levels of Storage
 Details on levels of storage hierarchy
Data Migration
 Migration of Integer A from Disk to Register
 Data is stored in multiple places when it is being moved from
storage to the CPU & back
 Must be careful to use most recent value, no matter where it is stored in the
storage hierarchy
Data Migration
 Multiprocessor environment must provide cache coherency
in hardware such that all CPUs have the most recent data
value in their cache
 Distributed environment situation even more complex
 Several copies of the data can exist on different computers
Device
Controllers
Memory CPU
Bus Interrupt
Direct Driven
Operation I/O
I/O
Structure
Storage DMA
Structure Secondary
Storage
Organisation Main
Memory
Computer
System
Operating System
3 Computer-System Architecture
1. Single-Processor Systems
2. Multiprocessor Systems
3. Clustered Systems
Computer-System Architecture
1- Single general-purpose processor
 On a single-processor system, there is one main CPU
capable of executing a general-purpose instruction
set, including instructions from user processes.
 Single-processor systems are the most common.
Computer-System Architecture
 Multiprocessors systems growing in use and importance
 Also known as parallel systems, tightly-coupled systems
 Advantages include:
1. Increased throughput
2. Economy of scale
3. Increased reliability – graceful degradation or fault tolerance
 Two types:
1. Asymmetric Multiprocessing – each processor is assigned a specie task.
 Boss-Slaves
2. Symmetric Multiprocessing – each processor performs all tasks(within OS)
Symmetric Multiprocessing Architecture
A Dual-Core Design
 Multi-chip and multicore
 Systems containing all chips
 Chassis containing multiple separate systems
Clustered Systems
 Like multiprocessor systems, but multiple systems working
together
 Usually sharing storage via a storage-area network (SAN)
 Provides a high-availability service which survives failures
 Asymmetric clustering has one machine in hot-standby mode
 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
 Some have distributed lock manager (DLM) to avoid inconsistent
operations
Clustered Systems
Device
Controllers
Memory CPU
Bus Interrupt
DirectDriven
Single * Operation I/O
I/O
Multi processor Structure
processor Architectur Storage DMA
Structure Secondary
e
Storage
Clusters Organisation Main
Distributed Memory
Computer
System
Operating System
Operating System Structure
 Multiprogramming (Batch system) 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 job is a program in execution (a running program)
 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
Operating System Structure(cont..)
 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
 A program loaded into memory & running is called a process
 In other words, a process is a program in execution
 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

 Similar to the interrupts created by hardware,


software errors or requests create exceptions or
traps
 Division by zero, request for operating system service
 Other process problems include infinite loop,
processes modifying each other or the operating
system
Operating-System Operations (cont.)
 Dual-mode operation allows OS to protect itself and other
system components
 User mode and kernel mode
 Mode bit provided by hardware
 Provides ability to distinguish when system is running user code or kernel
code
 Some instructions designated as privileged, only executable in kernel mode
 System call changes mode to kernel, return from call resets it to user
 Increasingly CPUs support multi-mode operations
 i.e. virtual machine manager (VMM) mode for guest VMs
Transition from User to Kernel Mode
 Timer to prevent infinite loop / process controlling resources
 Timer is set to interrupt the computer after some time period
 Keep a counter that is decremented by the physical clock.
 Operating system set the counter (privileged instruction)
 When counter zero generate an interrupt
 Set up before scheduling process to regain control or terminate program that exceeds
allotted time
Device
Controllers
Memory CPU
Bus Interrupt
Direct Driven
Single * Operation I/O
I/O
Multi processor Structure
Architecture Storage DMA
processor Secondary
Structure
Storage
Clusters Organisation Main
Distributed Memory
Computer
System
Services User Interface
Input/Output Operating System
What GUI or CLI
Management
Process is it?
Manag. User
Memory View
Management Operation
Dual
Mode
UNIT-I:
Title and Content Layout with List
 Introduction:  Operating-System Structures:
 What Operating Systems Do,  Operating-System Services,
 Computer-System Organization,  User Operating-System Interface,
 Computer-System Architecture,  System Calls
 Operating-System Structure,  Types of System Calls,
 Operating-System Operations  System Programs
 Operating-System Design and
Implementation
 Operating-System Structure
 Virtual Machines
 Operating-System Debugging
 Operating-System Generation
 System Boot.
Unit I
part 2
OPERATING SYSTEMS

You might also like