0% found this document useful (0 votes)
99 views41 pages

Operating System Concepts Chapter 1: Introduction

Operating System

Uploaded by

MohammeD NaiM
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)
99 views41 pages

Operating System Concepts Chapter 1: Introduction

Operating System

Uploaded by

MohammeD NaiM
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/ 41

Operating System Concepts

Chapter 1: Introduction

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

Operating System Concepts – 9th Edition 1.2 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.3 Silberschatz, Galvin and Gagne ©2013
Four Components of a Computer System

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

 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 Concepts – 9th Edition 1.5 Silberschatz, Galvin and Gagne ©2013
Operating System Definition (Cont.)

 The kernel is a computer program that is the core of a computer’s  operating


system, with complete control over everything in the system. On most
systems, it is one of the first programs loaded on start-up (after
the bootloader). It handles the rest of start-up as well as input/output requests
from software, translating them into data-processing instructions for
the central processing unit. It handles memory and peripherals like keyboards,
monitors, printers, and speakers.
 A kernel connects the application software to the hardware of a computer.
 The critical code of the kernel is usually loaded into a separate area of
memory, which is protected from access by application programs or other,
less critical parts of the operating system. The kernel performs its tasks, such
as running processes, managing hardware devices such as the hard disk, and
handling interrupts, in this protected kernel space
 In short, the one program that is running all the time in the computer.

Operating System Concepts – 9th Edition 1.6 Silberschatz, Galvin and Gagne ©2013
Computer Startup (Bootstrap Program)

 For a computer to start running—for instance, when it is powered


up or rebooted—it needs to have an initial program to run. This
initial program, or bootstrap program, tends to be simple.
 Typically, it is stored within the computer hardware in read-only
memory (ROM) or electrically erasable programmable read-only
memory (EEPROM), known by the general term firmware.
 It initializes all aspects of the system, from CPU registers to device
controllers to memory contents.
 The bootstrap program must know how to load the operating
system and how to start executing that system. To accomplish this
goal, the bootstrap program must locate the operating-system
kernel and load it into memory.

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

Operating System Concepts – 9th Edition 1.8 Silberschatz, Galvin and Gagne ©2013
Storage Structure
 Main memory – only large storage media that the CPU can access
directly
 Random access
 Typically volatile
 Secondary storage – extension of main memory that 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

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

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

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

 Each device controller manages specific type of devices


 Eg,small computer-system interface (SCSI) controller can manage 7 or more devices.
 Device controller maintains some local buffer and specific purpose registers.
 Device controller is responsible for moving data from the device and local buffer
storage.
 OS has a Device Driver for each device controller
 Device Driver understands the device controller and presents a uniform
interface to the device to the rest of the operating system.
Operating System Concepts – 9th Edition 1.12 Silberschatz, Galvin and Gagne ©2013
I/O Structure
 To start an I/O operation:

 Device driver loads the appropriate registers within device


controller
 Device controller examines the contents to determine what
action to take
 Controller starts transfer of data from device to local buffer
 Once transfer is complete, device controller informs the device
driver via an interrupt that it has finished the operation.
 Device driver then returns control to the OS possibly returning
the data or a pointer to the data.

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

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

 Most systems use a single general-purpose processor


 Most systems have special-purpose processors as well

Operating System Concepts – 9th Edition 1.15 Silberschatz, Galvin and Gagne ©2013
Multiprocessor and Multicore

Operating System Concepts – 9th Edition 1.16 Silberschatz, Galvin and Gagne ©2013
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
specific task.
2. Symmetric Multiprocessing – each processor performs all tasks

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

Operating System Concepts – 9th Edition 1.19 Silberschatz, Galvin and Gagne ©2013
Operating-System Operations
 Interrupt driven (hardware and software)
 Modern operating systems are interrupt driven.
 If there is no processes to execute, no I/O devices to
service, no users to respond, OS will sit quietly.
 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

Operating System Concepts – 9th Edition 1.20 Silberschatz, Galvin and Gagne ©2013
Timer
 Timer to prevent infinite loop / process hogging 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

Operating System Concepts – 9th Edition 1.21 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 process synchronization
 Providing mechanisms for process communication
 Providing mechanisms for deadlock handling

Operating System Concepts – 9th Edition 1.22 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 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

