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 ...
Why?
• Spread the message of Plan 9 style
programming to Linux developers

• Experience the benefits of Plan 9

application...
How?
• Stage 1
• Binary format loader for a.out (module)
• Implementation of the Plan 9 system calls
(patch)

3rd Internat...
How?
• Stage 1I
• Implement synthetic filesystems that

applications depend on (v9fs or kernel
patch depending on specifics)...
How?
• The idea is to trick applications into

thinking that they are, in fact, running on a
Plan 9 kernel

3rd Internatio...
Binary Loader
• Fairly straightforward
• Except for the padding and tos issues
• Solved by assigning different magic

numb...
System Calls
• Fall into three categories
• Trivial: Minor modifications to existing
Linux calls (open, read, write)

• Eas...
Filesystems
• /net and /dev/draw are the two major ones
we are focussing on

• /net is relatively easy, maps to internal
n...
When?
• Stage I: 60% complete
• Stage II in planning phase
• 24 of 51 system calls implemented
• Major milestone: 8c/8l
3r...
9vx & Glendix
• 9vx is x86-only. While Glendix is also x86only for now, easily extendable

• Different purposes: In Glendi...
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
Upcoming SlideShare
Loading in …5
×

Glendix: The Why and the How

490 views

Published on

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.

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

  • Be the first to like this

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

No notes for slide

Glendix: The Why and the How

  1. 1. Glendix A Plan9/Linux Distribution Anant Narayanan Vrije Universiteit, Amsterdam IWP9 2008
  2. 2. 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
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. Q &A 3rd International Workshop on Plan 9 Volos, Greece 30 October, 2008
  13. 13. Thank You! http://glendix.org/ anant@glendix.org 3rd International Workshop on Plan 9 Volos, Greece 30 October, 2008

×