SlideShare a Scribd company logo
HelenOS: State of
                the Union 2012
http://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
What's 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 2013



Martin Děcký, D3S Seminar, October 30th 2012   HelenOS: State of the Union 2012   2
What's 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 kernel




Martin Děcký, D3S Seminar, October 30th 2012   HelenOS: State of the Union 2012       3
What's 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 stack


Martin Děcký, D3S Seminar, October 30th 2012   HelenOS: State of the Union 2012   4
What's 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
What's 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 MSIM


Martin Děcký, D3S Seminar, October 30th 2012   HelenOS: State of the Union 2012   6
What's 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
What's 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 driver

Martin Děcký, D3S Seminar, October 30th 2012   HelenOS: State of the Union 2012   8
What's 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
What's New Since the Release? (3)




                                               Demo

Martin Děcký, D3S Seminar, October 30th 2012   HelenOS: State of the Union 2012   10
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

                                                                          Date




Martin Děcký, D3S Seminar, October 30th 2012                 HelenOS: State of the Union 2012                                                  11
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

                                                                       Date




Martin Děcký, D3S Seminar, October 30th 2012              HelenOS: State of the Union 2012                                                    12
What's 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
What's 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 server


Martin Děcký, D3S Seminar, October 30th 2012   HelenOS: State of the Union 2012   14
What's 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 installer




Martin Děcký, D3S Seminar, October 30th 2012   HelenOS: State of the Union 2012   15
What's 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
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 Devroom


Martin Děcký, D3S Seminar, October 30th 2012   HelenOS: State of the Union 2012     17
FOSDEM 2012




Martin Děcký, D3S Seminar, October 30th 2012   HelenOS: State of the Union 2012   18
FOSDEM 2012 (2)




                                               Photos

Martin Děcký, D3S Seminar, October 30th 2012    HelenOS: State of the Union 2012   19
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 Kalkowski




Martin Děcký, D3S Seminar, October 30th 2012               HelenOS: State of the Union 2012   20
GSoC Mentor Summit 2012

             Unconference
                    October 20th – 21st 2012
                    Googleplex, Mountain View, California
                    Attended by Vojtěch Horký and Jakub Jermář
                    Minority OS minisummit




Martin Děcký, D3S Seminar, October 30th 2012   HelenOS: State of the Union 2012   21
GSoC Mentor Summit 2012 (2)




       Photo by Robin Smidsrød
Martin Děcký, D3S Seminar, October 30th 2012   HelenOS: State of the Union 2012   22
GSoC Mentor Summit 2012 (3)




       Photo by Robin Smidsrød
Martin Děcký, D3S Seminar, October 30th 2012   HelenOS: State of the Union 2012   23
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
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
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
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
HelenOS PhD Thesis


                                                 Architecture and
                                               behavior specification

                          Semantic information                                         Extra-functional
                             in source code                                               properties

                                                               Architecture
                                                                 models




               Work in Progress
Martin Děcký, D3S Seminar, October 30th 2012        HelenOS: State of the Union 2012                      28
Q&A
     www.helenos.org

Martin Děcký, D3S Seminar, October 30th 2012   HelenOS: State of the Union 2012   29
HelenOS: State of the Union 2012

More Related Content

PDF
FOSDEM 2014: Read-Copy-Update for HelenOS
PDF
PDF
What Could Microkernels Learn from Monolithic Kernels (and Vice Versa)
PPT
Solaris
PDF
Porting HelenOS to RISC-V
PDF
Nízkoúrovňové programování
PDF
FOSDEM 2013: Operating Systems Hot Topics
PPTX
Introduction to Operating system and graduate
FOSDEM 2014: Read-Copy-Update for HelenOS
What Could Microkernels Learn from Monolithic Kernels (and Vice Versa)
Solaris
Porting HelenOS to RISC-V
Nízkoúrovňové programování
FOSDEM 2013: Operating Systems Hot Topics
Introduction to Operating system and graduate

Similar to HelenOS: State of the Union 2012 (20)

