Difference between revisions of "Student Extended Xinu"
Line 2: | Line 2: | ||
[[Category:Student Built Xinu]] | [[Category:Student Built Xinu]] | ||
== Overview == | == Overview == | ||
− | Having students | + | Having students integrate advanced operating systems features and develop applications for a their own or a provided [[Xinu]] operating system is one of the potential tracks presented for a professor that is [[Teaching With Xinu]]. |
Students will learn to extend an operating system by adding kernel level and user level applications. Given a functional Embedded Xinu operating system the students will have to understand and manipulate existing operating system code to create additional operating system features. To add more applications to the operating system students will have to understand the interactions between the program in design and the operating system's device and kernel interaction calls. Programming for embedded devices allows students to engage in development on small resource constrained environments. Through extending the existing Embedded Xinu operating system a student learns to use and understand code not written by the student and develops advanced operating system concepts. | Students will learn to extend an operating system by adding kernel level and user level applications. Given a functional Embedded Xinu operating system the students will have to understand and manipulate existing operating system code to create additional operating system features. To add more applications to the operating system students will have to understand the interactions between the program in design and the operating system's device and kernel interaction calls. Programming for embedded devices allows students to engage in development on small resource constrained environments. Through extending the existing Embedded Xinu operating system a student learns to use and understand code not written by the student and develops advanced operating system concepts. |
Revision as of 08:23, 12 December 2008
Overview
Having students integrate advanced operating systems features and develop applications for a their own or a provided Xinu operating system is one of the potential tracks presented for a professor that is Teaching With Xinu.
Students will learn to extend an operating system by adding kernel level and user level applications. Given a functional Embedded Xinu operating system the students will have to understand and manipulate existing operating system code to create additional operating system features. To add more applications to the operating system students will have to understand the interactions between the program in design and the operating system's device and kernel interaction calls. Programming for embedded devices allows students to engage in development on small resource constrained environments. Through extending the existing Embedded Xinu operating system a student learns to use and understand code not written by the student and develops advanced operating system concepts.
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 |