Upload
christiana-robbins
View
219
Download
0
Tags:
Embed Size (px)
Citation preview
Why new OS needed?
• Great shift in computer system architecture.
• A lot of criticism accumulated in regard to the monolithic operating system design.
• Upcoming era of Internet of Things.
Why new OS needed?
• Great shift in computer system architecture.
• A lot of criticism accumulated in regard to the monolithic operating system design.
• Upcoming era of Internet of Things.
Why new OS needed?
• Great shift in computer system architecture.
• A lot of criticism accumulated in regard to the monolithic operating system design.
• Upcoming era of Internet of Things.
Hardware
• Multicore and manycore computer systems
• Heterogeneous computer systems.
• Tight integration of devices into processor.
• Modularization of computer system design in such a way that each module has its own computation resources.
Hardware
Software
• Monolithic kernel based OS– Lack of flexibility– Lack of reliability– Lack of scalability– Lack of security– Lack of simplicity– Lack of predictability
• Microkernel based OS– Lack of performance (only one actual issue)
Software
• Monolithic kernel based OS– Lack of flexibility– Lack of reliability– Lack of scalability– Lack of security– Lack of simplicity– Lack of predictability
• Microkernel based OS– Lack of performance (only one actual issue)
Software
• Monolithic kernel based OS– Lack of flexibility– Lack of reliability– Lack of scalability– Lack of security– Lack of simplicity– Lack of predictability
• Microkernel based OS– Lack of performance (only one actual issue)
Software
• Monolithic kernel based OS– Lack of flexibility– Lack of reliability– Lack of scalability– Lack of security– Lack of simplicity– Lack of predictability
• Microkernel based OS– Lack of performance (only one actual issue)
OS Design DevelopmentOS Design Development
Application
Kernel
Application
Kernel
Application
Kernel
Monolithic Kernel
First generation Microkernel
Second Generation Microkernel
OS Design Development
Application
Kernel
Application
Kernel
Application
Kernel
Monolithic Kernel
First generation Microkernel
Second Generation Microkernel
Multikernel
Application
OS Design Development
Multikernel OS Structure
CPU C
CPU A CPU B
CPU D
Kenrel C Kernel D
Kernel BKernel A
A B
IKC space
C D
Pool of RAM
Role of the kernel in OS
• Kernel is:– CPU Driver– Tasks execution container
• Kernel functions are:– CPU and memory frame management.– Multitasking and IPC.– Hardware management interface.– Protection.– Inter-Kernel Communication
Role of the kernel in OSRole of the kernel in OS
• Kernel is:– CPU Driver– Tasks execution container
• Kernel functions are:– CPU and memory frame management.– Multitasking and IPC.– Hardware management interface.– Protection.– Inter-Kernel Communication
Role of the kernel in OS
Inter-Kernel Communication
• Asynchronous message passing
• Dynamical scope-based inter-kernel communication network
A B
- Communication Scope
- Communication Agent
• Second generation microkernel as a base
• Moving from static design to dynamic design
• Moving from centralized design to decentralized design
• Moving from one kernel design to many kernels design
Main ideas
• Second generation microkernel as a base
• Moving from static design to dynamic design
• Moving from centralized design to decentralized design
• Moving from one kernel design to many kernels design
Main ideas
• Simplicity of kernel implementation
• More intensive use of CPU caches
• Reducing the amount traffic and locks on the memory bus.
• Ease of portability
• The high level of configurability
• Reducing the synchronization overhead on multiprocessor systems
Benefits
• Improved flexibility/portability
• Full software dynamics
• Improved reliability and fault tolerance
Principal advantages
• Kernel Minimalism (Kernel is CPU driver)
– Small footprint
– Adequate for embedded systems that are highly restricted in resources
• Native support of heterogeneous computer systems
• Native support of UMA and NUMA computer systems
• Possibly, will be useful for systems with advanced FPGA
Flexibility/Portability
• Second generation microkernel as a base
• Dynamics in space
• Short-term dynamics in time
• Long-term dynamics in time
Full software dynamics
• Second generation microkernel as a base
• Distributed system design
• Decentralization
• Native support for functionality doubling
• High-speed system recovery
• No loss of context in case of failure
Reliability/Fault tolerance