PDF
HelenOS: 20 Years of History, 20 Years of Future Vision
PDF
유닉스_헤리티지_handouts_v3.pdf
PDF
Linux-Internals-and-Networking
PDF
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
PDF
linux_internals_2.3 (1).pdf àaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
PDF
Unikernels, Multikernels, Virtual Machine-based Kernels
PDF
حرکت شتابدار به سوی دنیای Embedded System و نقش نرم‌افزارهای آزاد بر آن
PPTX
System structure
DOCX
Discussion # 6Operating-System StructureA system as large an.docx
PDF
Lessons Learned from Porting HelenOS to RISC-V
PDF
A Survey Embedded Systems Supporting By Different Operating Systems.pdf
PDF
DConf 2013 Opening Keynote by Walter Bright
PDF
2024 in Microkernels (a year in review lightning talk)
PPT
Microkernel-based operating system development
ODP
Linux26 New Features
PDF
How SteamOS is contributing to the Linux ecosystem
PPTX
13-kernels operating system introduction
PDF
os_1.pdf
PDF
Faults inside System Software
PPT
operating system structure part-ii for system calls
HelenOS: 20 Years of History, 20 Years of Future Vision
유닉스_헤리티지_handouts_v3.pdf
Linux-Internals-and-Networking
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
linux_internals_2.3 (1).pdf àaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Unikernels, Multikernels, Virtual Machine-based Kernels
حرکت شتابدار به سوی دنیای Embedded System و نقش نرم‌افزارهای آزاد بر آن
System structure
Discussion # 6Operating-System StructureA system as large an.docx
Lessons Learned from Porting HelenOS to RISC-V
A Survey Embedded Systems Supporting By Different Operating Systems.pdf
DConf 2013 Opening Keynote by Walter Bright
2024 in Microkernels (a year in review lightning talk)
Microkernel-based operating system development
Linux26 New Features
How SteamOS is contributing to the Linux ecosystem
13-kernels operating system introduction
os_1.pdf
Faults inside System Software
operating system structure part-ii for system calls
Ad

Recently uploaded (20)

PDF
Nekopoi APK 2025 free lastest update
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PDF
AutoCAD Professional Crack 2025 With License Key
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
assetexplorer- product-overview - presentation
PDF
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PPTX
L1 - Introduction to python Backend.pptx
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Autodesk AutoCAD Crack Free Download 2025
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PDF
medical staffing services at VALiNTRY
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Complete Guide to Website Development in Malaysia for SMEs
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Nekopoi APK 2025 free lastest update
Why Generative AI is the Future of Content, Code & Creativity?
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
AutoCAD Professional Crack 2025 With License Key
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
assetexplorer- product-overview - presentation
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025
Monitoring Stack: Grafana, Loki & Promtail
Oracle Fusion HCM Cloud Demo for Beginners
L1 - Introduction to python Backend.pptx
Design an Analysis of Algorithms I-SECS-1021-03
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Odoo Companies in India – Driving Business Transformation.pdf
How to Choose the Right IT Partner for Your Business in Malaysia
Autodesk AutoCAD Crack Free Download 2025
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
medical staffing services at VALiNTRY
Wondershare Filmora 15 Crack With Activation Key [2025
Complete Guide to Website Development in Malaysia for SMEs
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Ad

HelenOS: State of the Union 2012

  • 1. HelenOS: State of the Union 2012 http://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. What's 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 2013 Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 2
  • 3. What's 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 kernel Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 3
  • 4. What's 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 stack Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 4
  • 5. What's 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. What's 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 MSIM Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 6
  • 7. What's 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. What's 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 driver Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 8
  • 9. What's 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. What's New Since the Release? (3) Demo Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 10
  • 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 Date Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 11
  • 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 Date Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 12
  • 13. What's 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. What's 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 server Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 14
  • 15. What's 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 installer Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 15
  • 16. What's 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. 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 Devroom Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 17
  • 18. FOSDEM 2012 Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 18
  • 19. FOSDEM 2012 (2) Photos Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 19
  • 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 Kalkowski Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 20
  • 21. GSoC Mentor Summit 2012 Unconference October 20th – 21st 2012 Googleplex, Mountain View, California Attended by Vojtěch Horký and Jakub Jermář Minority OS minisummit Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 21
  • 22. GSoC Mentor Summit 2012 (2) Photo by Robin Smidsrød Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 22
  • 23. GSoC Mentor Summit 2012 (3) Photo by Robin Smidsrød Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 23
  • 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. 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. 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. 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. HelenOS PhD Thesis Architecture and behavior specification Semantic information Extra-functional in source code properties Architecture models Work in Progress Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 28
  • 29. Q&A www.helenos.org Martin Děcký, D3S Seminar, October 30th 2012 HelenOS: State of the Union 2012 29