Git Product home page Git Product logo

vacinit's Introduction

# status

experimental


# intro

vacinit is a replacement for emuinit, it can be the first limbo
program started by emu to set up the environment.  more specific:
vacinit uses a vac as the file system (read-only).  it can be started
like this (assuming its dependencies are available too):

	emu -d /dis/vacinit.dis

this repository also includes the following programs which are used by
vacinit:
- tventi, simple read/write venti server that keeps all scores in
  memory.
- xventi, a venti proxy server that accepts read requests that it
  forwards to a local venti server (vacinit sets up a tventi for this
  purpose).  the data is returned to the client.  if the local server
  does not have the block, the request is sent to a "remote" (typically
  over a higher-latency link) server (which is assumed to be
  authoritative).  the response is returned to the client.  if the the
  response included data, it is also written to the local server so
  future local requests will succeed.

vacwalksrv is a simple network server that accepts a vac score and
a list of paths and returns score,type pairs required for reading
those files/directories.  vacinit can connect to such a server to
quickly retrieve files required to start up inferno, and other
commonly used files.  this is especially useful on high latency
connections.  vacwalksrv typically runs on the same server as the
venti server holding the vac tree.

slowventi is also included, it simulates venti over a high-latency
and/or bandwidth-constrained link.

vacinit itself shows a tk interface with a list of configs (vac scores
and venti server addresses) to choose from.  it also lets you fetch a
new config over 9p or http.


# install

make sure $ROOT is set.  now "mk install" to compile and install the
files.

when building from within inferno, insert SYSHOST=Inferno and ROOT=
in the mk invocations to override the values in the mkconfig.


# latest version

the latest version can be found at:

    http://www.ueber.net/code/r/vacinit


# licence & author

all files are in the public domain.  this code has been written by
mechiel lukkien, reachable at [email protected].


# todo

- vacinit: find out why sometimes /dev/pointer is never released
- tventi: check for, and recover from corrupt index/data files
- vacinit: think of a scheme that allows running multiple vacinits.  xventi & tventi listen on fixed tcp ports now.
- vacinit: think of a scheme to verify configs.  they could contain a public key and a fingerprint over the remainder of the config.
- vacinit: show some kind of progress while doing vacwalk?  afterwards, we should be able to killgrp only the gui part, not the venti's.
- vacinit: could fetch 00vacpaths quickly using vacwalk too, and safe a mark about having fetched it in local venti.
- all: write man pages
- xventi: don't unpack & pack vmsgs when not needed.

vacinit's People

Contributors

mjl- avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.