امتحان مصطفى

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 41

Operating Systems

Chapter 1: Introduction

Operating System Concepts – 9th Edit9on Silberschatz, Galvin and Gagne ©2013
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
 Kernel Data Structures
 Computing Environments
 Open-Source Operating Systems

Operating System Concepts – 9th Edition 1.2 Silberschatz, Galvin and Gagne ©2013
Objectives

 To describe the basic organization of computer systems


 To provide a grand tour of the major components of
operating systems
 To give an overview of the many types of computing
environments
 To explore several open-source operating systems

Operating System Concepts – 9th Edition 1.3 Silberschatz, Galvin and Gagne ©2013
What is Operating System?

 An operating system is system software that


manages computer hardware and software
resources, and provides common services for
computer programs.

 It is a program that acts as an intermediary between


a user of a computer and the computer hardware.

 It is the most important software that runs on a


computer.

Operating System Concepts – 9th Edition 1.4 Silberschatz, Galvin and Gagne ©2013
Goals of Operating system

 The main purpose of an operating system is to


provide an environment in which we can execute
and control programs.

 Solving user problems easier.

 Making the computer system convenient to use


(establish a user interface).

 Manage computer resources (use the computer


hardware in an efficient manner.

Operating System Concepts – 9th Edition 1.5 Silberschatz, Galvin and Gagne ©2013
Goals of Operating system

 OS is a resource allocator
 Manages all computer 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 Concepts – 9th Edition 1.6 Silberschatz, Galvin and Gagne ©2013
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

Operating System Concepts – 9th Edition 1.7 Silberschatz, Galvin and Gagne ©2013
Four Components of a Computer System

Operating System Concepts – 9th Edition 1.8 Silberschatz, Galvin and Gagne ©2013
Kernel in Operating System

 The one program running at all times on the computer


is the kernel.

 kernel is central (core) component of an operating


system that manages operations of computer and
hardware.

 It basically manages operations of memory and CPU


time.

 Kernel acts as a bridge between applications and


data processing performed at hardware level using
inter-process communication and system calls.

Operating System Concepts – 9th Edition 1.9 Silberschatz, Galvin and Gagne ©2013
Computer Startup

 bootstrap program is loaded at power-up or


reboot of computer.

 It is the first code that is executed when the


computer system is started.

 Typically stored in ROM or EPROM.

 bootstrap program initializes all aspects of


operating system.

Operating System Concepts – 9th Edition 1.10 Silberschatz, Galvin and Gagne ©2013
Computer System Organization

 Computer-system operation
 One or more CPUs and device controllers connected
through common bus attempt to access shared memory.
 Concurrent execution of CPUs and devices compete for
memory cycles.

Operating System Concepts – 9th Edition 1.11 Silberschatz, Galvin and Gagne ©2013
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 between main memory and local
buffers.
 I/O device moves data from the device to local
buffer of controller.
 Device controller informs CPU that it has finished its
operation by causing an interrupt.

Operating System Concepts – 9th Edition 1.12 Silberschatz, Galvin and Gagne ©2013
Interrupt in operating systems

 An interrupt is a process to notify the CPU in order


to require attention.

 It is a signal emitted by a device attached to a


computer or from a program within the computer.

 Interrupt requires the operating system to stop and


figure out what to do next.

 An interrupt temporarily stops or terminates a


service or a current process.

Operating System Concepts – 9th Edition 1.13 Silberschatz, Galvin and Gagne ©2013
Interrupt in operating systems

 A trap or exception is a software-generated interrupt


caused either by an error or a user request.

 An operating system is interrupt driven (to ensure


efficient management of resources and
responsiveness to external events).

 Separate segments of code determine what action


should be taken for each type of interrupt.

Operating System Concepts – 9th Edition 1.14 Silberschatz, Galvin and Gagne ©2013
Storage Structure
 Main memory: the CPU can access it directly.
 Random access
 Typically volatile
 Secondary storage: provides large nonvolatile storage capacity.
 Hard 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 .
 Solid-state disks: faster than hard disks, nonvolatile
 Various technologies
 Becoming more popular
 E.x.: USB pen drives, SD cards, newer types of hard drive, the
SIM card that goes in your mobile phone, etc.
Operating System Concepts – 9th Edition 1.15 Silberschatz, Galvin and Gagne ©2013
Storage Hierarchy

 Storage systems organized in hierarchy


 Speed
 Cost
 Volatility
 Caching – copying information into faster storage
system; main memory can be viewed as a cache for
secondary storage.
 Device Driver for each device controller to manage I/O
 Provides uniform interface between controller and
kernel

Operating System Concepts – 9th Edition 1.16 Silberschatz, Galvin and Gagne ©2013
Storage-Device Hierarchy

Operating System Concepts – 9th Edition 1.17 Silberschatz, Galvin and Gagne ©2013
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.
Operating System Concepts – 9th Edition 1.18 Silberschatz, Galvin and Gagne ©2013
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.

Operating System Concepts – 9th Edition 1.19 Silberschatz, Galvin and Gagne ©2013
Computer-System Architecture

 Most systems use a single general-purpose processor.


 Some systems have special-purpose processors.
 Multiprocessors systems growing in use and importance
 Also known as parallel systems
 Advantages include:
1. Increased throughput
2. Economy of scale
3. Increased reliability
 Multiprocessors are in two types:
1. Asymmetric Multiprocessing – each processor is assigned a
specific task.
2. Symmetric Multiprocessing – each processor performs all
tasks.
Operating System Concepts – 9th Edition 1.20 Silberschatz, Galvin and Gagne ©2013
Symmetric Multiprocessing Architecture

Operating System Concepts – 9th Edition 1.21 Silberschatz, Galvin and Gagne ©2013
A Dual-Core Design
 Multi-chip and multicore.

Operating System Concepts – 9th Edition 1.22 Silberschatz, Galvin and Gagne ©2013
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
conflicting operations.

Operating System Concepts – 9th Edition 1.23 Silberschatz, Galvin and Gagne ©2013
Clustered Systems

Operating System Concepts – 9th Edition 1.24 Silberschatz, Galvin and Gagne ©2013
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 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

 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

Operating System Concepts – 9th Edition 1.25 Silberschatz, Galvin and Gagne ©2013
Operating-System Operations

 Interrupt driven (hardware and software)


 Hardware interrupt by one of the devices
 Software interrupt (exception or trap) when:
 Software error (e.g., division by zero)
 Request for operating system service
 Other process problems include infinite loop,
processes modifying each other or the
operating system.

Operating System Concepts – 9th Edition 1.26 Silberschatz, Galvin and Gagne ©2013
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.
 A thread refers to a single sequential flow of activities being
executed in a process.
Operating System Concepts – 9th Edition 1.27 Silberschatz, Galvin and Gagne ©2013
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 processes synchronization.
 Providing mechanisms for processes communication.
 Providing mechanisms for deadlock handling.

Operating System Concepts – 9th Edition 1.28 Silberschatz, Galvin and Gagne ©2013
Memory Management
 To execute a program all (or part) of the instructions must be
in memory.
 All (or part) of the data that is needed by the program must be
in memory.
 Memory management determines what is in memory and
when.
 Memory management activities include:
 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.

Operating System Concepts – 9th Edition 1.29 Silberschatz, Galvin and Gagne ©2013
Storage Management
 OS provides uniform and 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
 Manipulating files and directories
 Mapping files onto secondary storage
 Backup files onto stable (non-volatile) storage media

Operating System Concepts – 9th Edition 1.30 Silberschatz, Galvin and Gagne ©2013
Migration of data “A” from Disk to Register

 Multitasking environments must be careful to use most


recent value, no matter where it is stored in the storage
hierarchy.

Operating System Concepts – 9th Edition 1.31 Silberschatz, Galvin and Gagne ©2013
I/O Subsystem

 One purpose of OS is to hide peculiarities of


hardware devices 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.

Operating System Concepts – 9th Edition 1.32 Silberschatz, Galvin and Gagne ©2013
Protection and Security

 Protection – any mechanism for controlling access of


processes or users to resources defined by the OS
 Security – defense of the system against internal and
external attacks
 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 is associated with all files, processes of that
user to determine access control.

Operating System Concepts – 9th Edition 1.33 Silberschatz, Galvin and Gagne ©2013
Computing Environments – Mobile Devices

 Handheld smartphones, tablets, etc.


 What is the functional difference between them and a
“traditional” laptop?
 Extra feature – more OS features (GPS).
 Use IEEE 802.11 wireless, or cellular data networks
for connectivity.
 Leaders are Apple iOS and Google Android.

Operating System Concepts – 9th Edition 1.34 Silberschatz, Galvin and Gagne ©2013
Computing Environments – Distributed

 Distributed computing
 Collection of separate, possibly heterogeneous, systems
networked together.
 Network is a communications path, TCP/IP most
common:
– Local Area Network (LAN)
– Wide Area Network (WAN)
– Metropolitan Area Network (MAN)
– Personal Area Network (PAN)
 Network Operating System provides features between
systems across network
 Communication scheme allows systems to exchange
messages.
Operating System Concepts – 9th Edition 1.35 Silberschatz, Galvin and Gagne ©2013
Computing Environments – Client-Server

 Client-Server Computing
 Dumb terminals supplanted by smart PCs.
 Many systems now servers, responding to requests generated by
clients:
 Compute-server system provides an interface to client to
request services (i.e., database).
 File-server system provides interface for clients to store and
retrieve files.

Operating System Concepts – 9th Edition 1.36 Silberschatz, Galvin and Gagne ©2013
Computing Environments - Peer-to-Peer

 Another model of distributed system


 P2P does not distinguish clients and servers
 Instead all nodes are considered peers
 May each act as client, server or both
 Node must join P2P network
 Registers its service with central lookup service on network, or
 Broadcast request and respond to requests for service via
discovery protocol.

Operating System Concepts – 9th Edition 1.37 Silberschatz, Galvin and Gagne ©2013
Computing Environments - Virtualization

 Allows operating systems to run applications within other


OSs.
 Emulation is used when source CPU type different from
target type:
 Generally slowest method
 When computer language not compiled to native code
– Interpretation
 Virtualization – OS natively compiled at CPU, also
running guest OSs.
 Ex. Apple laptop running Mac OS, Windows as a guest.

Operating System Concepts – 9th Edition 1.38 Silberschatz, Galvin and Gagne ©2013
Computing Environments – Cloud Computing

 CC delivers computing, storage, even apps as a service across a network.


 Logical extension of virtualization because it uses virtualization as the base for
it functionality.
 Amazon EC2 has thousands of servers, millions of virtual machines,
petabytes of storage available across the Internet, pay based on usage.
 CC types
 Public cloud – available via Internet to anyone willing to pay.
 Private cloud – run by a company for the company’s own use.
 Hybrid cloud – includes both public and private cloud components.
 CC layers:
 Software as a Service (SaaS) – one or more applications available via the
Internet (i.e., word processor)
 Platform as a Service (PaaS) – software stack ready for application use
via the Internet (i.e., a database server)
 Infrastructure as a Service (IaaS) – servers or storage available over
Internet (i.e., storage available for backup use)
Operating System Concepts – 9th Edition 1.39 Silberschatz, Galvin and Gagne ©2013
Open-Source Operating Systems

 Operating systems made available in source-code


format rather than just binary closed-source.
 Counter to the copy protection and Digital Rights
Management movement.
 Examples include GNU/Linux and BSD UNIX
(including core of Mac OS X), and many more.

Operating System Concepts – 9th Edition 1.40 Silberschatz, Galvin and Gagne ©2013
End of Chapter 1

Operating System Concepts – 9th Edit9on Silberschatz, Galvin and Gagne ©2013

You might also like