General Information
My Information
Name: | Jonathan Misurda |
Office: | 6203 Sennott Square |
Phone: | (412) 624-8408 |
Email: | jmisurda@cs.pitt.edu |
Office Hours: | Mon, Wed: 2:30–4:00 Tue, Thu: 1:30–2:30 |
Syllabus
11am section | 1pm section |
Announcements
(04/13/15) — Project 5 is assigned, due Wednesday, April 22, 2015, by midnight. The assignment sheet can be found below.
(04/02/15) — If scp under QEMU or Q.APP is returning a temporary name resolution error, replace thot.cs.pitt.edu with the ip address 136.142.23.51 and it should work.
(03/30/15) — Project 4 is assigned, due Sunday, April 12, 2015, by midnight. The assignment sheet and associated files can be found below.
(03/19/15) — You can compile two files together by placing them on the same gcc commandline like:
gcc mallocdrv.c mymalloc.c -o malloctest
Note that you do not put .h files on the commandline as the preprocessor includes them.
(03/16/15) — 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.
All of the slides are up for the second midterm. A few sample problems for the second midterm exam can be found here. After you try it, you can find the answers here.If you have questions, ask me or the TA.
(03/04/15) — Project 3 is assigned, due Sunday, March 22, 2015, by midnight. The assignment sheet can be found below.
(02/27/15) — I've posted an example writeup (PDF) for Project 2. I'm looking for 3 things: the procedure, the solution, and how this program works in terms of the things we've been discussing about executables, linking, and stacks.
(02/16/15) — Project 2 is assigned, due Sunday, March 1, 2015, by midnight. The assignment sheet can be found below.
(02/02/15) — 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.
(01/31/15) — 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/15) — Project 1 is assigned, due Sunday, February 8, 2015, by midnight. The assignment sheet can be found below.
(01/05/15) — Welcome to CS 449 Spring Term (2154)
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 | 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 & ID3 Tag Editor
Links
Reference- C Language
- x86 Instruction Set
-
Download PuTTY (SSH client for Windows)
-
Unix Command Reference (from CSSD): Here