University of San Francisco
CS235 - Systems Programming
Spring 2002
Instructor: Alex Fedosov [homepage]



May 15, 2002 -- Final Exam at 3:30 pm
Good Luck!



May 8, 2002 -- Final Review
Study Guide


May 6, 2002 -- Combining C and Assembly
Demo 22: hello.S
Demo 23: mysum.asm sumtest.c



May 1, 2002 -- Parallel port
Demo 21: lpt.c



April 29, 2002 -- Protected Mode Programming
Demo 20: pmhello.asm



April 24, 2002 -- Socket Programming
Demo 19:
Simple Server simserv.c
Simple Client simcli.c
Project 4



April 22, 2002 -- Go over Midterm II, networking



April 17, 2002 -- Midterm II



April 15, 2002 -- Midterm II Review
Midterm Study Guide


April 10, 2002 -- Static, shared, and dynamic libraries
Demo 18:
libtstamp.c (library implementation)
timestamp2.c (static / shared test program)
timestamp3.c (dynamically loaded test program)



April 8, 2002 -- End of kernel modules. Libraries
Demo 17: cpuspeed.c



April 3, 2002 -- More on Linux kernel modules and some bad assembly
Demo 16: timestamp.c



April 1, 2002 -- More on Linux kernel modules and device drivers



March 20, 2002 -- Linux kernel modules
Demo 13: environ.c
Demo 14: noise.c
Demo 15: foo.c footest.c
Project 3
Project 3 compiled data files (binary) hbday.bin mary.bin
Project 3 source data file (asm) hbday.asm mary.asm



March 18, 2002 -- More C tidbits; System Calls



March 13, 2002 -- Intro to Linux; C review



March 11, 2002 -- Going over Midterm



March 6, 2002 -- Midterm 1



March 4, 2002 -- Midterm Review



February 27, 2002 -- FAT file system
Demo 12: minikybd.asm
Handouts: FAT32 file system, midterm I study guide



February 25, 2002 -- More keyboard
Demo 10: fastdir.asm
Demo 11: staybusy.asm



February 20, 2002 -- Keyboard
Demo 9: isrhook.asm
Handouts: Keyboard scan codes, ring buffer diagram
Project 2



February 13, 2002 -- PC Speaker (finally!)
Demo 7: tone.asm
Demo 8: scale.asm
Handouts: Musical notes frequency, keyboard diagram



February 11, 2002 -- Timing (last part)
Demo 3: rdtsc.asm
Demo 4: delay50.asm
Demo 5: outdelay.asm
Demo 6: cpuspeed.asm



February 6, 2002 -- Timers and Timing Continued
Demo 2: showtime.asm
Handouts: Timer diagram and Timer port definitions



February 4, 2002 -- More Interrupts and Timers
Reading: Sections 5.4, 15.3, 15.5, Appendix G.1
Handout: Timer Tick ISR excerpt



January 30, 2002 -- Interrupts
Interrupt Article -- come by my office to get a copy



January 28, 2002 -- Initialization and Boot Loaders
Project 1
Demo 1: tryboot.asm
References for Project 1:


January 23, 2002 -- Introduction to Systems Programming
Syllabus
Schedule