Networking With Xinu
Contents
Overview
Having students develop networking aspects of their own or a provided Xinu operating system 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
Course development can parallel learning objectives and topics associated with many Communication and Networking courses.
Topics
- History of networking.
- Overview of the specializations within net-centric computing.
- Network standards.
- ISO 7-layer reference model
- Circuit switching and packet switching
- Streams and datagrams
- Concepts and services for specific network layers.
- Protocol and application overview/implementation.
- Overview of network security.
Learning Objectives
- Discuss the evolution of early networks and the Internet.
- Explain the hierarchical, layered structure of network architecture.
- Identify and explain the development of important network standards.
- Discuss the advantages and disadvantages of different types of switching.
- Demonstrate how a packet traverses the Internet.
- Implement a simple network using devices running the Embedded Xinu operating system.
- Discuss and explain the reasoning for network security.
Potential Course Structure
A course where students develop the networking aspects of their own or a provided Xinu operating system may follow an outline similar to the one below:
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 |