Publication Details: UM-CS-2016-004

Browsix: Bringing Unix to the Browser

Publication Type:Technical Report
Author(s):B. Powers, J. W. Vilk, E. D. Berger
Abstract:While standard operating systems like Unix make it relatively simple
to build complex applications, web browsers lack the features that
make this possible. In this paper, we present Browsix, a
JavaScript-only framework that brings the essence of Unix to the
browser. Browsix makes core Unix features available to web
applications (including pipes, processes, signals, sockets, and a
shared file system) and extends JavaScript runtimes for C, C++, Go,
and Node.js programs so they can run in a Unix-like environment within
the browser. Browsix also provides a POSIX-like shell that makes it
easy to compose applications together for parallel data processing via
pipes. We illustrate Browsix’s capabilities by converting a
client-server application to run entirely in the browser and
developing a serverless LATEX editor that executes PDFLaTeX and BibTeX
in the browser. Creating these applications required less than 50
lines of glue code, demonstrating how easily Browsix can be used to
build sophisticated web applications from existing parts without
Submitted on:2016-05-10