General Information
My Information
Name: | Jonathan Misurda |
Office: | 6213 Sennott Square |
Phone: | (412) 624-8835 |
Email: | jmisurda@cs.pitt.edu |
Office Hours: | Monday: 1:00–4:00 Tues and Thurs: 2:00–4:00 |
Syllabus
You can find a copy of the syllabus here.
Announcements
Subscribe to feed(04/28/10) — All of the slides are up for the final exam. Try your hand at a few practice questions. This is not a complete test, but it is some questions taken from the first time I taught 449. That test was cumulative, so I've extracted the relevant questions into the linked document. Note that this is only practice, questions may be significantly different on the real final which will be longer of course.
(04/25/10) — Office hours during finals week will be by appointment.
(04/13/10) — Project 5 is assigned, due Monday, April 26, 2010, by midnight. The assignment sheet and port assignments can be found below.
(03/27/10) — Project 4 is assigned, due Sunday, April 11, 2010, by midnight. The assignment sheet and necessary files can be found below. We will discuss the project in class and recitation this week.
(03/16/10) — All of the slides are up for the second midterm. Try your hand at a few practice questions. When you're done, take a look at the answer key and see how you did. If you have questions, ask me or the TAs.
(03/15/10) — The test driver for your project is up. You can copy it to your current directory by:
cp /u/SysLab/shared/mallocdrv.c .
Make sure to include the dot at the end.
(03/02/10) — Project 3 is assigned, due Sunday, March 21, 2010, by midnight. The assignment sheet can be found below.
(02/24/10) — Project 2's due date is extended until 11:59pm Sunday, February 28, 2010.
(02/20/10) — Here's a sample minimal write-up for project 2.
(02/11/10) — Project 2 is assigned, due Wednesday, February 24, 2010, by midnight. The assignment sheet can be found below.
(02/10/10) — Recitations are cancelled this week.
(02/08/10) — With the University being closed again, I am canceling Tuesday office hours. Send an email if you have a question.
(02/07/10) — With the University being closed, I am canceling Monday office hours. Send an email if you have a question.
(01/25/10) — I am providing two OGG files (a form of music file) called with.ogg (that has a tag) and none.ogg (that has no tag) to test your project on. You can copy them to your directory by:
cp ~jrmst106/public/cs449/*.ogg .
The dot at the end is critical, as it represents the current directory name. Note that the files have been shrunk to fit better in your AFS quota and likely won't play anymore. This won't affect your project.
(01/19/10) — Project 1 is assigned, due Monday, February 1, 2010, by midnight. The assignment sheet can be found below.
(01/11/10) — Office hours are now posted:
Me:
- Monday: 1:00–4:00
- Tues and Thurs: 2:00–4:00
James:
- Tuesday: 4:00–6:00
- Wednesday: 4:00–7:00
- Thursday: 5:00–6:00
Miao:
- Friday: 10:00–12:00 and 1:00–2:00
(01/07/10) — Welcome to CS 449 Spring Term (2104)
Text, Slides, and Extra Materials
Topic | Slides (PDF) | Links |
Binary Formats and Linking | Slides | 20 part blog entry on linking (PDF) |
x86 Assembly | Slides | AT&T Syntax |
Function Calls and Calling Convention | Slides 1 Slides 2 |
CS 447 Appendix A |
Processes and Memory Management | Slides | Linux Address Space Layout |
Conditional Compilation Makefiles and Multi-file Development |
Slides | Chapter 18 in the C Textbook Chapter 10 in the C Textbook |
Midterm 2
Topic | Slides (PDF) | Links |
System Calls & Signals | Slides (PDF) | Signals |
Device Drivers under Linux | Slides (PDF) | LLD Chapter 1 (PDF) LLD Chapter 2 (PDF) |
Threads | Slides (PDF) | |
pthreads | Slides (PDF) | More on pthreads ALP chapter on pthreads (PDF) |
Synchronization | Slides (PDF) | Handout (PDF) |
Networks and Berkeley Sockets | Slides (PDF) | Sockets |
Buffers, Errors and Robust Programming | Buffering Slides (PDF) Errors Slides (PDF) |
Ten Commandments for C Programmers |
Final Exam (review slides PDF)
Projects
- Project 5: Multi-Threaded Web Server
-
Project 4:
/dev/pi
- QEMU (For everyone, includes disk and Windows executable)
- For Mac users: Q.app. If that is down, try this mirror
- Project 3: A custom malloc()
- Project 2: What's the password?
- Project 1: The Game of Craps & ID3 Tag Editor
Links
Reference- C Language
- x86 Instruction Set
-
Download putty: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
-
Unix Command Reference (from CSSD): Here