Projects


Group Projects (for Project 4-8)

You are to form groups of 2-3 students and choose 5 projects from the following 8 choices:

Choice Topic Description Learning Materials
1 Shared Memory See KP4L: Exercise 6
  • ULK: Chapter 2,6,7
  • Linux MM web site
  • 2 Virtual Memory See KP4L: Exercise 7
  • ULK: Chapter 2,6,7
  • Linux MM web site
  • 3 Synchronization See KP4L: Exercise 8
  • ULK: Chapter 9,11
  • 4 Scheduler See KP4L: Exercise 9
  • ULK: Chapter 5,9,10
  • 5 Device Driver See KP4L: Exercise 10
  • ULK: Chapter 13
  • 6 File System KP4L: Exercise 11, with
    changes in Choice 6 below
  • ULK: Chapter 12,15,17
  • 7 Networking See Choice 7 below
  • "Linux IP Networking"
  • "Linux Networking-concepts"
  • 8 Special Topic
    - IPsec
    See Choice 8 below
  • FreeS/WAN web site
  • KP4L: Textbook "Kernel Project for Linux"
    ULK: Textbook "Understanding the Linux Kernel"

    Project Choice 6: File System

    This exercise is taken from "KP4L: Exercise 11", but replaces the Problem Statement and Attacking the Problem sections with the following descriptions:

    Project Choice 7: Networking

    This project is to write a small packet dropper to selectively drop certain incoming packets from a particular source. Please read Chapter 13 of the article "Linux IP Networking" for detail description of the project idea and example code. You can skip Section 13.3 and 13.4.

    However, this project has the following different or additional requirements:

    Note: you must do this in the network stack as described in the article. You must not use the netfilter facility (although you may learn that netfilter is much better place for such functionality).

    It is not required that you have taken CS356 ("Computer Networks") or know a good deal about networking, but some background on IP networks will differently help this project. If you are not as knowledgeable, check out this HOWTO article: "Linux Networking-concepts".

    Project Choice 8: Special Topic - IPsec

    This project is slightly different than others, which are to work in the kernel source tree and add additional functions yourself. This project is for you to experience integration of a large piece of software into linux kernel and work it out. It is part of the kernel programming skill to be able to quickly understand and work with software pieces written by others.

    FreeS/WAN is an implementation of IPsec (and IKE) for Linux. This exercise is to install FreeS/WAN version 1.95 (or the latest snapshot) with UML and set up a test-bed to test a "sunset-west-east-sunrise" configuration. The project will be a success if you can achieve the testing as described in this page.

    The project involves no additional programming but lots of compilation, configuration, and testing.

    To do this project, you need some background in networking. If you have not yet taken CS356 ("Computer Networks") or you don't already know a good deal about networking, I won't recommend you this project.

    You will also need to be a quick learner to grasp the basic concepts of IPsec. You can achieve this by going through the links in FreeS/WAN website.


    © 2002 Yongguang Zhang