0% found this document useful (0 votes)
345 views33 pages

CO2017 Operating Systems: Silberschatz, Galvin and Gagne ©2018 Operating System Concepts

This document provides an overview of operating system concepts including storage hierarchy, interrupts, multiprocessing, protection and security. It describes the functions of operating systems such as managing memory, processors, devices and files. It also discusses concepts like caching, virtual memory and I/O subsystems.
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)
345 views33 pages

CO2017 Operating Systems: Silberschatz, Galvin and Gagne ©2018 Operating System Concepts

This document provides an overview of operating system concepts including storage hierarchy, interrupts, multiprocessing, protection and security. It describes the functions of operating systems such as managing memory, processors, devices and files. It also discusses concepts like caching, virtual memory and I/O subsystems.
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/ 33

CO2017

Operating Systems

Operating System Concepts Silberschatz, Galvin and Gagne ©2018


Textbook and References

● [1] “Operating System Concepts”, Abraham Silberschatz, Greg


Gagne, Peter B. Galvin, 10th Edition, John Wiley & Sons, 2018.
ISBN1119439256, 9781119439257, 976 pages.
● [2] “Operating Systems: Three Easy Pieces”, Remzi H. Arpaci-
Dusseau, Andrea C. Arpaci-Dusseau, CreateSpace Independent
Publishing Platform, 2018.
ISBN198508659X, 9781985086593, 714 pages.

Operating System Concepts 5 Silberschatz, Galvin and Gagne ©2018


Abstract View of Computer Components

Operating System Concepts 11 Silberschatz, Galvin and Gagne ©2018


Common Functions of Interrupts

● Device controller informs CPU that it has finished its operation by


raising an interrupt or CPU has to do a polling for an I/O completion
(possibly waste a large number of CPU cycles)
● 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 and status of the interrupted
instruction

● A trap (or exception) is a software-generated interrupt caused either


by an error or a user request
● An operating system is interrupt-driven

Operating System Concepts 17 Silberschatz, Galvin and Gagne ©2018


Interrupt Timeline

Operating System Concepts 18 Silberschatz, Galvin and Gagne ©2018


Interrupt-driven I/O Cycle

Operating System Concepts 20 Silberschatz, Galvin and Gagne ©2018


Storage Structure

● Main memory – only storage media that the CPU can access directly

● Random access, typically in the form of Dynamic Random-Access


Memory (DRAM)

● Typically volatile

● Secondary storage – extension of main memory that provides large


nonvolatile storage capacity
● Hard Disk Drives (HDD) – rigid metal or glass platters covered with
magnetic recording material
4 Disk surface is logically divided into tracks, which are subdivided into sectors

● Non-volatile memory (NVM) devices– faster than hard disks, nonvolatile


4 Becoming more popular as capacity and performance increases, price drops

4 Various technologies

Operating System Concepts 22 Silberschatz, Galvin and Gagne ©2018


Storage Hierarchy

● Storage systems are organized in hierarchy according to

● Speed (or access time)

● Capacity

● Volatility

● Cost

● Caching – mechanism copying data into faster storage system

● Main memory can be viewed as a cache for secondary storage

Operating System Concepts 24 Silberschatz, Galvin and Gagne ©2018


Storage-Device Hierarchy

Operating System Concepts 25 Silberschatz, Galvin and Gagne ©2018


An example of storage hierarchy

Operating System Concepts 26 Silberschatz, Galvin and Gagne ©2018


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 local buffer directly to
main memory without CPU intervention

● Only one interrupt is generated per block, rather than the one
interrupt per byte

Operating System Concepts 28 Silberschatz, Galvin and Gagne ©2018


Computer-System Architecture

● Most older systems use a single general-purpose processor

● Most systems have special-purpose processors as well

● Multiprocessors systems growing in use and importance

● Also known as parallel systems, tightly-coupled systems

● Advantages include:
4 Increased throughput

4 Economy of scale, increased reliability – graceful degradation or fault tolerance

● Two types:
4 Asymmetric Multiprocessing – each processor is assigned a special task.

4 Symmetric Multiprocessing – each processor performs all tasks

Operating System Concepts 29 Silberschatz, Galvin and Gagne ©2018


Symmetric Multiprocessing Architecture

Operating System Concepts 30 Silberschatz, Galvin and Gagne ©2018


A Dual-Core Design

● Multi-chip and
multicore
● Systems containing
all chips
● Chassis containing
multiple separate
systems

Operating System Concepts 31 Silberschatz, Galvin and Gagne ©2018


Non-Uniform Memory Access System

Non-Uniform Memory Access (NUMA)


Operating System Concepts 32 Silberschatz, Galvin and Gagne ©2018
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


4 Asymmetric clustering has one machine in hot-standby mode

4 Symmetric clustering has multiple nodes running applications

● Some clusters are used for High-


Performance Computing (HPC)
4 Applications must be written to use
parallelization

● Some clusters have Distributed


Lock Manager (DLM) to avoid
conflicting operations

Operating System Concepts 33 Silberschatz, Galvin and Gagne ©2018


Transition from User to Kernel Mode

● Timer to prevent infinite loop / process hogging resources

● Timer is set to interrupt the computer after some time period. Operating system
sets a counter (privileged instruction), keeps the counter that is decremented by
the physical clock, when counter zero generate an interrupt.

● Set up before scheduling process to regain control or terminate program that


exceeds allotted time.

