Course Description

Description and Syllabus 
 

Lecture Material

It is assumed that the following course material is being made available to students of SUNY at Buffalo for use in the courses offered by the Department of Computer Science.
They are meant for instructional use only.


Date
Topics
Material
Notes
8/27
Introduction to realtime & embedded operating system
Course Description, policies

8/29
The real embedded introduction: it is all in the language
IntroRE

8/31
text, data, heap, stack; pointers; memory allocation and deallocation; bit-wise operators
BufOverflow
C++ Pointers

9/5
pointer contd.


9/7
Function pointers and Table driven realtime tasks
TableDriven

9/10
Project 1 (Lab 1) : Design and implementation of a realtime system
Description


Defining Realtime system DefRTS
9/14
Separate compilation; make utility; realizing concurrency; all code examples
demos

9/19
System structure, process abstraction
Proc

9/23
Thread model for realizing concurrency
Thread

9/28 More on threads: syncronization and mutual exclusion (mutex and semaphores) Synch thrDemos
10/1
Design of cyclic executives


10/3
Continued
CycEx

10/5
EDF : earliest deadline first
handouts in class

10/8
EDF vs RMS: realtime scheduling
handouts in class

10/10
Matthew Xu-Friedman's Dynamic Clamp Lecture
How can we improve the timeing to 10us? Current timing is 30us.

10/12
Introducing XINU and WRT54GL
XinuWRT54GL

10/15 Lets analyze the XINu code main.c, initialize.c , create.c, compile directory...
10/17 Midterm review; continue XINU analysis review  XINUSystem
10/24
Midterm Exam


10/26
Priority-based Scheduling
 PrioritySched
MarsRover; pp.170-171 of your text
11/2
IPC: pipe() primitive;
Ch. 8, pp. 188-190
Demos
11/5
Continue pipes(); signals and alarms: inter-task signals
Ch.8 pp. 174-180
More examples
We will go over for finalexam review
11/7
Project 3: (Lab 3): Working with real emebedded systems
Description

11/14RT design with UML Usecase Usecase
11/16RT team design with CRCCRC
11/19Midterm papers return and answer questionsIn my office 345 Davis
11/26Socket API and programmingsocket API
11/28Memory leakfrom IBMProject Demo and submission guidelines
11/30Review for final examReview
12/3-7Project demos & presentations

Process and Thread Programming Links
Unix Processes
Posix Threads

Projects:

Lab 1: Realtime System design and Implementation
Lab 2: Embedded XINU programming
Lab 3: Arduino (C), Scribbler(Python) or Android (Java) embedded system (Work in pairs)

Working with Embedded Xinu

XINU Main Page

Preparing EXINU Boot

XINU documentation

Interesting links:

(Thanks to  Nathan Ohmit for the links below on Apollo13)  
http://www.amazon.com/Digital-Apollo-Human-Machine-Spaceflight/dp/0262134977

http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=11416