SlideShare a Scribd company logo
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

More Related Content

PDF
Introducing Plan9 from Bell Labs
PDF
Unix++: Plan 9 from Bell Labs
PDF
Plan9: Bad Movie, Good Operating System
PDF
Plan 9: Not (Only) A Better UNIX
PDF
Foss History
PDF
The dream is alive! Running Linux containers on an illumos kernel
PDF
Introduction to GNU/Linux
PDF
The Coming Firmware Revolution
Introducing Plan9 from Bell Labs
Unix++: Plan 9 from Bell Labs
Plan9: Bad Movie, Good Operating System
Plan 9: Not (Only) A Better UNIX
Foss History
The dream is alive! Running Linux containers on an illumos kernel
Introduction to GNU/Linux
The Coming Firmware Revolution

What's hot (20)

PDF
Introduction to GNU/Linux
PDF
Bringing the Unix Philosophy to Big Data
PPT
Building Embedded Linux
PPT
001 linux revision
PPTX
Operating Systems: Versions of Linux
ODP
Introduction to linux
PPTX
Operating Systems: Linux in Detail
PPT
History Of Linux
PPT
Linux [2005]
PDF
Is it time to rewrite the operating system in Rust?
PPTX
Operating Systems: A History of Linux
PDF
Linux Introduction
PDF
Linux introduction (eng)
PPTX
Linux Simple Introduction
PPTX
A History of Linux
ODP
Introduction to Linux OS
PDF
Manta: a new internet-facing object storage facility that features compute by...
PDF
Dynamic Languages in Production: Progress and Open Challenges
PDF
Embedded Linux from Scratch to Yocto
PPTX
Operating Systems 1: Introduction
Introduction to GNU/Linux
Bringing the Unix Philosophy to Big Data
Building Embedded Linux
001 linux revision
Operating Systems: Versions of Linux
Introduction to linux
Operating Systems: Linux in Detail
History Of Linux
Linux [2005]
Is it time to rewrite the operating system in Rust?
Operating Systems: A History of Linux
Linux Introduction
Linux introduction (eng)
Linux Simple Introduction
A History of Linux
Introduction to Linux OS
Manta: a new internet-facing object storage facility that features compute by...
Dynamic Languages in Production: Progress and Open Challenges
Embedded Linux from Scratch to Yocto
Operating Systems 1: Introduction
Ad

Similar to Glendix: The Why and the How (20)

PDF
Modern IoT and Embedded Linux Deployment - Berlin
PPT
Synapse india fundamentals of dotnet development
PDF
Hands on kubernetes_container_orchestration
PDF
Thinking inside the box (shared)
PDF
A Summary about Hykes' Keynote on Dockercon 2015
PPTX
CS403: Operating System : Lec 3 Popular types of OS (2).pptx
PPTX
(WPF + WinForms) * .NET Core = Modern Desktop
PDF
Rmll 2010 AEGIS Mainstreaming Accessbility Open Source
PDF
TYPO3 CMS v8 in the cloud
PPTX
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
PDF
Andreas Jakl, Qt Symbian Maemo Quickstart
PPTX
introduction to .net
PDF
ACM_Intro_Containers_Cloud.pdf Cloud.pdf
PDF
We have the Bricks to Build Cloud-native Cathedrals - But do we have the mortar?
PDF
LinuxKit & Moby - The next level of the container ecosystem
PDF
VASCAN - Docker and Security
PDF
Docker Application to Scientific Computing
ODP
ERTS 2008 - Using Linux for industrial projects
PDF
LoCloud - D3.1: Operational SaaS Test lab
PDF
Free / Open Source EDA Tools
Modern IoT and Embedded Linux Deployment - Berlin
Synapse india fundamentals of dotnet development
Hands on kubernetes_container_orchestration
Thinking inside the box (shared)
A Summary about Hykes' Keynote on Dockercon 2015
CS403: Operating System : Lec 3 Popular types of OS (2).pptx
(WPF + WinForms) * .NET Core = Modern Desktop
Rmll 2010 AEGIS Mainstreaming Accessbility Open Source
TYPO3 CMS v8 in the cloud
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Andreas Jakl, Qt Symbian Maemo Quickstart
introduction to .net
ACM_Intro_Containers_Cloud.pdf Cloud.pdf
We have the Bricks to Build Cloud-native Cathedrals - But do we have the mortar?
LinuxKit & Moby - The next level of the container ecosystem
VASCAN - Docker and Security
Docker Application to Scientific Computing
ERTS 2008 - Using Linux for industrial projects
LoCloud - D3.1: Operational SaaS Test lab
Free / Open Source EDA Tools
Ad

More from Anant Narayanan (20)

PDF
Enterprise Scale Knowledge Graphs
PDF
Building an Intelligent Assistant
PDF
WebRTC: A Practical Introduction
PDF
Message Passing vs. Data Synchronization
PDF
Firebase: Tales from the Trenches
PDF
WebRTC: An Overview
PDF
Error Handling in WebRTC
PDF
WebRTC Demystified
PDF
WebRTC: User Security & Privacy
PDF
Firefox Architecture Overview
PDF
Next Generation Browser Add-Ons
PDF
An Overview of Distributed Debugging
PDF
A Brief Incursion into Botnet Detection
PDF
Mozilla Weave: Integrating Services into the Browser
PDF
about:labs
PDF
Distributed File Systems: An Overview
PDF
Innovating with Mozilla Labs
PDF
Mozilla Prism
PDF
Making Gentoo Tick
Enterprise Scale Knowledge Graphs
Building an Intelligent Assistant
WebRTC: A Practical Introduction
Message Passing vs. Data Synchronization
Firebase: Tales from the Trenches
WebRTC: An Overview
Error Handling in WebRTC
WebRTC Demystified
WebRTC: User Security & Privacy
Firefox Architecture Overview
Next Generation Browser Add-Ons
An Overview of Distributed Debugging
A Brief Incursion into Botnet Detection
Mozilla Weave: Integrating Services into the Browser
about:labs
Distributed File Systems: An Overview
Innovating with Mozilla Labs
Mozilla Prism
Making Gentoo Tick

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
A Presentation on Artificial Intelligence
PPTX
Cloud computing and distributed systems.
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Electronic commerce courselecture one. Pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPT
Teaching material agriculture food technology
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
20250228 LYD VKU AI Blended-Learning.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Unlocking AI with Model Context Protocol (MCP)
A Presentation on Artificial Intelligence
Cloud computing and distributed systems.
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Encapsulation_ Review paper, used for researhc scholars
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
NewMind AI Weekly Chronicles - August'25 Week I
Electronic commerce courselecture one. Pdf
Chapter 3 Spatial Domain Image Processing.pdf
Teaching material agriculture food technology
Spectral efficient network and resource selection model in 5G networks
Dropbox Q2 2025 Financial Results & Investor Presentation
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Building Integrated photovoltaic BIPV_UPV.pdf

Glendix: The Why and the How

  • 1. Glendix A Plan9/Linux Distribution Anant Narayanan Vrije Universiteit, Amsterdam IWP9 2008
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Q &A 3rd International Workshop on Plan 9 Volos, Greece 30 October, 2008