01 Introduction

Download as pdf or txt
Download as pdf or txt
You are on page 1of 35

Operating Systems

Introduction
Introduction
 What is an Operating Systems?
 Operating-System Structure
 Operating-System Organization
 Operating-System Operation
 Process Management
 Memory Management
 Storage Management
 Protection and Security
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, compilers, web browsers, database
systems, video games
 Users
 People, machines, other computers
Computer System Structure
Operating System Definition
 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
 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 EPROM, generally
known as firmware
 Initializes all aspects of system
 Loads operating system kernel and starts
execution
Computer System Organization
 Computer-system operation
 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
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
 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.
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.
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
Caching
 Important principle, performed at many levels in a
computer (in hardware, operating system, software)
 Information in use copied from slower to faster storage
temporarily
 Faster storage (cache) checked first to determine if
information is there
 If it is, information used directly from the cache (fast)
 If not, data copied to cache and used there
 Cache smaller than storage being cached
 Cache management important design problem
 Cache size and replacement policy
Operating System Types
 Batch systems
 Time Sharing (multitasking) Systems
 Personal Computer (PC) Systems
 Parallel Systems
 Real–Time Systems
 Distributed Systems
Batch System
 The common input devices, in early computers were
card readers and tape drives. The common output
devices were line printers and card punches.
 The user did not interact directly with the computer
system. He prepares a job and submits it to the
computer operator ( in form of punch cards). At
some later time, the output appeared.
 To speedup processing, operators batch together
jobs with similar needs and run them in computer as
a groups.
Batch System
 The introduction of disk technology allowed the O.S
to keep all jobs on a disk, rather than in a serial
card reader. O.S could do job-scheduling.
 Multiprogramming increases CPU utilization by
organizing jobs such that the CPU always has one to
execute.
 The idea of multiprogramming is:
 O.S keeps several jobs in memory simultaneously.
 The O.S begins to execute one of the jobs in the
memory.
 When the job have to wait for some task, such as I/O
operation, the O.S simply switches to execute another
job.
Batch System
 O.S uses job scheduling to decide
which job in the pool will
allocate main memory( RAM).

 O.S uses CPU scheduling to


decide which job in memory will
use the CPU.
Time Sharing (multitasking) Systems

 Time Sharing or Multitasking, is a logical extension of


multiprogramming.
 The CPU executes multiple jobs by switching among
them.
 O.S provides direct communication between the user
and the system.
 O.S allows many users to share the computer
simultaneously. The system switches rapidly from
one user to the next.
Time Sharing (multitasking) Systems

 A time-shared O.S uses CPU scheduling and


multiprogramming to provide each user with a small
portion in memory.
 This system is more complex than multiprogrammed,
it needs memory management, protection, virtual
memory( a technique that allows the execution of
jobs that may not be completely in memory), file
system, disk management.
 Most systems today are time sharing.
Personal Computer (PC) Systems
 PCs are microcomputers that are smaller and less
expensive than mainframe systems.
 PC O.S maximizes user convenience and
responsiveness.
 Ex: MS-DOS, Microsoft Windows, and Apple
Macintosh.
Parallel Systems
 Multiprocessor Systems have more than one
processor, sharing the computer bus, the clock,
memory, and peripheral devices.
 Benefits:
 Increase the throughput.
 Increase the reliability: if function can be distributed
properly among several processors, then the failure of
one processor will not halt the system, but will only
slow it down. This is called graceful degradation.
System that are designed for graceful degradation
called fault tolerant.
Parallel Systems
 Multiprocessor systems may be:
 Symmetric: each processor runs an identical copy of
the O.S, and these copies communicate with one
another as needed.
 asymmetric: each processor is assigned a specific task.
A master processor controls the system. The other
processors look to the master for instruction. This
scheme called a master-slave relationship.
Real–Time Systems

 these systems are used as a control device in a


dedicated application such as medical systems,
industrial systems, weapon systems, etc.
 Sensors bring data to the computer.
 These systems has fixed time constrains. Processing
must be done within the defined constrains, or the
system will fail.
Distributed Systems
 Distributed Systems consist of a collection of
processors that do not share memory. Instead, each
processor has its own local memory. The processors
communicate by high-speed buses.
 Operating systems such as Windows, OS/2, MacOS,
and UNIX now include the system software (such as
TCP/IP) that enables a computer to access the
Internet via a local-area network. Several include
the web browser itself, as well as electronic mail,
and file-transfer client and servers.
Operating-System Operations
 Interrupt driven by hardware
 Software error or request creates exception or trap
 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 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
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
 Initialization data
 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 what is in memory
when
 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)
Storage Management
 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 dirs
 Mapping files onto secondary storage
 Backup files onto stable (non-volatile) storage media
I/O Management
 O.S hides the features of the I/O device from the
user. I/O subsystem responsible for:
 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.
Networking

 O.S here provide protocols for connecting to the


network and transfer data.

Protection

 Protection is any mechanism for controlling the


access of programs or users to the resources.
Operating System Services
 User interface:
Almost all operating systems have a user interface (UI),Varies
between Command-Line (CLI), Graphics User Interface (GUI).
Microsoft Windows is GUI with CLI “command” shell
 Program Execution:
load a program into memory and run that program.
 I/O operation:
O.S must provide a means to do the I/O operations.
 File-system manipulation:
O.S read, write, create, and delete, and manipulate files.
 Communication:
Communication may be implemented via shared memory, or by the
technique of message passing, in which packets of information are
moved between processes by the O.S.
 Error detection:
for each type of error, O.S must take the appropriate action.

You might also like