Operating System Concepts 40 Silberschatz, Galvin and Gagne ©2018


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 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 is smaller than storage being cached

● Cache management is an important design problem

● Cache size and replacement policy

Operating System Concepts 46 Silberschatz, Galvin and Gagne ©2018


Various Types of Storage

● Movement between levels of storage hierarchy can be


explicit or implicit

Operating System Concepts 47 Silberschatz, Galvin and Gagne ©2018


Migration of Data from Disk to Register

● Multitasking environment must be careful to use most recent value,


no matter where it is stored in the storage hierarchy
● Multiprocessor environment must provide cache coherency in
hardware such that all CPUs have the most recent value in their
cache
● In distributed environment, the situation is even more complex

● Several copies of a datum can exist

● Various solutions

Operating System Concepts 48 Silberschatz, Galvin and Gagne ©2018


I/O Subsystem

● One purpose of OS is to hide peculiarities of hardware devices from


the user
● I/O subsystem is 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)

● I/O subsystem includes

● General device-driver interface

● Drivers for specific hardware devices

Operating System Concepts 49 Silberschatz, Galvin and Gagne ©2018


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
4 User identity (UID, or security ID) includes name and an associated number.
User ID is then associated with all files, processes of that user to determine
access control

4 Group identifier (GID) allows set of users to be defined for access control,
then also associated with each process or file

4 Privilege escalation allows user to change to effective ID with more rights

Operating System Concepts 50 Silberschatz, Galvin and Gagne ©2018


Virtualization

● Allows operating systems to run applications within other OSes

● Vast and growing industry

● Emulation used when source CPU type different from target CPU
type (e.g., PowerPC to Intel x86)
● Generally slowest method

● When computer language not compiled to native code – Interpretation

● Virtualization – OS natively compiled for CPU, running guest OSes


also natively compiled
● E.g., Consider VMware running WinXP guests, each running
applications, all on native WinXP host OS

● Virtual Machine Manager (VMM) provides virtualization services

Operating System Concepts 51 Silberschatz, Galvin and Gagne ©2018


Computing Environments - Virtualization

A single A virtualization system


operating with 3 OSes
system

Operating System Concepts 53 Silberschatz, Galvin and Gagne ©2018


Evolution

● Mainframe system

● Desktop system

● Multiprocessor system

● Distributed system

● Real-time system

● Handheld system/mobile system

Operating System Concepts 58 Silberschatz, Galvin and Gagne ©2018


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 (or 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 59 Silberschatz, Galvin and Gagne ©2018


Computing Environments - Mobile

● Such as handheld smartphones, tablets, etc.

● What is the functional difference between them and a “traditional”


laptop?
● Extra feature – more OS features (e.g., GPS, gyroscope)

● Allows new types of apps like Augmented Reality (AR)

● Use IEEE 802.11 wireless, or cellular data networks for connectivity

● Leaders are Apple iOS and Google Android

Operating System Concepts 60 Silberschatz, Galvin and Gagne ©2018


Computing Environments – Client-Server

● Client-Server Computing
● Dumb terminals supplanted by smart PCs
● Many systems now servers, responding to requests generated by
clients
4 Compute-server system provides an interface to client to request services
(i.e., database)

4 File-server system provides interface for clients to store and retrieve files

Operating System Concepts 61 Silberschatz, Galvin and Gagne ©2018


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


4 Registers its service with central lookup
service on network, or

4 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 62 Silberschatz, Galvin and Gagne ©2018


Computing Environments – Cloud Computing

● Delivers computing, storage, apps as a service across a network

● Logical extension of virtualization because it uses virtualization as the


base for it functionality.
● E.g., Amazon EC2 has thousands of servers, millions of virtual
machines, petabytes of storage available across the Internet

● Many types of services ● Many types of structure

● Software as a Service (SaaS) – one or ● Public cloud – available via


more applications available via the Internet Internet to anyone willing to pay

● Platform as a Service (PaaS) – software ● Private cloud – run by a


stack ready for application use via the company for the company’s own
Internet use

● Infrastructure as a Service (IaaS) – ● Hybrid cloud – includes both


servers or storage available over Internet public and private cloud
(i.e., storage available for backup use) components
Operating System Concepts 63 Silberschatz, Galvin and Gagne ©2018
Computing Environments – Real-Time Embedded Systems

● Real-time embedded systems most prevalent form of computers

● Vary considerable, special purpose, limited purpose OS, real-time OS

● Use expanding

● 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 constraints

● Correct operation only if constraints met

Operating System Concepts 65 Silberschatz, Galvin and Gagne ©2018


Free and Open-Source Operating Systems

● Operating systems made available in source-code format rather than


just binary closed-source and proprietary
● Counter to the copy protection and Digital Rights Management
(DRM) movement

● Started by Free Software Foundation (FSF), which has “copyleft”


GNU Public License (GPL) or Lesser GPL (LGPL)
● Free software and open-source software are two different ideas championed by
different groups of people

4 http://gnu.org/philosophy/open-source-misses-the-point.html/

● E.g., GNU/Linux and BSD UNIX (including Darwin, core of Mac OS X)

● Use VMM like VMware Player (Free on Windows), VirtualBox

● Use to run guest operating systems for exploration

Operating System Concepts 66 Silberschatz, Galvin and Gagne ©2018


End of Chapter 1

Operating System Concepts Silberschatz, Galvin and Gagne ©2018

You might also like