Skip to content

klcathy/cs111

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS111: Operating System Principles

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.

Lab 1: Time Travel Shell


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

Lab 2: Ramdisk


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

Lab 3: File System Driver


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

Lab 4: OSP2P Protocol


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

Authors


Kailin Chang
Roger Chen