View
231
Download
0
Category
Tags:
Preview:
Citation preview
Examples of Operating Systems.
What is an operating system?
Windows 95Windows XP
Windows Vista
Unix
MS-DOS
Acorn MOS
Mac OS
OSX
Linux
Android (open handset alliance)
Symbian
Windows Mobile
What is an operating system?
• What does it do? • Process Management• Memory management• I/O management• Support functions• Networking• User interface• Security
Implementation
Where does it fit in?
Application
Instruction Level
Program
Operating System
Micro architecture
Instruction Set Architecture
Operating System Goals
• Efficiency
• Throughput
• Functionality
• Robustness
• Extensibility
• Portability
• Security
• Interactivity
Concepts
• Architectures of Operating Systems– Monolithic– Layered– Kernel– Microkernel– Virtual Machines
• Increasing Efficiency– Multi program– Multi User
Monolithic Architecture
• Monolithic Architecture—the early operating systems
– Every component is contained in the kernel, can directly communicate with other components
Monolithic Architecture
Computer Hardware
OS Layer
User SpaceApplications
System Calls
Monolithic Architecture
• Pros– Highly efficient – by direct intercommunication
between components
• Cons– difficult to develop– difficult to isolate the source of bugs and other
errors • particularly susceptible to damage from malicious
code
Layered Architecture• Layered OS structure:
– Group components that perform similar functions into layers. Each layer communicates only with neighbour layer
Computer Hardware
Kernel Space
User Space
Layer 3
Layer 2
Layer 1
Layer 0
Layered Architecture
• Pros– It provides good modularity – helps simplify
the development of an OS
• Cons– Less efficient– Complex design – each functionality has to be
divided into parts to fit into different layers.
Kernel Based Architecture
• It separates the machine-independent parts from the machine-dependent parts– Kernel is machine-dependent. It contains the
basic component of OS.
Computer Hardware
Operating System
User Space
OS Kernel
Kernel Based Architecture
• Pros– Better portability—Kernel encloses all the
machine-dependent code
• Cons– Suffers similar problem as in layered OSs
Microkernel Based Architecture
• As OS expanded, the kernel became large and difficult to manage– Microkernel approach removes all
nonessential components from the kernel and implementing them as system and user-level programs.
• Result: A smaller kernel
Microkernel Based Architecture
Computer Hardware
Operating System
User Space
Microkernel
Microkernel Based Architecture
• Pros– Enhance portability, extensibility, reliability
and security
• Cons– Less efficient—increased system function
overhead
Virtual Machines
• Can create the illusion that there are more than one separate machines.
Computer Hardware
Virtual machine implementation
Kernel
User Space
VM1
Kernel
User Space
VM1
User Space
Host Operating System
Increasing Efficiency
• Multiprogramming– Try to Keep the CPU busy– CPU operations take less
time than I/O– When a process waits for
I/O operation, OS swaps to another process.
OperatingSystem
Job 1
Job 2
Job 3
Multi User
– Logical extension of Multiprogramming
Recommended