Giter Club home page Giter Club logo

jslinuxstorage's Introduction

First of all, only these files in this archive are released under the terms of the GPL. 
The following files, published on the demonstration website, _DO NOT_ fall under 
these terms. I only have permission from Fabrice Bellard to host them.

	cpux86-ta.js
	term.js
	
These files are created and licensed by Fabrice Bellard (http://bellard.org/jslinux).



This project allows the virtual machine to access a persistent block device. This means 
a user can format and partition this device inside it's virtual machine. Because this disk
is then stored in the HTML5 local storage, a return to the emulator's web page allows a 
user to reopen the block device. All data stored on the disk can therefore be read again.

Schematically, the process works in the following way:

A block device driver is added to the Linux kernel. This allows a user to operate with 
a 'device' written in JavaScript. This device is bound to the virtual machine using the 
same I/O ports as a floppy disk. The device driver itself uses a temporary testing major 
device node, id 250. Theoretically, it allows dynamic device node allocation, but I have
not tested this.

On the JavaScript side, a lot of caching occurs because the local storage interface is 
quite slow. I therefore decided to cache the total 'disk' in memory, because it's about
1M anyway. Writes are cached as well, and are 'flushed' once the driver has transferred
a complete sector. 

For more details, see the source code.

jslinuxstorage's People

Contributors

kevinvandervlist avatar

Watchers

 avatar  avatar  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.