Improving Embedded XINU Support for Multicore Architecture
Student: Alex Gebhard
Mentor: Dr. Dennis Brylow
Project Background
Embedded Xinu is a lightweight research and teaching based operating system designed for simplicity. Embedded Xinu is used to teach multiple undergraduate and graduate classes at Marquette University such as COSC 3250: Operating Systems, COSC 2200: Hardware Systems, and COSC 4300: Networks and Internets. Embedded Xinu is based off the Xinu operating system developed by Douglas Comer. Work on Embedded Xinu began in the summer of 2006 to support the MIPS based platform. Currently, Embedded Xinu supports Linksys WRT54GL, Linksys WRT160NL, as well as the Qemu-mipsel virtual machine.
In 2013, Embedded Xinu was ported to the Raspberry Pi 1 B+, called XinuPi. This was the first port to the ARM architecture. The Raspberry Pi 1 B+ is a single core Broadcom BCM2835 SoC with 512 megabytes of RAM. In 2018, the Raspberry Pi 3 B+ was released. Unlike the Raspberry Pi 1 B+, the Raspberry Pi 3 B+ has a multicore Broadcom BCM2837B0 SoC with 1 gigabyte of RAM. A multicore operating system introduces more complexities such as race conditions, livelock, and deadlock. Work has started to port Embedded Xinu to the multicore Raspberry Pi 3B+, called XinuPi3.
Project Description
With the current implementation of XINU on the Raspberry Pi 3B+, some features are lacking multicore support. Similarly, other areas where multicore support is currently implemented could be improved. This summer, we hope to improve multicore support in existing areas of XINU as well as add multicore support in currently unsupported areas.
Tentative Milestones
Week | Description |
Week 1 |
|
Week 2 |
|
Week 3 |
|
Week 4 |
|
Week 5 |
|
Week 6 |
|
Week 7 |
|
Week 8 |
|
Week 9 |
|
Week 10 |
|