Documente Academic
Documente Profesional
Documente Cultură
Libraries
Services
Extensible OSs
I want more
I want different
I could make this work a lot better if I were
only allowed to change the OS code
Spring
Exo-Kernel
Extensions
CS 1550, cs.pitt.edu
Extensions
Libraries
Extensions
CS 1550, cs.pitt.edu
CS 1550, cs.pitt.edu
Extensions
Code
Microkernel architecture
Static
Link-time
Change the modules linked to form an executable image on disk
Load time
Change the modules that are used to form an executable image in
memory
Dynamic
CS 1550, cs.pitt.edu
Extensions
CS 1550, cs.pitt.edu
Extensions
Libraries
Libraries
Language independent
Binary interface
Interpreted languages
CS 1550, cs.pitt.edu
Extensions
CS 1550, cs.pitt.edu
Spring
You must make context switches very fast and efficient, they
happen all the time now
Extensions
CS 1550, cs.pitt.edu
CS 1550, cs.pitt.edu
Extensions
10
Slides on OS Architectures
Exo-Kernels
MIT
Go beyond the multiplexing of the hardware, but looks at
the operating system support
making the kernel just another application library
Arguably much more efficient than a non-extensible OS
allows for application customization of resource
management
CS 1550, cs.pitt.edu
Extensions
11
Monolithic OS structure
Virtual machines
App1 App2 App3
Main
procedure
System calls
I/O instructions
Calls to simulate I/O
Service
routines
VMware
Linux
Bare hardware
13
FreeBSD
VMware
Extensions
Windows NT
Utility
routines
CS 1550, cs.pitt.edu
Linux
VMware
CS 1550, cs.pitt.edu
Extensions
14
Microkernels (client-server)
Client
process
Client
process
Process
server
Terminal
server
File
server
Memory
server
Microkernel
User mode
Kernel mode
CS 1550, cs.pitt.edu
Extensions
15