Networking With Xinu
Overview
Having students build their own Xinu is one of the potential tracks presented for a professor that is Teaching With Xinu.
A networking course incorporating Embedded Xinu can have students build a networking functionality into Embedded Xinu over the period of the course. Courses may vary in starting point; some choosing to use a core Embedded Xinu release and having students build the entire network stack and ethernet driver. While others may choose an Embedded Xinu release with the ethernet driver available so that the students can concentrate on other parts of the network stack. Network stack implementation assignments for students can parallel various networking lectures that traverse the stack over the course of the semester, terminating in the students implementing an application that uses the developed network stack.
Course Outcomes
Potential Course Structure
An course using the below course outline or something similar will introduce students to some fundamental and advanced concepts of operating systems combined with the development in a resource constrained environment.
Course Outline
Week | Topics | Assignments | |||||
01 | C (basics) and OS Structures, Processes | C Basics | |||||
02 | C (functions, control flow) and Processes | ||||||
03 | C (pointers, arrays, structs) and Threads | C Structs and Pointers | |||||
04 | CPU Scheduling | Synchronous Serial Driver | |||||
05 | CPU Scheduling | ||||||
06 | Process Synchronization | Context Switch and Non-Preemptive Scheduling | |||||
07 | Deadlocks | Priority Scheduling and Process Termination | |||||
08 | Main Memory and Virtual Memory | ||||||
09 | File System Interface | Preemption and Synchronization | |||||
10 | File System Implementation | ||||||
11 | Mass-Storage Structure | Delta Queues | |||||
12 | I/O Systems | Heap Memory | |||||
13 | Protection, Security and Distributed System Structures | Asynchronous Device Driver | |||||
14 | Distributed System Structures | ||||||
15 | Distributed File Systems | Ultra-Tiny File System |