helenos in the year helenos in the year of the fire
play

HelenOS in the Year HelenOS in the Year of the Fire Monkey of the - PowerPoint PPT Presentation

HelenOS in the Year HelenOS in the Year of the Fire Monkey of the Fire Monkey http://www.helenos.org/ http://d3s.mff.cuni.cz Jakub Jerm jakub@jermar.eu Martjn Dck decky@d3s.mff.cuni.cz HelenOS in a Nutshell HelenOS in a Nutshell


  1. HelenOS in the Year HelenOS in the Year of the Fire Monkey of the Fire Monkey http://www.helenos.org/ http://d3s.mff.cuni.cz Jakub Jermář jakub@jermar.eu Martjn Děcký decky@d3s.mff.cuni.cz

  2. HelenOS in a Nutshell HelenOS in a Nutshell www.helenos.org open source general-purpose multjplatgorm microkernel multjserver operatjng system designed and implemented from scratch Jakub Jemář, Martjn Děcký , FOSDEM, February 4 th 2017 HelenOS in the Year of the Fire Monkey 2

  3. HelenOS in a Nutshell (2) HelenOS in a Nutshell (2) Open source Our own code is BSD, some 3 rd party components are GPL General-purpose Not biased towards any single deployment Multjplatgorm amd64, arm32, ia32, ia64, mips32, ppc32, sparc64 Microkernel Obviously :) Multjserver User space built from fjne-grained components (microservices) Jakub Jemář, Martjn Děcký , FOSDEM, February 4 th 2017 HelenOS in the Year of the Fire Monkey 3

  4. HelenOS in a Nutshell (3) HelenOS in a Nutshell (3) Designed and implemented from scratch Architecture based on a set of guiding design principles Natjve API designed to refmect the architecture Custom asynchronous IPC combining kernel preemptjve and user space cooperatjve threads Implementjng concepts akin to futures and promises Compatjbility with legacy APIs a non-goal However, providing API adaptatjon layer Features implemented on-demand binutjls, fdlibm, GCC, Jainja, libgmp, libiconv, libisl, libmpc, libmpfr, libpng, MSIM, PCC, Python 2, zlib Jakub Jemář, Martjn Děcký , FOSDEM, February 4 th 2017 HelenOS in the Year of the Fire Monkey 4

  5. HelenOS in a Nutshell (4) HelenOS in a Nutshell (4) concurrent kernel synchro- kernel kernel unit hash nization remote remote console log tests table interface console framebufger console compositor kernel read- ELF tracing wait lifecycle copy- loader support queues vterm bdsh mgmt update clipboard audio client session input output lists, generic cache work trees, resource spinlocks coherency queues human interface bitmaps allocator architecture independent address string misc slab memory slip space nconfsrv routines routines allocator reservation mgmt loopip ethip tcp udp dnsrsrv dhcp cycle & memory link layer transport system memory frame networking protocols time zones management layer protocols information backends allocator mgmt mgmt inetsrv interrupt & hardware syscall resource dispatch mgmt layer thread & TMPFS Location FS task IPC shared architecture mgmt abstraction ISO 9660 UDF MINIX FS global page hierarchical hash table page table dependent support support FAT exFAT ext4 thread task fjle system scheduler capabilities device drivers drivers shared shared platform debugging drivers support hardware device vfs manager platform location interrupt platform I/O debugging logger klog architecture library dependent service handling drivers mgmt support routines naming task loader init service monitor platform atomics bootstrap CPU context memory & routines mgmt switching mgmt barriers kernel microkernel subsystems components Jakub Jemář, Martjn Děcký , FOSDEM, February 4 th 2017 HelenOS in the Year of the Fire Monkey 5

  6. HelenOS in a Nutshell (4) HelenOS in a Nutshell (4) concurrent kernel synchro- kernel kernel unit hash nization remote remote console log tests table interface console framebufger console compositor kernel read- ELF tracing wait lifecycle copy- loader support queues vterm bdsh ~ 337,000 physical lines of code mgmt update clipboard audio client session input output lists, generic cache work trees, resource spinlocks coherency queues human interface bitmaps allocator architecture independent address string misc slab memory ~ 950 person-months worth of efgort slip space nconfsrv routines routines allocator reservation mgmt loopip ethip tcp udp dnsrsrv dhcp cycle & (Basic COCOMO Model) memory link layer transport system memory frame networking protocols time zones management layer protocols information backends allocator mgmt mgmt inetsrv interrupt & hardware syscall resource dispatch mgmt layer 24 master theses, 4 bachelor theses, thread & TMPFS Location FS task IPC shared architecture mgmt abstraction ISO 9660 UDF MINIX FS global page hierarchical hash table page table 3 team projects, 11 GSoC and ESA SOCIS dependent support support FAT exFAT ext4 thread task fjle system scheduler capabilities device drivers drivers shared shared projects, independent contributors platform debugging drivers support hardware device vfs manager platform location interrupt platform I/O debugging logger klog architecture library dependent service handling drivers mgmt support routines naming task loader init service monitor platform atomics bootstrap CPU context memory & routines mgmt switching mgmt barriers kernel microkernel subsystems components Jakub Jemář, Martjn Děcký , FOSDEM, February 4 th 2017 HelenOS in the Year of the Fire Monkey 6

  7. HelenOS Contributors HelenOS Contributors Sean Bartell Adam Hraška Jiří Michalec Jakub Váňa Tomáš Benhák Mohammed Hussain Ondřej Palkovský Radim Vansa Dmitry Bolkhovityanov Adrian Jamróz Vineeth Pillai Laura-Mihaela Vasilescu Sergey Bondari Pavel Jančík Tim Post Ján Veselý Tobias Börtjtz Martjn Jelen Vivek Prakash Jan Záloha Zdeněk Bouška Petr Jerman Frantjšek Princ Jiří Zárevúcky Tomáš Brambora Jakub Jermář Alexander Prutkov Jan Buchar Fan Jinfei Marin Ramesa Lubomír Bulej Jiří Kavalík Pavel Římský Tomáš Bureš Michal Kebrt Oleg Romanenko Josef Čejka Jakub Klama Jefg Rous Aurelio Colosimo Matěj Klonfar Thomas Sanchez Manuele Contj Jan Kolárik Ondřej Šerý Martjn Děcký Michal Konopa Ľuboš Slovák Matúš Dekánek Petr Koupý Antonín Steinhauser Jan Dolejš Stanislav Kozina Petr Štěpán Andrey Erokhin Sandeep Kumar Martjn Sucha Matueo Facchinet Maurizio Lombardi Jiří Svoboda Beniamino Galvani Peter Majer Agnieszka Tabaka Matuhieu Gueguen Jan Mareš Dominik Táborský Zbigniew Halas Julia Medvedeva Jiří Tlach Štepán Henek Lukáš Mejdrech Lenka Trochtová Vojtěch Horký Vojtěch Mencl Petr Tůma Jakub Jemář, Martjn Děcký , FOSDEM, February 4 th 2017 HelenOS in the Year of the Fire Monkey 7

  8. The Case for “Reinventjng the Wheel” The Case for “Reinventjng the Wheel” Clean-slate design Legacy designs and APIs may be broken, insecure, thread-unsafe, morally obsolete However, not saying that all legacy is broken Thinking out of the box No glue code, mandatory adaptatjon layers, franken-components Jakub Jemář, Martjn Děcký , FOSDEM, February 4 th 2017 HelenOS in the Year of the Fire Monkey 8

  9. The Case for “Reinventjng the Wheel” The Case for “Reinventjng the Wheel” Clean-slate design Legacy designs and APIs may be broken, insecure, thread-unsafe, morally obsolete However, not saying that all legacy is broken Thinking out of the box No glue code, mandatory adaptatjon layers, franken-components Jakub Jemář, Martjn Děcký , FOSDEM, February 4 th 2017 HelenOS in the Year of the Fire Monkey 9

  10. The Case for “Reinventjng the Wheel” The Case for “Reinventjng the Wheel” No maintenance burden due to a fork A forked component tends to become a sofuware fossil Security bugs, new features, diverging licenses, toolchain updates, dependencies HelenOS mainline is always fresh It does not age Opposed to HelenOS coastline (a.k.a. the ports tree) design evaluate implement verify Jakub Jemář, Martjn Děcký , FOSDEM, February 4 th 2017 HelenOS in the Year of the Fire Monkey 10

  11. Intermezzo: Cross-pollinatjon Jakub Jemář, Martjn Děcký , FOSDEM, February 4 th 2017 HelenOS in the Year of the Fire Monkey 11

  12. www.microkernel.info

  13. Microkernel Devroom in GSoC Microkernel Devroom in GSoC Proposal for the Microkernel devroom Apply for Google Summer of Code 2017 as an umbrella organizatjon HelenOS experience Accepted in 2011, 2012, 2014 Not accepted in 2009, 2010, 2013, 2015, 2016 But stjll GSoC is extremely valuable to us We don’t know Google’s criteria, but maybe too many operatjng system projects applying An umbrella organizatjon might be a solutjon Positjve feedback from ksys labs, Genode, MINIX3 Jakub Jemář, Martjn Děcký , FOSDEM, February 4 th 2017 HelenOS in the Year of the Fire Monkey 13

  14. Microkernel Devroom in GSoC (2) Microkernel Devroom in GSoC (2) Technicalitjes Applicatjon deadline February 9 th 2017 16:00 UTC Who should fjll in the applicatjon? HelenOS team volunteers (we have some experience) Any input is always welcomed Where should the ideas page be hosted? At microkernel.info (a quasi-neutral locatjon) Don’t hesitate to send us your project topics Should we discourage individual projects from applying? Jakub Jemář, Martjn Děcký , FOSDEM, February 4 th 2017 HelenOS in the Year of the Fire Monkey 14

  15. HelenOS Status Update HelenOS Status Update Since last FOSDEM February 1 st 2016 – February 3 rd 2017 Year of the fjre monkey: February 8 th 2016 – January 27 th 2017 General observatjons Less actjvity than in previous years Contributors distracted by other projects Less students (no GSoC, SOCIS, only two theses running) No essentjal subsystem missing (plateauing) Jakub Jemář, Martjn Děcký , FOSDEM, February 4 th 2017 HelenOS in the Year of the Fire Monkey 15

Recommend


More recommend