Operating System Concepts – 9th Edition 1.23 Silberschatz, Galvin and Gagne ©2013
Storage Management
 OS provides uniform, logical view of information storage
 Abstracts physical properties to logical storage unit - file

 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

Operating System Concepts – 9th Edition 1.24 Silberschatz, Galvin and Gagne ©2013
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
 Proper management is of central importance
 Entire speed of computer operation hinges on disk subsystem and its
algorithms
 OS activities
 Free-space management
 Storage allocation
 Disk scheduling

Operating System Concepts – 9th Edition 1.25 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 then associated with all files, processes of that user to
determine access control
 Group identifier (group ID) allows set of users to be defined and
controls managed, then also associated with each process, file
 Privilege escalation allows user to change to effective ID with
more rights

Operating System Concepts – 9th Edition 1.26 Silberschatz, Galvin and Gagne ©2013
Kernel Data Structures

Operating System Concepts – 9th Edition 1.27 Silberschatz, Galvin and Gagne ©2013
Kernel Data Structures

 Many similar to standard programming data structures


 Singly linked list

 Doubly linked list

 Circular linked list

Operating System Concepts – 9th Edition 1.28 Silberschatz, Galvin and Gagne ©2013
Kernel Data Structures

 Binary search tree


left <= right
 Search performance is O(n)
 Balanced binary search tree is O(lg n)

Operating System Concepts – 9th Edition 1.29 Silberschatz, Galvin and Gagne ©2013
Kernel Data Structures

 A hash function is any function that can be used to map data of


arbitrary size to data of a fixed size.
 Hash function can create a hash map

Operating System Concepts – 9th Edition 1.30 Silberschatz, Galvin and Gagne ©2013
Kernel Data Structures

 Bitmap –A bitmap is a string of n binary digits that can be used to


represent the status of n items. For example, suppose we have
several resources, and the availability of each resource is indicated by
the value of a binary digit: 0 means that the resource is available, while
1 indicates that it is unavailable (or vice-versa). The value of the ith
position in the bitmap is associated with the ith resource. As an
example, consider the bitmap shown below:
001011101
Resources 2, 4, 5, 6, and 8 are unavailable; resources 0, 1, 3, and 7
are available.

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

 Stand-alone general purpose machines


 But blurred as most systems interconnect with
others (i.e., the Internet)
 Portals provide web access to internal systems
 Network computers (thin clients) are like Web
terminals
 Mobile computers interconnect via wireless
networks
 Networking becoming ubiquitous – even home
systems use firewalls to protect home
computers from Internet attacks

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

 Handheld smartphones, tablets, etc


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

Operating System Concepts – 9th Edition 1.33 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
 Illusion of a single system

Operating System Concepts – 9th Edition 1.34 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.35 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 for service and
respond to requests for service via
discovery protocol
 Examples include Napster and Gnutella,
Voice over IP (VoIP) such as Skype

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

 Allows operating systems to run as applications within other OSes


 Vast and growing industry
 Emulation used when source CPU type different from target type.
(when Apple switched from the IBM Power CPU to the Intel x86 CPU for its desktop
and laptop computers, it included an emulation facility called “Rosetta,” which
allowed applications compiled for the IBM CPU to run on the Intel CPU.)
 Virtualization – an operating system that is natively compiled for a
particular CPU architecture runs within another operating system
also native to that CPU.
 Consider VMware running WinXP guests, each running
applications, all on native WinXP host OS
 VMM (virtual machine Manager) provides virtualization
services

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

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

 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
 Many 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
 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
Computing Environments – Cloud Computing

 Cloud computing environments composed of traditional


OSes, plus VMMs, plus cloud management tools
 Internet connectivity requires security like firewalls
 Load balancers spread traffic across multiple applications

Operating System Concepts – 9th Edition 1.40 Silberschatz, Galvin and Gagne ©2013
Computing Environments – Real-Time Embedded Systems

 Real-time embedded systems most prevalent form of


computers
 Vary considerably, special purpose, limited purpose
OS, real-time OS

 Many other special computing environments as well


 Some have OSes, some perform tasks without an OS
 Real-time OS has well-defined fixed time constraints
 Processing must be done within constraint
 Correct operation only if constraints met

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

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy