Inferno: Difference between revisions
(→Status: Note for Qemu users) |
(→TODO) |
||
Line 60: | Line 60: | ||
=== TODO === |
=== TODO === |
||
* fontfs which dynamically converts truetype fonts to inferno-native fonts |
|||
* olpc custom logon screen |
|||
* metafs which provides proper permissions to underlying file system in order to better match OLPC security model |
|||
** can handle multi-user environments |
|||
* camera support |
|||
** can take care of first-run scenarios and multiple session configuration |
|||
* audio support |
|||
* olpc custom init script |
|||
* OLPC targeted window manager |
|||
** bind activity writable data area over home directories |
|||
** first run creates user home directory |
|||
* integrate libfreefont and use larger fonts for default environment |
|||
** libfreefont can be used with OLPC fonts to bring them into Inferno |
|||
** start with static configuration and later move to a synthetic file system font server |
|||
=== Design === |
=== Design === |
Revision as of 14:20, 18 March 2008
see more templates or propose new |
Inferno® is a distributed operating system, originally developed at Bell Labs, but now developed and maintained by Vita Nuova® as Free Software. Applications written in Inferno's concurrent programming language, Limbo, are compiled to its portable virtual machine code (Dis), to run anywhere on a network in the portable environment that Inferno provides. Unusually, that environment looks and acts like a complete operating system.
The use of a high-level language and virtual machine is sensible but mundane. The interesting thing is the system's representation of services and resources. They are represented in a file-like name hiearchy. Programs access them using only the file operations open, read/write, and close. The 'files' may of course represent stored data, but may also be devices, network and protocol interfaces, dynamic data sources, and services. The approach unifies and provides basic naming, structuring, and access control mechanisms for all system resources. A single file-service protocol (called Styx or 9P2000) makes all those resources available for import or export throughout the network in a uniform way, independent of location. An application simply attaches the resources it needs to its own per-process name hierarchy ('name space').
The system can be used to build portable client and server applications. It makes it straightforward to build lean applications that share all manner of resources over a network, without the cruft of much of the 'Grid' software one sees.
Inferno can run 'native' on various ARM, PowerPC, SPARC and x86 platforms but also 'hosted', under an existing operating system (including FreeBSD, Irix, Linux, MacOS X, Plan 9, and Solaris), again on various processor types.
(description copied from google code project)
Besides being a new runtime environment, Inferno offers a number of applications which should run out of the box:
- multimedia (audio player, mpeg player, avi player)
- games (tetris, reversi, lego mindstorms interface, etc.)
- collaboration tools (email client, chat, shared whiteboard, etc.)
- servers (web server, content addressable storage system, etc.)
- tools (vt terminal, telnet, sgml editor, debuggers, etc.)
News
Third Release - Ericvh 10:54, 28 January 2008 (EST)
- inferno-012808.xo - (~11MB) third release includes fonts optimized for the OLPC, includes a logon screen with account creation, and keeps writable data under $SUGAR_ACTIVITY_ROOT/data. This release also includes an expanded menu which covers more internal applications. NOTE: upgrades do not appear to be working, so if you have a previous version, please uninstall and then reinstall Inferno.
Second Release - Ericvh 15:56, 21 January 2008 (EST)
- inferno-012108.xo - (~11MB) second release, functional but not visually optimized for OLPC
- Documentation Bundle (~2MB) - installs papers and reference in browser library
Status
- second release available - smaller bundle
- bundle installs correctly
- interacts properly with window manager
- functional, but UI is not optimized for OLPC environment (yet)
- JIT currently disabled, so it runs slower than optimal but faster than most other sugar apps
- IMPORTANT NOTE: if you are running under qemu, you will have to change geometry in InfernoActivity.sh to 1024x768 or you won't see the menubar
Links
- Main Inferno Google Code Project
- Wikipedia Article
- Documentation
- Mailing List and other Resources
- Inferno Programming with Limbo by Phillip Stanley-Marbell (Book)
- Plan 9 on OLPC - Plan 9 running on OLPC (part of GSoC 07)
- Inferno on OLPC - Native Inferno running on an OLPC development board at SuperComputing 2006
- Inferno Programmer's Notebook - open development experiments and blog
Development
TODO
- fontfs which dynamically converts truetype fonts to inferno-native fonts
- metafs which provides proper permissions to underlying file system in order to better match OLPC security model
- camera support
- audio support
- OLPC targeted window manager