Browsix: Bridging the Gap Between Unix and the Browser
Bobby Powers, John Vilk, Emery D. Berger

TL;DR
Browsix is a framework that enables running unmodified Unix-like applications directly in the browser by providing core OS abstractions through JavaScript, facilitating porting and new web functionalities.
Contribution
It introduces a JavaScript-based system that offers Unix features and extended runtimes for multiple languages, bridging the gap between OS and browser environments.
Findings
Enables running POSIX shell and applications in browsers.
Allows porting legacy applications with minimal code changes.
Demonstrates practical applications like a LaTeX editor and client-server apps.
Abstract
Applications written to run on conventional operating systems typically depend on OS abstractions like processes, pipes, signals, sockets, and a shared file system. Porting these applications to the web currently requires extensive rewriting or hosting significant portions of code server-side because browsers present a nontraditional runtime environment that lacks OS functionality. This paper presents Browsix, a framework that bridges the considerable gap between conventional operating systems and the browser, enabling unmodified programs expecting a Unix-like environment to run directly in the browser. Browsix comprises two core parts: (1) a JavaScript-only system that makes core Unix features (including pipes, concurrent processes, signals, sockets, and a shared file system) available to web applications; and (2) extended JavaScript runtimes for C, C++, Go, and Node.js that support…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
