General Information
My Information
Name: | Jonathan Misurda |
Office: | 6213 Sennott Square |
Phone: | (412) 624-8835 |
Email: | jmisurda@cs.pitt.edu |
Office Hours: | Mon: 1:00–4:00 Tue, Wed: 1:00–2:00 Thu: 4:00–5:00 |
Syllabus
You can find a copy of the syllabus here.
Announcements
Subscribe to feed(12/10/09) — All slides for the final are now online including the list of topics discussed in class today.
(12/01/09) — Project 5 is assigned, due Sunday, December 13, before midnight. The assignment sheet can be found below and the port assignment you will use.
(11/10/09) — Project 4 is assigned, due Sunday, November 22, before midnight. The project has an automatic extension where it can be turned in, penalty-free until the end of Tuesday, November 24th. The assignment sheet can be found below along with the QEMU files.
(11/03/09) — 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.
(10/27/09) — Project 3 is assigned, due Sunday, November 8, before midnight. The assignment sheet can be found below.
(10/26/09) — thot.cs.pitt.edu will be down from 8am until noon tomorrow, Tuesday, October 27, 2009, for updates that hopefully make it more stable. Make sure you save your work and sign out properly before then.
(10/25/09) —
thot.cs.pitt.edu is currently not allowing ssh connections. I will update this post when I know more.Thot is back up. 2 hour extension to the deadline for the missed time. Now due by 2:00am.
(10/22/09) — Here's a sample minimal write-up for project 2.
(10/20/09) — I am canceling my 1pm office hours on Wednesday, October 21, 2009. I will make them up at 1pm on Thursday.
(10/12/09) — Office hours will follow the class schedule this week, i.e., I will hold Monday office hours on Tuesday.
(10/07/09) — Project 2 is assigned, due Sunday, October 25, before midnight. The assignment sheet can be found below.
(09/28/09) — A sample midterm exam can be found here. After you try it, you can find the answers here. Note that we still have some material on Tuesday to cover.
(09/25/09) — For those who missed class today or just want to revisit today's material, I'm providing an audio recording of today's lecture and a freshly-drafted "chapter" on pointers.
Lecture 1h15m 30.3MB (MP3)
(09/14/09) — 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.
(09/10/09) — Project 1 is assigned, due Sunday, September 27 before midnight. The assignment sheet can be found below.
(09/08/09) — Office hours are now posted. The online syllabus has been updated as well. My office hours are:
Mon: 1:00–4:00
Tue, Wed: 1:00–2:00
Thu: 4:00–5:00The TA's are:
Tue, Thu: 10:00–11:30 and 12:30–2:00
And by appointment for both of us.
(08/31/09) — Welcome to CS 449 Fall Term (2101)
Text, Slides, and Extra Materials
Topic | Slides | Links |
Binary Formats and Linking | Slides (PDF) | 20 part blog entry on linking As a PDF |
x86 Assembly | Slides (PDF) | AT&T Syntax |
Function Calls and Calling Convention | Slides Part 1 (PDF) Slides Part 2 (PDF) |
CS 447 Appendix A |
Processes and Memory Management | Slides (PDF) | Linux Address Space Layout |
Conditional Compilation Makefiles and Multi-file Development |
Slides (PDF) | Chapter 18 in the C Textbook Chapter 10 in the C Textbook |
Midterm 2
Topic | Slides | 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
-
Windows text editor with syntax highlighting: http://www.editplus.com
-
Unix Command Reference (from CSSD): Here