ECE 391: Computer Systems Engineering Fall 2008
Tentative Syllabus

Week Due (default: Mon) Tue Thurs Recitation Readings
1
Aug 26
1. Class overview and big picture
Aug 28
2. x86 instruction set: introduction and instructions
Introduction to Lab Environment
(In Lab)
CN0,1
2 Survey (Sep 02)
MP 0
Sep 02
3. x86 ISA: assembler conventions, calling convention
Sep 04
4. C to x86 linkage, device I/O
x86 assembly CN1
3 MP 1 Prelab
Sep 09
5. Mapping C to x86
Sep 11
6. Role of system software, system calls
GDB and Other Tools
(In Lab)
CN4, R1, B1-2
4 MP 1
Sep 16
7. Interrupts and exceptions, processor support
Sep 18
8. EXAM I (Covers Lec. 1-6, CN0, 1, 4, R1, B1)
EXAM I Review
(Joint Session)
CN2.1-2.3
5 MP 2 prelab
Sep 23
9. Threads: Virtualizing the CPU
Sep 25
10. Programs to processes, loader, file descriptors
EXAM I Returned, Device drivers R2, 5.1-5.7, KR8.1-8.4, B5-6
6
Sep 30
11. Shared resources, critical sections, spin locks
Oct 02
12. Mutexes, conservative synchronization design
Low-level synchronization primitives R5.17-5.18, CN2
7 MP 2 checkpoint
Oct 07
13. Virtual memory: rationale
Oct 09
14. Virtual memory: regions / demand paging
Segmentation, Paging, and Memory Allocation CN3, B9.2
8 MP 2
Oct 14
15. MP3 TEAM MEETING, Disk drives
Oct 16
16. EXAM II (Covers Lec 1-14, CN0-4, R1,2,5, B1,2,5,6,9.2, KR8.1-8.4)
MP3 Overview and Tips
9 MP 3 Prelab (Tuesday)
MP 3 checkpoint 1 (Wednesday)
Oct 21
17. Filesystems: philosophy, ext2 as example
Oct 23
18. Filesystems: ext2 structures, caching issues
EXAM II Returned B4, R3
10
Oct 28
19. Cooperating processes, condition variables
Oct 30
20. Designing synchronization constructs, global state diagrams
High-level synchronization primitives R5.17-5.18, CN2
11 MP 3 checkpoint 2 (Wednesday)
Nov 04
21. Virtual memory: copy-on-write, mmap
Nov 06
22. Memory allocation from malloc() to brk()
EXAM II Returned CN3, KR8.7
12
Nov 11
23. Programmable interrupt controller
Nov 13
24. Exam III (Covers Lec 1-22, CN0-4, R1-3,5, B1-6, KR8)
Exam III Review
(Joint Session)
CN2.12-2.18
13 MP 3 checkpoint 3 (Wednesday)
Nov 18
25. Process scheduling policies
Nov 20
26. Linux process scheduler implementation
EXAM III Returned, Scheduling B8.1
Nov 24-28: Thanksgiving Break (no class)
14
Dec 02
27. Signals: user-level analogue of interrupts
Dec 04
28. Signals: data structures, generation, delivery
Signals R9.1-9.3, CN5, B7.2
15 MP 3
Dec 09
29. Network programming interface


Final Exam Review
(Joint Session)
R8
Wednesday, Dec 17, 8:00-11:00am
Final Exam (Covers Lec 1-29, CN0-5, R1-3,5,9, B1-9, KR 8)

CN = class notes, R = Rochkind, KR = Kernighan and Ritchie, B = Bach.