Courses/Computer Science/CPSC 457.F2014/Assignments
Contents
A Note to Instructors
I hate having to write this kind of note due to a few bad apples. The material here is available (as it says at the bottom of the wiki page) under a Creative Commons Attribution/Share-Alike License. This includes the linked homework assignment descriptions (strictly speaking, the HW assignments are under an even more restrictive copyright, but with this declaration, I am hereby making them available under CCASA). This kind of license means you have certain responsibilities if you want to use this material in your course. Please abide by them. I'm happy to share content publicly (which is the whole reason this material is on the UofC wiki in the first place).
Submission Instructions
http://pages.cpsc.ucalgary.ca/~locasto/teaching/2013/CPSC457/SUBMIT-HOWTO
Assignment 1: instruction tracing, ELF surgery, and process state
http://pages.cpsc.ucalgary.ca/~locasto/teaching/2014/CPSC457/hw1-cpsc457-f2014.txt
Released: Sept 24
Due: Oct 14 at 11:59pm MDT via SVN
NB: Before you start work on HW1, you may wish to read these chapters in Love's Linux Kernel Development book:
- Chapter 2 ("Getting Started With The Kernel")
- Chapter 6 ("Kernel Data Structures")
- Chapter 18 ("Debugging")
Also, for disassembly as a library see: http://udis86.sourceforge.net/
Assignment 2: Commenting Source Code, Adding System Calls, Modifying task_struct, Scripting
http://pages.cpsc.ucalgary.ca/~locasto/teaching/2014/CPSC457/hw2-cpsc457-f2014.txt
Released: 8 Oct.
Due: 9 Nov, 11:59pm
Hints
Kernel data structures (for problem 3.C)
- read Love, Chapter 6.
Producing and applying patches:
- http://lxr.cpsc.ucalgary.ca/lxr/linux+*/Documentation/SubmittingPatches
- http://lxr.cpsc.ucalgary.ca/lxr/#linux/Documentation/applying-patches.txt
Assignment 3: TBD
http://pages.cpsc.ucalgary.ca/~locasto/teaching/2014/CPSC457/hw3-cpsc457-f2014.txt
Released: 26 Oct
Due: 1 Dec