developing a multiserver operating system
play

Developing a Multiserver Operating System Jakub Jerm February 3, - PowerPoint PPT Presentation

Developing a Multiserver Operating System Jakub Jerm February 3, 2010 UINX.CZ What is a Multiserver OS? What is a Multiserver OS? microkernel-based OS, which is... What is a Multiserver OS? microkernel-based OS, which is...


  1. Developing a Multiserver Operating System Jakub Jermář February 3, 2010 UINX.CZ

  2. What is a Multiserver OS?

  3. What is a Multiserver OS? ● microkernel-based OS, which is...

  4. What is a Multiserver OS? ● microkernel-based OS, which is... ● ...multiserver

  5. What is a Multiserver OS? ● microkernel-based OS, which is... ● ...multiserver – composed of multiple server tasks

  6. What is a Multiserver OS? ● microkernel-based OS, app app app which is... task task task ● ...multiserver app app app task task task – composed of multiple server tasks server server server task task task server server server task task task microkernel

  7. What is a Multiserver OS? ● microkernel-based OS, app app app which is... task task task ● ...multiserver app app app task task task – composed of multiple server tasks server server server task task task ● not every microkernel- server server server based OS is multiserver task task task microkernel

  8. What is a Multiserver OS? ● microkernel-based OS, app app app which is... task task task ● ...multiserver app app app task task task – composed of multiple server tasks server server server task task task ● not every microkernel- server server server based OS is multiserver task task task ● not every OS is microkernel microkernel-based

  9. OS Classification by Architecture

  10. OS Classification by Architecture app app app task task task app app app task task task server server server task task task server server server task task task microkernel multiserver- microkernel

  11. OS Classification by Architecture app app app app app app task task task task task task app app app app app app task task task task task task server server server task task task system task server server server task task task microkernel microkernel multiserver- microkernel with microkernel single system task

  12. OS Classification by Architecture app app app app app app app app app task task task task task task task task task app app app app app app app app app task task task task task task task task task server server server task task task system task server server server kernel task task task microkernel microkernel multiserver- microkernel with monolithic kernel microkernel single system task

  13. The Multiserver Advantage app app app app app app app app app task task task task task task task task task app app app app app app app app app task task task task task task task task task server server server task task task system task server server server kernel task task task microkernel microkernel multiserver- microkernel with monolithic kernel microkernel single system task

  14. The Multiserver Advantage app app app app app app app app app task task task task task task task task task app app app app app app app app app task task task task task task task task task server server server task task task system task server server server kernel task task task microkernel microkernel multiserver- microkernel with monolithic kernel microkernel single system task

  15. The Multiserver Advantage app app app app app app task task task task task task app app app app app app task task task task task task server server server task task task system task server server server task task task microkernel microkernel multiserver- microkernel with monolithic kernel microkernel single system task

  16. The Multiserver Advantage app app app app app app task task task task task task app app app app app app task task task task task task server server server task task task system task server server server task task task microkernel microkernel multiserver- microkernel with monolithic kernel microkernel single system task

  17. The Multiserver Advantage app app app task task task app app app task task task server server server task task task server server server task task task microkernel microkernel multiserver- microkernel with monolithic kernel microkernel single system task

  18. The Multiserver Advantage app app app task task task app app app task task task server server server task task task server server server task task task microkernel microkernel multiserver- microkernel with monolithic kernel microkernel single system task

  19. The Multiserver Advantage app app task task app app app task task task server task server server server task task task microkernel microkernel multiserver- microkernel with monolithic kernel microkernel single system task

  20. Pros and Cons Overview

  21. Pros and Cons Overview Pros ● Improved robustness and fault isolation ● Clean interface between servers ● Simpler components ● Flexibility in connecting components

  22. Pros and Cons Overview Pros Cons ● Improved robustness ● Worse performance and fault isolation ● No cross-layer ● Clean interface optimizations between servers ● Simpler components ● Flexibility in connecting components

  23. Multiserver-Microkernel Examples

  24. Multiserver-Microkernel Examples Hurd http://hurd.gnu.org

  25. Multiserver-Microkernel Examples Hurd MINIX 3 http://hurd.gnu.org http://minix3.org

  26. Multiserver-Microkernel Examples Hurd MINIX 3 HelenOS http://hurd.gnu.org http://minix3.org http://helenos.org

  27. Simplified HelenOS Architecture

  28. Simplified HelenOS Architecture microkernel SPARTAN

  29. Simplified HelenOS Architecture MBR partition GUID partition GUID partition file backed Clipboard driver driver driver block device service RAM disk Keyboard DEVFS FAT TMPFS driver Service ATA disk Char mouse Device mapper VFS i8042 driver driver driver microkernel Framebuffer Naming service Task monitor Console server SPARTAN service

  30. Simplified HelenOS Architecture Ethernet nildummy TCP UDP dp8390 loopback ICMP IP ARP driver driver MBR partition GUID partition GUID partition file backed Network packet Clipboard driver driver driver block device server service RAM disk Keyboard DEVFS FAT TMPFS driver Service ATA disk Char mouse Device mapper VFS i8042 driver driver driver microkernel Framebuffer Naming service Task monitor Console server SPARTAN service

  31. Simplified HelenOS Architecture Application Ethernet nildummy TCP UDP dp8390 loopback ICMP IP ARP driver driver MBR partition GUID partition GUID partition file backed Network packet Clipboard driver driver driver block device server service RAM disk Keyboard DEVFS FAT TMPFS driver Service ATA disk Char mouse Device mapper VFS i8042 driver driver driver microkernel Framebuffer Naming service Task monitor Console server SPARTAN service

  32. Making it all hold together

  33. Making it all hold together ● The previous slide shows 28 independent server tasks running at one time

  34. Making it all hold together ● The previous slide shows 28 independent server tasks running at one time ● Some servers may even run in multiple instances

  35. Making it all hold together ● The previous slide shows 28 independent server tasks running at one time ● Some servers may even run in multiple instances ● All servers provide some services to other server tasks or applications; most servers require services from other servers

  36. Making it all hold together ● The previous slide shows 28 independent server tasks running at one time ● Some servers may even run in multiple instances ● All servers provide some services to other server tasks or applications; most servers require services from other servers ● Together these server tasks provide the services of the operating system

  37. Making it all hold together (II) ● So how do these tasks communicate?

  38. Making it all hold together (II) ● So how do these tasks communicate? ● Both the monolithic OS and the single system task microkernel OS deal only with one address space

  39. Making it all hold together (II) ● So how do these tasks communicate? ● Both the monolithic OS and the single system task microkernel OS deal only with one address space ● In a multiserver OS, the servers are in separate address spaces

  40. Making it all hold together (II) ● So how do these tasks communicate? ● Both the monolithic OS and the single system task microkernel OS deal only with one address space ● In a multiserver OS, the servers are in separate address spaces ● Message passing provided by the kernel – IPC

  41. HelenOS IPC

  42. HelenOS IPC ● Message passing

  43. HelenOS IPC ● Message passing – unusual metaphor of making phone calls and leaving a message in the answerbox

  44. HelenOS IPC ● Message passing – unusual metaphor of making phone calls and leaving a message in the answerbox ● Asynchronous

  45. HelenOS IPC ● Message passing – unusual metaphor of making phone calls and leaving a message in the answerbox ● Asynchronous ● Number of communicating tasks can be 1, 2 or N

Recommend


More recommend