Improving Embedded XINU Support for Multicore Architecture

From REU@MU
Revision as of 16:00, 1 June 2021 by Agebhard (Talk | contribs)

Jump to: navigation, search

Student: Alex Gebhard
Mentor: Dr. Dennis Brylow

Project Description

In 2017 work began to port XINU to the Raspberry Pi 3B+. Since then, XINU is currently used on the Raspberry Pi 3B+ to teach Operating Systems at Marquette University. 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
  • Meet with project leaders, mentor, and other students
  • Attend Data Science Boot Camp
  • Set milestones and goals for the project duration
  • Discuss project with Dr. Dennis Brylow
Week 2
  • Take course on Responsible Research Conduct
  • Read XINU/OS literature
  • Begin examining atomic primitives in other operating systems
Week 3
  • Research atomic primitives in other operating systems
  • Begin documenting assembly functions and current atomic primitives in XINU
Week 4
  • Discuss atomic primitives with others on team XINU
  • Begin implementing atomic primitives
  • Working on halfway presentation
Week 5
  • Finish implementing atomic primitives
  • Cleanup current assembly functions
  • Present halfway presentation
Week 6
  • Begin work on multicore XINU shell
  • Document how the shell works
  • Begin multicore support in the TTY driver
Week 7
  • Finish multicore TTY driver
  • Implement the rest of the shell
Week 8
  • Begin preparing materials for research poster
  • Document how the USB subsystem works
  • Begin looking into functions/design decisions that need to be adjusted to support multicore
Week 9
  • Complete poster
  • Begin writing research paper
  • Develop a working SD Card driver
Week 10
  • Test SD Card driver
  • Present at poster session
  • Prepare and give oral presentation
  • Submit completed work and logs