a roadmap for the hurd
play

A roadmap for the Hurd? Samuel Thibault 2019 February 3rd 1 The - PowerPoint PPT Presentation

A roadmap for the Hurd? Samuel Thibault 2019 February 3rd 1 The Hurd is all about freedom #0 The freedom to run the program, for any purpose I.e.: Freedom from sysadmin! WTH is fdisk/mke2fs/... hidden in /sbin? I should be


  1. A roadmap for the Hurd? Samuel Thibault 2019 February 3rd 1

  2. The Hurd is all about freedom #0 “The freedom to run the program, for any purpose” I.e.: ● Freedom from sysadmin! ● WTH is fdisk/mke2fs/... hidden in /sbin? ● I should be able to just work with my disk/network access ● Freedom to innovate ● Experimental filesystem, personal work-flow, new kind of process combination,… ● Give a PCI card function to a process ● Freedom from misbehaving programs and drivers 2

  3. Micro-kernel layering e x t 2 f s s h a u t h c p p fj n e t p r o c r o o t u s e r K e r n e l T a s k s , m e m o r y , I P C 15

  4. Micro-kernel layering e x t 2 f s s h a u t h c p p fj n e t p r o c r o o t u s e r K e r n e l T a s k s , m e m o r y , I P C 16

  5. Micro-kernel layering ● Server crash? Not a problem ● “Computer bought the farm” is just an error, not something-of- the-death ● Easier to debug/tune ● Just run gdb, gprof, … ● Can dare crazy things ● The Hurd console has dynamic font support – See chinese support in pseudo-graphical mode (actually pure VGA textmode!) of Debian installer. – And Emojis! ● Kernel only handles Tasks, memory, IPC ● Can virtualize at a very fine grain 17

  6. Hurd possibilities e x t 2 f s s h f t p f s a u t h c p p fj n e t p r o c i s o f s r o o t u s e r K e r n e l 18

  7. Hurd possibilities € s e t t r a n s - c ~ / f t p : / h u r d / h o s t m u x / h u r d / f t p f s / ( j u s t o n c e f o r g o o d ) € s e t t r a n s - a ~ / m n t / h u r d / i s o 9 6 6 0 f s ~ / f t p : / / f t p . g n u . o r g / o l d - g n u / g n u - f 2 / h u r d - F 2 - m a i n . i s o € l s ~ / m n t R E A D M E - o r - F A I L … ● Only downloads what is needed. ● Can be permanently stored in ext2fs € s e t t r a n s ~ / . s i g n a t u r e / h u r d / r u n / u s r / g a m e s / f o r t u n e 19

  8. Current state ● Quite stable ● Have not reinstalled boxes for a decade ● Debian buildds keep building packages, no hang after weeks! ● ~75% of Debian archive builds out of tree ● XFCE, gnome, KDE, … ● Support merged upstream: gcc, glibc, llvm ● Ongoing: go, rust ● Debian distribution ● GuixSD/Arch ongoing 20

  9. A roadmap? ● Many many existing bits, just needs polishing ● The tail of “90% support done in 10% time, 10% support done in 90%time” ● But would be so cool to have really working! ● Many ongoing project ideas ● Would welcome help ● Many crazy ideas ● Would welcome experimenting 21

  10. Bits to polish ● httpfs/ftpfs ● cd /http://ftp.debian.org/debian/pool/main/h/hurd ● dpkg -iO *20181030-2*.deb ● cd /ftp://ftp.gnu.org/ ● find . -name emacs\* 22

  11. Bits to polish ● Namespace-based translators ● cd software.tar.gz,,/ ● cat README ● cd disk.img,,part1,,ext2fs/ 23

  12. Bits to polish ● mboxfs ● cd mbox,,/ ● mkdir that_man ● mv $(grep -l that@mail *) that_man 24

  13. Bits to polish ● Xmlfs ● cd index.html,,/ ● cd html/body/ ● for i in $(find . -name h1); do cat $i/.text ; done 25

  14. Bits to polish ● High-level language bindings for translators ● Perl (pith) ● Lisp ● Java ● Python 26

  15. Bits to polish ● Some more in hurdextras/ ● jfs ● notice ● run ● unionfs 27

  16. Ongoing work, welcomes help ● PCI arbiter ● Safe concurrent access to PCI config space ● Seed FOSDEM’18 talk Hurd’s PCI arbiter ● Could use an IO-MMU to make it safe ● ACPI translator ● Provide access to ACPI operations – System shutdown… ● Rump translator (and libguestfs?) ● Hardware support, filesystems support ● See FOSDEM’16 talk Hurd, Rump kernel, sound, and USB ● 64bit kernel support ● Then on 64bit userland support ● SMP support 28

  17. No driver in the kernel? ● Minimal kernel support ● Tasks, memory, IPC ● But also, ATM ● Disk drivers ● We moved network drivers to userspace thanks to netdde ● See FOSDEM’14 talk GNU/Hurd DDE userland device drivers ● Move disk drivers? 29

  18. Moving disk drivers to userspace? ● What’s the issue? ● Booting the whole stuff :) ● One more grub-loaded module 30

  19. Hurd boot e x t 2 f s e x e c r o o t K e r n e l T a s k s , m e m o r y , I P C , d i s k 31

  20. Hurd boot s t a r t u p p r o c a u t h e x t 2 f s e x e c r o o t K e r n e l T a s k s , m e m o r y , I P C , d i s k 32

  21. Hurd boot i n i t s s t t a a r r t t u u p p p p r r o o c c a a u u t t h h e e x x t t 2 2 f f s s e e x x e e c c r r o o o o t t K K e e r r n n e e l l T T a a s s k k s s , , m m e e m m o o r r y y , , I I P P C C , , d d i i s s k k 33

  22. Hurd boot n e t d d e p fj n e t i n i t s s t t a a r r t t u u p p p p r r o o c c a a u u t t h h e e x x t t 2 2 f f s s e e x x e e c c r r o o o o t t K K e e r r n n e e l l T T a a s s k k s s , , m m e e m m o o r r y y , , I I P P C C , , d d i i s s k k 34

  23. Hurd boot, userland disk e x t 2 f s e x e c r o o t d i s k K e r n e l T a s k s , m e m o r y , I P C 35

  24. Hurd boot, userland disk s t a r t u p p r o c a u t h e e x x t t 2 2 f f s s e e x x e e c c r r o o o o t t d d i i s s k k K K e e r r n n e e l l T T a a s s k k s s , , m m e e m m o o r r y y , , I I P P C C 36

  25. Hurd boot, userland disk i n i t s t a r t u p p r o c a u t h e e x x t t 2 2 f f s s e e x x e e c c r r o o o o t t d d i i s s k k K K e e r r n n e e l l T T a a s s k k s s , , m m e e m m o o r r y y , , I I P P C C 37

  26. Hurd boot, userland disk n e t d d e p fj n e t i n i t s t a r t u p p r o c a u t h e e x x t t 2 2 f f s s e e x x e e c c r r o o o o t t d d i i s s k k K K e e r r n n e e l l T T a a s s k k s s , , m m e e m m o o r r y y , , I I P P C C 38

  27. Conclusion ● A lot of nice things to achieve in GNU/Hurd ● Really finish them – It’s fun to hack something – It’s better to have it finished :) ● Making a microkernel-based OS a real thing is hard ● GNU/Hurd is almost there with Debian/Guix/Arch – Just needs your help :) 124

  28. Thanks! ● For listening ● And to the people working on all this ● http://hurd.gnu.org/ ● http://www.debian.org/ports/hurd/ ● http://people.debian.org/~mbanck/debian-hurd.pdf ● The increasing irrelevance of IPC performance for microkernel-based Operating Systems http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.37.9653&rep=rep1&type=pdf 125

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend