GoogleFS -- Distributed File System

The Google File System is a scalable distributed file system designed to work with a vast amount of unreliable nodes. The specification paper can be found at This project would be implementing the GoogleFS from scratch.

Version on Write -- File System

This project would consist of implementing a DB backed versioning file system.

Distributed Versioning Control System

Every distributed versioning system, I have tried, will not allow me to checkout part of a repository and still be able to commit. This project would require writing a distributed versioning system from scratch, or modifying one that has almost all the features we are looking for.

MP3 Player

ACM has some old StrongARM processors. This project would require working with SIGEmbedded to put an os on those devkits, and possibly writing an OS for those devkits [If they work at all]. Turning them into an MP3 player was an idea.


DFE -- Distributed Fish Environment [WEBSITE]

The FishNet was created as a way for SigOps members to demonstrate the operating systems they have individually written from /scratch.  The DFP (Distributed Fish Protocol 2.1) was developed by SigOps for this reason.  The point of this project, however, is not to create just a distributed fishtank, but to demonstrate how these original operating systems can work together as well as with established environments.  Although at first glance the graphics may be the most impressive component, try to imagine what lies under the surface...  Each person had to create a complete environment for the system.  Everything that can be taken for granted when you code had to be designed and implemented.  From virtual memory subsystems to network stacks, everything is hand-crafted.  Most of these systems are fully 32-bit multitasking operating systems, however, there is a huge variety in design philosophies.   Each person has incorporated their own method of loading and executing applications, memory management, protection schemes, inter-process communication, etc...


The internet rover is a remote controlled car that can be steered and controlled by anyone with an internet connection (probably by going to a webpage where an applet will be installed onto the browser). The rover is a modified rear-wheel drive black Power Wheels Ford F150. It has a maximum speed of 3.5 miles per hour both forwards and backwards and has a 65 pound carrying capacity. The remote user will issue commands that will be received by our Linux notebook by wireless ethernet. The notebook will then transmit the instructions via serial cable to the HC11 microprocessor inside the rover. The microprocessor then issues instructions to the motor (for forward and backward motion) as well as the servo to control the front wheels (for directional steering). A Logitech webcam mounted to the rover will stream live video back to the remote user.


The goal is to design and implement a fully-featured, usable operating system from scratch that is portable to several different platforms.