ECS150 FQ20
March 27, 2020
Lecture Notes 1 What Is An Operating System?
• Operating System Roles
• Referee – Decides upon management of resources
• Illusionist – Provides an abstraction from physical
• Glue – Provides common set of services/features that facilitate sharing
• Resource Sharing – OS as Referee
• Resource Allocation – OS decides how resources should be distributed
• Isolation – OS isolates applications from one another to provide fault isolation
• Communication – OS sets up boundaries for communication between applications
• Masking Limitations – OS as Illusionist
• Virtualization – Provides application with illusion of resources that may not be
physically present
• Virtual Machine (VM) – Virtualization of an entire system
• Guest Operating System – OS running on a VM
• Providing Common Services – OS as Glue
• Common OS Services – Graphics, networking, mass storage, I/O, sensors, etc.
• OS
• Cloud Computing
Design Patterns
• Referee – How are resources allocated among applications?
• Illusionist – What abstractions are provided for computation?
• Glue – What abstractions are provided for distributing application?
• Web Browsers
• Referee – How should the number of scripts/plug-ins be limited?
• Illusionist – How does the browser hide changes in servers?
• Glue – How does the browser achieve portable execution for scripts across
platforms?
• Media Players
• Referee – How should media players sandbox to prevent attacks?
• Illusionist – How should foreground/background be coordinated for
responsiveness?
• Glue – How do media players provide standard API’s for scripts to work across
systems?
• Multiplayer Games
• Referee – How do designers set limits for extensions to ensure level playing field?
• Illusionist – Is there a distinction between objects that are local or remote?
• Glue – How should designers setup their API’s to make it easier to create
extensions?
• Multi-user database systems
• Referee – How should resources be allocated to multiple users?
• Illusionist – How are machine failures masked?
This content is protected and may not be shared, uploaded, or distributed. Lecture Notes 1
1 of 3
ECS150 FQ20 March 27, 2020
• Glue – What are the common services that make application development easier?
• Parallel applications
• Referee – How are tasks mapped to physical cores?
• Illusionist – How are the hardware details hidden?
• Glue – How are concurrent data structures implemented to provide access to
multiple processors?
• The Internet
• Referee – Should all users be treated identically?
• Illusionist – Network structure is hidden from the application.
• Glue – Does the success of the Internet hold any lessons for OSes?
Operating System Evaluation
• Reliability & Availability
• Reliability – The OS does exactly what it is supposed to do
• Availability – The percent of the time the system is usable
• MTTF – Mean Time to Failure
• MTTR – Mean Time to Repair
• Security
• Security – Computer’s operation cannot be compromised by attacker
• Privacy – Data is only accessible to authorized users
• Enforcement – How the OS ensures that only permitted actions occur
• Security Policy – Defines what is permitted
• Portability
• Portability – Abstraction that does not change dependent upon hardware
• AVM – Abstract Virtual Machine, the interface provided to applications for OS,
includes API, memory model, and legal instructions
• API – Application Programming Interface, list of functions/structures available to
application
• HAL – Hardware Abstraction Layer, used internally in the OS to separate portable
and non-portable portions of code
• Performance
• Overhead – Added resource cost of implementing the OS abstraction
• Efficiency – Lack of overhead in abstraction
• Fairness – How “fair” is the distribution of resources among users/applications
• Response Time (or Delay) – How long task takes to run from start to completion
• Throughput – Rate at which systems complete tasks
• Predictability – Consistency of system’s performance metrics
• Adoption
• Network Effect – Value depends on both intrinsic capabilities and number of other
users
• Proprietary System – Control of system is by a single entity
• Open System – Source is public and can be inspected by anyone
This content is protected and may not be shared, uploaded, or distributed. Lecture Notes 1
2 of 3
ECS150 FQ20 March 27, 2020
Operating System Past, Present and Future
• Impact of Technology Trends
• Moore’s Law – Number of transistors available will double every 2 years
• Dennard Scaling – Power density stays constant (voltage & current) scale with
transistor size (ended mid 2000’s)
• Early Operating Systems – Provided general I/O routines thin hardware abstraction
• Multi-User Operating Systems
• Batch Operating System – Works on a queue of tasks (each runs sequentially)
• DMA – Direct Memory Access, hardware that transfers data to/from I/O and memory
• Multitasking (or Multiprogramming) – Multiple programs are loaded into memory
and run concurrently
• Host Operating System (or Virtual Machine Monitor) – exports AVM identical to
underlying hardware
• Timesharing Operating Systems – Provides interactive use with multitasking
• Modern Operating Systems
• Desktop/laptop/netbook – Typically single user running many applications (Windows, OS-X, Linux, etc.)
• Smartphone – Single user, supporting many third-party applications (Android, iOS, etc.)
• Server – Many users, many applications (though may be focused), concerned with reliability, availability and throughput
• Virtual Machines – System capable of running another OS
• Embedded – Often real-time small with limited resources may have no notion of
users
• Server Cluster – Distributed system of servers that provide fault tolerance and
responsiveness at scale
• Future Operating Systems
• Very large-scale data centers – OS coordinating 100 thousand to millions of computers
• Very large-scale multicore systems – OS managing hundreds (or even a thousand) cores
• Ubiquitous portable computing devices – Embedded OS that will be responding to a variety of input (voice, motion, light, etc.)
• Very heterogeneous systems – OS will manage variety of non-uniform hardware resources
• Very large-scale storage – OS will be storing/managing larger amounts of data reliably
This content is protected and may not be shared, uploaded, or distributed. Lecture Notes 1
3 of 3