CSCI-UA.0201-003
Computer Systems Organization
Prof. Mohamed Zahran   (aka Prof. Z)
mzahran AT cs DOT nyu DOT edu
M/W 11:00am-12:15 pm  Location: WWH 312
Office Hours: Mondays 3-5pm


Announcements

Welcome students! ... to the Computer Systems Organization course, edition Spring 2013.  I will keep updating this page regularly. If you have questions related to that course feel free to email me. Here is some basic information:

Lab 1:  2/6  202 CIWW - 12:30PM - 1:45PM
Lab 2:  3/7   201 CIWW - 12:30PM - 1:45PM
Lab 3:  3/12  201 CIWW - 12:30PM - 1:45PM
Lab 4:  4/10  202 CIWW - 12:30PM - 1:45PM
Lab 5:  5/1   202 CIWW - 12:30PM - 1:45PM

Final exam May 20th   10-11:50am  WWH 312  (note the time change)

Mailing List

Sign up for the Mailman mailing list for the course. You can do so by clicking here. Please follow the mailing list etiquette. 


Lecture Notes

Topic                                                      reading                 

1     Overview                                                            BO chp 1

2-3 C Programming                                                   KR 1-7

4-5 Bits, Bytes, and Integers                                      BO 2.1-2.3

6    Floating Points                                                     BO 2.4

7  Machine Level Programming I                                BO 3.1-3.4 and 3.13.1-3.13.3

8. Machine Level Programming II                               BO  3.5-3.5 and 3.13.4

9. Machine Level Programming III                             BO 3.7

10. Machine Level Programming IV                           BO 3.8, 3.9, 3.13.5

11. Machine Level Programming V                            BO 3.10-3.12

12-13. Linker                                                            BO 7.1 -> 7.11

14. Exceptions and Processes                                    BO 8.1 -> 8.4

15. Multitasking and Signals                                       BO 8.5 and 8.7 (skim 8.5.5 and 8.5.6)

16. System-level I/O                                                  BO chp 10 (skim 10.4)

17. Virtual Memory: Concepts                                   BO 9.1 -> 9.6

18: Virtual Memory: Systems                                     BO  9.7 and 9.8

19. Dynamic Memory Allocation: Basics                    BO 9.9 -> 9.9.12

20. Dynamic Memory Allocation: Advanced              BO 9.9.13 and 9.11 (skim 9.10)

21. Internetworking                                                   BO 11.1 -> 11.3 

22. Network Programming                                        BO 11.4

23. Web Services                                                      BO 11.5 -> 11.7

24. Concurrency                                                        BO 12.1 and 12.3 (skim 12.2)

25. Synchronization                                                    BO  12.4, 12.5(part before 12.5.1),  12.5.2,  12.5.3, 12.5.4, 12.7.1, 12.7.2


Labs

First, you need to setup your lab environment and read about submission policy.

Lab1:  (11.25%)
RKlab Due Feb 15, 11:59pm.
You can test your own submission! Here are the instructions on how to do that.
 
Lab 2:  (11.25%)
Bomblab Due March 13th, 11:59pm.

Lab 3: (11.25%)
Buflab Due March 31st, 11:59pm

Lab 4: (11.25%)
Shell lab    Handout   Due April 21st, 11:59pm
email your tsh.c to our grader with subjec line:  your_last_name: lab 4 submission
Of course do not forget to write your name and login ID at the top of tsh.c

Lab 5: (15%)
Mallocal Lab     Handout  Due May 13th, 11:59pm
Submission instructions:
  1. type tar -cvf handin.tar mm.c
  2. Submit the resulting handin.tar using this link.
If you are working in a group of 2, only one student submits. But be sure to include both your names in mm.c
You can check your grade using this link.
(Note: Forgetting to write names and ID in mm.c will result in a penalty)

Practice Problems

Practice Problems
Solutions

Interesting Links (Geeky stuff )

If you have an interesting link, please email it to the instructor and it will find its way to this page.

Unix tutorial
Unix commands cheat sheet
gdb tutorial
gdb cheat sheet: here (for 32-bit) and here (for 64-bit)
About coding style (If we cannot understand your code, your grade may be affected!!)
Intel 64 and IA-32 Software Developer manuals
Signal sets (Thanks David Taylor)