• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Glendix: The Why and the How
 

Glendix: The Why and the How

on

  • 269 views

Glendix is a Linux distribution with a Plan 9 userspace. This presentation goes over the main motivation behind the project and shares some implementation decisions.

Glendix is a Linux distribution with a Plan 9 userspace. This presentation goes over the main motivation behind the project and shares some implementation decisions.

Statistics

Views

Total Views
269
Views on SlideShare
269
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Glendix: The Why and the How Glendix: The Why and the How Presentation Transcript

    • Glendix A Plan9/Linux Distribution Anant Narayanan Vrije Universiteit, Amsterdam IWP9 2008
    • What? • Providing a Plan 9 development environment on Linux • Providing the ability to run Plan 9 applications on Linux as a side effect 3rd International Workshop on Plan 9 Volos, Greece 30 October, 2008
    • Why? • Spread the message of Plan 9 style programming to Linux developers • Experience the benefits of Plan 9 applications along with the convenience of being able to execute Linux applications • Because we can: Linux isn’t inherently tied to any particular user-space :-) 3rd International Workshop on Plan 9 Volos, Greece 30 October, 2008
    • How? • Stage 1 • Binary format loader for a.out (module) • Implementation of the Plan 9 system calls (patch) 3rd International Workshop on Plan 9 Volos, Greece 30 October, 2008
    • How? • Stage 1I • Implement synthetic filesystems that applications depend on (v9fs or kernel patch depending on specifics) 3rd International Workshop on Plan 9 Volos, Greece 30 October, 2008
    • How? • The idea is to trick applications into thinking that they are, in fact, running on a Plan 9 kernel 3rd International Workshop on Plan 9 Volos, Greece 30 October, 2008
    • Binary Loader • Fairly straightforward • Except for the padding and tos issues • Solved by assigning different magic numbers to padded and non-padded executables and using Linux’s interpreter execution capabilities to modify executable 3rd International Workshop on Plan 9 Volos, Greece 30 October, 2008
    • System Calls • Fall into three categories • Trivial: Minor modifications to existing Linux calls (open, read, write) • Easy to Implement: Not present, but can be written relatively easily (fd2path) • Tricky: Needs data-structure level changes and low-level kernel code (rfork, bind) 3rd International Workshop on Plan 9 Volos, Greece 30 October, 2008
    • Filesystems • /net and /dev/draw are the two major ones we are focussing on • /net is relatively easy, maps to internal networking calls • /dev/draw is harder because of the need to support graphics cards • Debate over whether to use kernel framebuffer or DirectFB 3rd International Workshop on Plan 9 Volos, Greece 30 October, 2008
    • When? • Stage I: 60% complete • Stage II in planning phase • 24 of 51 system calls implemented • Major milestone: 8c/8l 3rd International Workshop on Plan 9 Volos, Greece 30 October, 2008
    • 9vx & Glendix • 9vx is x86-only. While Glendix is also x86only for now, easily extendable • Different purposes: In Glendix, executables are not run in a “sandbox” - rather as any regular user-space application • Glendix aims for a more low-level, comprehensive integration of Plan 9 & Linux 3rd International Workshop on Plan 9 Volos, Greece 30 October, 2008
    • Q &A 3rd International Workshop on Plan 9 Volos, Greece 30 October, 2008
    • Thank You! http://glendix.org/ anant@glendix.org 3rd International Workshop on Plan 9 Volos, Greece 30 October, 2008