HelenOS: State of                the Union 2012http://d3s.mff.cuni.cz                                         Martin Děcký...
Whats New?                                               th             Since October 11 2011                    384 days ...
Whats New in 0.5.0?            Hardware support resurrection                   IA-64 (on real hardware, non-SMP only)     ...
Whats New in 0.5.0? (2)             Integration of various development branches                    USB support            ...
Whats New in 0.5.0? (3)             Integration of various development branches                    File systems           ...
Whats New in 0.5.0? (4)             Infrastructure improvements                    Location service                       ...
Whats New in 0.5.0? (5)            Miscellaneous and experimental                  SATA (AHCI) support                  An...
Whats New Since the Release?             Graphical User Interface                    Graphics drivers as 1st class DDF cit...
Whats New Since the Release? (2)            Structured binary data manipulation                   Bithenge framework      ...
Whats New Since the Release? (3)                                               DemoMartin Děcký, D3S Seminar, October 30th...
History 2005 – 2012           7000           6000           5000           4000 Commits           3000           2000     ...
History 2005 – 2012 (2)        350000        300000        250000        200000 SLOC        150000        100000        50...
Whats Cooking             IPC interfaces and ports                    Replacement for duck typing and “mixins”            ...
Whats Cooking (2)             Go support             FUSE support             VFS 2.0                    Capability-based ...
Whats Cooking (3)             Xen revival                    HelenOS running as a Xen domain                    HelenOS ac...
Whats Cooking (4)            Self-hosting                   Port of GCC                   Port of Python                  ...
Social Agenda            FOSDEM 2012                   February 4th – 5th 2012, Brussels, Belgium                   Univer...
FOSDEM 2012Martin Děcký, D3S Seminar, October 30th 2012   HelenOS: State of the Union 2012   18
FOSDEM 2012 (2)                                               PhotosMartin Děcký, D3S Seminar, October 30th 2012    HelenO...
Google Summer of Code 2012         4th attempt, 2nd successful (in a row)             http://helenos.org/gsoc2012         ...
GSoC Mentor Summit 2012             Unconference                    October 20th – 21st 2012                    Googleplex...
GSoC Mentor Summit 2012 (2)       Photo by Robin SmidsrødMartin Děcký, D3S Seminar, October 30th 2012   HelenOS: State of ...
GSoC Mentor Summit 2012 (3)       Photo by Robin SmidsrødMartin Děcký, D3S Seminar, October 30th 2012   HelenOS: State of ...
Bithenge            Aim                  Extensible declarative way to describe binary formats                         Bin...
Bithenge (2)  transform u8 = uint8;  transform u16 = uint16le;  transform u32 = uint32le;  transform fat_attributes = stru...
Bithenge (3)  transform file_data(data, bits, fat, cluster_size, start) = (in.data) <- struct {      .cluster <- (data[(st...
Possible Application of HelenOS             Cooperation with CZ.NIC Labs                    IPv6 support in HelenOS       ...
HelenOS PhD Thesis                                                 Architecture and                                       ...
Q&A     www.helenos.orgMartin Děcký, D3S Seminar, October 30th 2012   HelenOS: State of the Union 2012   29
HelenOS: State of the Union 2012
Upcoming SlideShare
Loading in …5
×

HelenOS: State of the Union 2012

477 views
394 views

Published on

An annual status report about HelenOS development.

Published in: Software
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
477
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

HelenOS: State of the Union 2012

  1. 1. HelenOS: State of the Union 2012http://d3s.mff.cuni.cz Martin Děcký decky@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics faculty of mathematics and physics
  2. 2. Whats New? th Since October 11 2011 384 days (1.05 years) ago Latest release 0.5.0 (Fajtl) August 9th 2012 The biggest release ever (15 months of development) On track to 0.5.1 Minor release, but important improvements planned Expected in Q2 2013Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 2
  3. 3. Whats New in 0.5.0? Hardware support resurrection IA-64 (on real hardware, non-SMP only) PowerPC Kernel memory management improvements Memory reservations Prevents memory overcommitting if not desired Kernel non-identity mapping support Support for accessing any physical memory from the kernelMartin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 3
  4. 4. Whats New in 0.5.0? (2) Integration of various development branches USB support UHCI, OHCI (USB 1.1) USB HID, USB Mass Storage Networking improvements Intel PRO/1000 (E1000) device driver Realtek RTL8139 device driver NIC driver framework Rewritten TCP/IP stackMartin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 4
  5. 5. Whats New in 0.5.0? (3) Integration of various development branches File systems Read-only ext2 driver Read-only ISO 9660 driver Read/write support for FAT12, FAT16, FAT32 and exFAT Including LFN extension Read/write support for MINIX FS Migration path from MINIX 3 :-)Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 5
  6. 6. Whats New in 0.5.0? (4) Infrastructure improvements Location service Improved replacement for the Device mapper Service names (instances) Service categories (classes) Towards self-hosting Assembler and linker via GNU Binutils C compiler via PCC Virtual machine via MSIMMartin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 6
  7. 7. Whats New in 0.5.0? (5) Miscellaneous and experimental SATA (AHCI) support Anticipated device removal Multiple file system driver instances Web server can actually serve files from file system Remote network console Dynamic linking production-grade on IA-32 GRUB 2 as preferred boot loader (on IA-32 and AMD64)Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 7
  8. 8. Whats New Since the Release? Graphical User Interface Graphics drivers as 1st class DDF citizens Proposal for hardware acceleration API Display compositor GUI widgets library File systems Read/write ext4 driver Partial read/write UDF driverMartin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 8
  9. 9. Whats New Since the Release? (2) Structured binary data manipulation Bithenge framework IPC improvements Avoiding bookkeeping of unimportant messages Scalable concurrent hash table User space part merged so far Real time clock driver CMOS based (IA-32)Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 9
  10. 10. Whats New Since the Release? (3) DemoMartin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 10
  11. 11. History 2005 – 2012 7000 6000 5000 4000 Commits 3000 2000 1000 0 2005-06 2005-12 2006-06 2006-12 2007-06 2007-12 2008-06 2008-12 2009-06 2009-12 2010-06 2010-12 2011-06 2011-12 2012-06 2005-03 2005-09 2006-03 2006-09 2007-03 2007-09 2008-03 2008-09 2009-03 2009-09 2010-03 2010-09 2011-03 2011-09 2012-03 2012-09 DateMartin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 11
  12. 12. History 2005 – 2012 (2) 350000 300000 250000 200000 SLOC 150000 100000 50000 0 2005-06 2005-12 2006-06 2006-12 2007-06 2007-12 2008-06 2008-12 2009-06 2009-12 2010-06 2010-12 2011-06 2011-12 2012-06 2005-03 2005-09 2006-03 2006-09 2007-03 2007-09 2008-03 2008-09 2009-03 2009-09 2010-03 2010-09 2011-03 2011-09 2012-03 2012-09 DateMartin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 12
  13. 13. Whats Cooking IPC interfaces and ports Replacement for duck typing and “mixins” Stronger run-time type checking Connection to ports mediated by naming services Read-copy-update Two parallel efforts (AP-RCU, A-RCU) Scalable concurrent data structures (hash table)Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 13
  14. 14. Whats Cooking (2) Go support FUSE support VFS 2.0 Capability-based private file system namespaces BeagleBoard, Raspberry Pi Audio stack Low-level drivers and a sound serverMartin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 14
  15. 15. Whats Cooking (3) Xen revival HelenOS running as a Xen domain HelenOS acting as Xen hypervisor System services manager and logger Think of cgroups, systemd and journald HelenOS installerMartin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 15
  16. 16. Whats Cooking (4) Self-hosting Port of GCC Port of Python Python-based build infrastructure (waf) Continuous integration and testing Based on Hudson (but with a twist) Networking features DNS, DHCP, etc.Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 16
  17. 17. Social Agenda FOSDEM 2012 February 4th – 5th 2012, Brussels, Belgium Université libre de Bruxelles Jakub Jermář chaired the Microkernel OS Devroom Participation of HelenOS, Genode Labs, NOVA, MINIX, Hurd FOSDEM 2013 February 2nd – 3rd 2013, Brussels, Belgium Genode Labs is about to chair the Microkernel and Component-based OS DevroomMartin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 17
  18. 18. FOSDEM 2012Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 18
  19. 19. FOSDEM 2012 (2) PhotosMartin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 19
  20. 20. Google Summer of Code 2012 4th attempt, 2nd successful (in a row) http://helenos.org/gsoc2012 17 student proposals Vivek Prakash: Port GNU Compiler Collection (GCC) to HelenOS Indian Institute of Technology Roorkee, India Mentored by Jiří Svoboda Sean Bartell: Structured binary data tools North Carolina State University at Raleigh, USA Mentored by Vojtěch Horký Adam Hraška: Resizeable, scalable, concurrent hash table Charles University in Prague, Czech Republic Mentored by Jakub Jermář Julia G. Medvedeva: UDF file system server Volgograd State Technical University, Russia Mentored by Martin Děcký Tobias Börtitz: HelenOS as a Genode platform Dresden University of Applied Sciences, Germany Mentored by Stefan KalkowskiMartin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 20
  21. 21. GSoC Mentor Summit 2012 Unconference October 20th – 21st 2012 Googleplex, Mountain View, California Attended by Vojtěch Horký and Jakub Jermář Minority OS minisummitMartin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 21
  22. 22. GSoC Mentor Summit 2012 (2) Photo by Robin SmidsrødMartin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 22
  23. 23. GSoC Mentor Summit 2012 (3) Photo by Robin SmidsrødMartin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 23
  24. 24. Bithenge Aim Extensible declarative way to describe binary formats Binary files (ELF headers, DWARF debugging information), on- disk file system structures, network packets Components Declarative DSL for describing binary formats API for accessing data based on the DSL User front-ends (editors)Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 24
  25. 25. Bithenge (2) transform u8 = uint8; transform u16 = uint16le; transform u32 = uint32le; transform fat_attributes = struct { .read_only <- bit; .hidden <- bit; .system <- bit; .volume_label <- bit; .subdirectory <- bit; .archive <- bit; .device <- bit; .reserved <- bit; } <- bits_le <- known_length(1);Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 25
  26. 26. Bithenge (3) transform file_data(data, bits, fat, cluster_size, start) = (in.data) <- struct { .cluster <- (data[(start-2)*cluster_size, cluster_size]); .last_cluster_number <- switch (bits) { 12: (488); # 0x00000ff8 16: (65528); # 0x0000fff8 32: (268435448); # 0x0ffffff8 }; .next <- (fat[start]); if (.next == 0 || .next >= .last_cluster_number) { .data <- (.cluster); } else { .rest <- file_data(data, bits, fat, cluster_size, .next) <- known_length(0); .data <- (.cluster ++ .rest); } };Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 26
  27. 27. Possible Application of HelenOS Cooperation with CZ.NIC Labs IPv6 support in HelenOS BIRD routing daemon for HelenOS http://bird.network.cz/ Knot DNS server for HelenOS http://www.knot-dns.cz/Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 27
  28. 28. HelenOS PhD Thesis Architecture and behavior specification Semantic information Extra-functional in source code properties Architecture models Work in ProgressMartin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 28
  29. 29. Q&A www.helenos.orgMartin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 29

×