General Information
My Information
Name: | Jonathan Misurda |
Office: | 6203 Sennott Square |
Phone: | (412) 624-8408 |
Email: | jmisurda@cs.pitt.edu |
Office Hours: | Mon, Tue, Wed: 1:00–3:00 |
Syllabus
Morning (11am) section | Afternoon (4pm) section |
Announcements
(11/14/13) — Project 5 is assigned, due Sunday, December 8, 2013, by midnight. The assignment sheet can be found below.
(11/24/13) — If you are compiling Project 4 with static linking, due to the file size, please do not submit your yahtzee executable.
(11/21/13) — If you get an error about GLIBC version when running yahtzee under qemu, build the yahtzee executable with the
-static
option on thot.(11/14/13) — Project 4 is assigned, due Sunday, November 24, 2013, by midnight. The assignment sheet and associated files can be found below.
(11/02/13) — The test driver for your project is up. You can copy it to your current directory by:
(10/28/13) — 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.
(10/22/13) — Project 3 is assigned, due Wednesday, November 6, 2013, by midnight. The assignment sheet can be found below.
(10/13/13) — Here's a sample minimal write-up for project 2.
(10/03/13) — Project 2 is assigned, due Wednesday, October 16, 2013, by midnight. The assignment sheet can be found below.
(09/24/13) — A sample midterm exam can be found here. After you try it, you can find the answers here. This is from a slightly different course that I taught so some topics may have been emphasized differently.
Quiz 1 answers by request. You can see your TA for the graded quiz.
(09/09/13) — Project 1 is assigned, due Sunday, September 29, 2013, by midnight. The assignment sheet can be found below.
(09/03/13) — For those who have Monday recitation, the first lab is online. There is some additional setup to do first to make the
man
command work. Please do it as well. Friday recitations will still happen.(09/02/13) — Office hours are up. Check above for mine or on the syllabus for the TA's.
(08/27/13) — Welcome to CS 449 Fall Term (2141)
cp /u/SysLab/shared/mallocdrv.c .
Make sure to include the dot at the end.
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) | LDD Chapter 1 (PDF) LDD 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: A Shell
-
Project 4:
/dev/dice
- 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: RPS & EXIF 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