Fall 2012
Instructor: Betty O'Neil, eoneil@cs.umb.edu
Lectures:
MW
5:30-6:45 in M-1-210
Syllabus Note that cs341 is a strong prerequisite for this course.If you haven't taken cs341, you need C programming, computer architecture, some x86 assembly language programming, and preferably experience in hardware programming. Hardware programming and interrupt programming will be reviewed in this course.
First week: get an account for cs444 by running apply, add module ulab to your .cshrc. Visit www.cs.umb.edu/ulab and its linked documents, review cs341, for example by reading Prof. Wilson’s CS341 lecture slides and run $pcex/test.c on an SAPC with help of microprocessor lab info linked below.
hw1 due Friday,
Sept. 21, Monday Oct 1. An Device-independent
Interrupt-driven I/O Package hw1_part2
Solution
hw2 due Saturday, Nov. 3 Tiny UNIX: A
single user program using 3 system calls that trap to the
kernel. hw2 setup directory of provided
files hw2 Solution
hw3 due Tues., Nov. 20 Multitasking Tiny
UNIX (late days won't count Nov 22-23, Thanksgiving recess)
hw3 setup files for hw3 (now complete) README
hw4, due Mon., Dec. 10, A Semaphore
Service for Tiny Unix: partnerships welcome.hw4
Solution
Sep.
5.: Intro, Virtual Machine concept
Sep. 10: Linux/UNIX
syscalls and SAPC programming environments (handout)
Sep. 12: Intro to hw1
Sep. 17: More on hw1, review of
hardware programming
Sep. 19: x86 Interrupts (interrupt slides handout) (typewr.c handout)
Sep. 24: Transmitter Interrupts
Sep. 26: hw1 points, Tanenbaum Chap. 1
(testio.lnx handout)
Oct. 1 Tanenbaum Chap 1,
start on Chap. 2
Oct. 3 Intro to hw2:
implementation of system calls
Oct. 8 Holiday
Oct 10 System calls and interrupts
(handout), Processes
Oct. 15 Kernel stacks of processes,
Threads (handout)
Oct. 17 Mutex, Semaphores
Oct. 22 Producer-Consumer Problem
(handout,
handout)
Oct. 24: Midterm Review Practice Midterm Exam (Solution)
Oct. 29: University closed due to storm
Oct. 31 Midterm Exam
Nov. 5 Scheduling and intro to
hw3, the multitasking tiny UNIX (handout)
Nov. 7 More on hw3 and its scheduler
Makeup Midterm at 8:15 in W-1-0042
Nov. 14 hw3, Start on Memory
Management (debuglog handout)
Nov. 19 Paging
Nov. 21 x86 Paging (demo handout)
Nov. 26: Page Replacement Algorithms,
Page Faults
Nov. 28: Intro to hw4, a Semaphore
Service (updated 12/3) (handout)
Dec. 3: I/O Systems, preemptive
scheduler (handout)
Dec. 5 I/O Systems
Dec. 10 Deadlocks
Dec. 12 Final Review
Practice Final Practice Final Solution
Final Exam:
Monday, Dec. 17, 6:30-9:30 in M-1-201
How to access ulab.cs.umb.edu
from offsite and transfer files
How to use gcc on your Windows system for cs444
How to use gcc on your Linux or
Mac system for cs444
Microprocessor lab info: How to use SAPCs for programming assignments.
CS341 course home page, with more links to hardware resources
From the GNU project: www.gnu.org: manuals
Directories useful for programming assignments
$pcinc – header
$pcex – C example
$pclibsrc – sources for the SAPC
support library
Android: an optional part of this course
Android
Linux Poster Android
Linux TechBlog
Android
Linux Additions
Android
Binder (a thesis)