OS Note (1)

• Operating systems provide a virtual machine abstraction to handle diverse hardware
• Operating systems coordinate resources and protect users from each other
• Operating systems simplify application development by providing standard services
• Operating systems can provide an array of fault containment, fault tolera

Virture machine

1. Software emulation of an abstract machine

– Give programs illusion they own the machine
– Make it look like hardware has features you want

2. Two types of “Virtual Machine”s

– Process VM: supports the execution of a single program; this functionality typically provided by OS
– System VM: supports the execution of an entire OS and its applications (e.g., VMWare Fusion, Virtual box,Parallels Desktop, Xen)

3. Process VM

• Programming simplicity
​ – Each process thinks it has all memory/CPU time
​ – Each process thinks it owns all devices
​ – Different devices appear to have same high levelinterface
​ – Device interfaces more powerful than raw hardware
​ » Bitmapped display  windowing system
​ » Ethernet card  reliable, ordered, networking (TCP/IP)
• Fault Isolation
​ – Processes unable to directly impact other processes
​ – Bugs cannot crash whole machine
• Protection and Portability
​ – Java interface safe and stable across many platforms

What is an operating system?

• Special layer of software that provides application
software access to hardware resources
​ – Convenient abstraction of complex hardware devices
​ – Protected access to shared resources
​ – Security and authentication
​ – Communication amongst logical entities

What is an Operating System,… Really?

• Most Likely:
​ – Memory Management
​ – I/O Management
​ – CPU Scheduling
​ – Communications? (Does Email belong in OS?)
​ – Multitasking/multiprogramming?
• What about?
​ – File System?
​ – Multimedia Support?
​ – User Interface?
​ – Internet Browser?

0%