Sockets Redesign Exercise

Goal for this in-class exercise: redesign the sockets kernel calls to improve on the current kernel-calls.

You will work in groups of 4 or 5 students; you and your project partner should be in different groups.

Existing kernel calls to consider (click for manual pages):

Step 1: familiarize yourselves with the existing calls. Focus on the basics: you do not need to become expert in every exotic feature of calls such as recvmsg and getsockopt.

Step 2: discuss what you like and don't like about the existing calls, based on your experiences working with them.

Step 3: redesign the system calls to make them better.

  • Your group can decide what "better" means.
  • Given a choice between something that is a smaller change and something that is more radical, I encourage you to try the radical approach (within reason).
  • If you have time to come up with 2 alternatives, that would be even better.
  • Make a list of the strengths and weaknesses of your alternative design(s).

Step 4: put together a set of slides to present in class (see lecture notes for that class for details).