Advance to content

Galois
Technology
Client Services
Company
Blog

Tech Talk: Writing Linux Kernel Modules with Haskell

October 13th, 2009 by Levent Erkok

The October 20th Galois Tech Talk will be delivered by Thomas DuBuisson, titled “Writing Linux Kernel Modules with Haskell.”

  • Date: Tuesday, October 20th, 2009
  • Time: 10:30am – 11:30am
  • Location: Galois, Inc.
    421 SW 6th Ave. Suite 300
    (3rd floor of the Commonwealth Building)
    Portland, OR 97204

Slides for this talk are now available.

Abstract: Current operating systems are developed and extended primarily with imperative languages that lack in expressiveness and safety.  Pure and functional languages fill these gaps nicely but existing tools are not ideal fits and the language abstracts away important environmental information.

This talk will focus on modifications of the Glasgow Haskell Compiler to generate suitable code and nuances of binding to the Linux API. Short-comings of the language and tools will be identified along with known workarounds and potential engineering efforts.

Bio: Thomas DuBuisson is a PhD student in Computer Science at Portland State University, working with advisor Andrew Tolmach.  Current research efforts revolve around the use of functional languages for systems programming and improving runtime system security.


Galois has been holding weekly technical seminars for several years on topics from functional programming, formal methods, compiler and language design, to cryptography, and operating system construction, with talks by many figures from the programming language and formal methods communities. The talks are open and free. An RSVP is not required, but feel free to contact the organizer with questions and comments.

5 Responses to “Tech Talk: Writing Linux Kernel Modules with Haskell”

Jimmy Wylie says:

Hi, are there slides for this talk?

Thomas M. DuBuisson says:

Jimmy:
My fault, I forgot to give them my slides. I just sent it in so you should see a slides link soon.

Unfortunately for non-attendees, my theory on slides is not to explain to but prompt the right questions and discussion so they won’t be that useful stand alone.

Levent Erkok says:

Slides are now posted! See the link above..

Jimmy Wylie says:

Thanks, got the slides!. I see what you meant, about the slides, Thomas. But, I’m able to get the basic idea. One day I’m just going to have to fly to Oregon to hear these talks.

Thomas M. DuBuisson says:

That “ricoh_stub.hs” in the “Compiling” diagram should be “ricoh_stub.c” – the stub is a C file and the manual edit mentioned is just adding “startupHaskell()” and “hs_exit_nowait(0, NULL, NULL)” to the locations you desire the RTS to start and stop. I suggest the module init and cleanup routines. This could have been done when generating the _stub, but I liked the increased control and decreased number of GHC modifications.

If you want to try going down this path I suggest you see the haskell.org wiki entry which has instructions on how to build the dev environment. Be warned it isn’t stable and isn’t quick to set up.

Leave a Reply

©2000–2010 Galois, Inc. All rights reserved. Terms of use. Contact Us