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:30pm Tue, Thur: 1:30–2:30pm |
Syllabus
You can find a copy of the syllabus here.
Announcements
(12/09/14) — Quiz 3 answers are available.
(11/25/14) — Project 5 is assigned, due Monday, December 8, 2014, by midnight. the assignment sheet can be found below.
(11/23/14) — If you're having an issue with the GLIBC version when running under QEMU, statically link the library in by adding the
-static
at the end of the gcc command line.(11/10/14) — Project 4 is assigned, due Sunday, November 23, 2014, by midnight. the assignment sheet and associated files can be found below.
(10/31/14) — There is a new note in the project sheet about how you might store the size of the allocation.
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.
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.
(10/29/14) — Project 3's minimum allocation size has been upped to 32 bytes to make it a bit easier.
(10/28/14) — A few sample problems for the second midterm exam can be found here. After you try it, you can find the answers here. This combined with the quiz should give you an idea of the types of problems I might ask.
An updated Project 3 is now available. Additions from the previous version are shown in red.
(10/22/14) — Project 3 is assigned, due Monday, November 3, 2014, by midnight. the assignment sheet can be found below.
(10/06/14) — Project 2 is assigned, due Sunday, October 19, 2014, by midnight. the assignment sheet can be found below.
(09/23/14) — 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.
(09/16/14) — We will extend Project 1's due date to now be Tuesday, September 23, 2014, by midnight.
A reminder that there are two sample files to test. The directions are on the assignment sheet.
(09/09/14) — Project 1 is assigned, due Sunday, September 21, 2014, by midnight. the assignment sheet can be found below.
(09/02/14) — Office hours are posted. Mine are listed above, and the TA's are on the online syllabus linked above.
(08/25/14) — Welcome to CS 449 Fall Term (2151)
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: Blackjack & EXIF Tag Viewer
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