This is a repository for the projects assigned in Professor Eggert's Spring 2014 class. The README.txt contained in each project was for submission purposes.
We built a UNIX shell that analyzes the dependencies of commands in a shell script and runs top-level commands in parallel. We also implemented the design project for part A, which recognizes the redirection operators.
More detailed specifications can be found at: http://cs.ucla.edu/classes/spring14/cs111/assign/lab1.html
We wrote a Linux kernel module that implements a ramdisk that supports read/write operations and a special read/write locking mechanism to allow a process to gain exclusive access to the ramdisk.
More detailed specifications can be found at: http://www.read.cs.ucla.edu/111/lab2
We implemented a file system driver for Linux that supports reading files/directories, changing file sizes, writing/creating files, creating hard/symbolic links, and support for conditional links.
More detailed specifications can be found at: http://www.read.cs.ucla.edu/111/lab3
Given a fully functional OSP2P peer client, we had to modify the code to support multiple downloads in parallel and multiple uploads in parallel. Furthermore, we had to improve the peer's robustness to attacks and implement at least two ways to attack the client.
More detailed specifications can be found at: http://www.read.cs.ucla.edu/111/lab4
Kailin Chang
Roger Chen