Skip to content

A minimal cooperative multitasking operating system with a process management API and chaser light application as demo.

Notifications You must be signed in to change notification settings

Masihtabaei/coburs-embedded-run-to-completion-scheduler

Repository files navigation

coburs - A Minimal Embedded Run-to-Completion Scheduler

Note

This project was completed as part of the Embedded Operatiing Systems course during the Winter Term 2023/24 of our undergraduate studies, offered by Prof. Dr. Peter Raab at Coburg University. It was originally developed outside of GitHub and later partially migrated here, so some elements may be missing.

Important

This project is licensed under the MIT License.

Technologies Used

C Static Badge Static Badge Static Badge Static Badge Git GitHub

General Information

Here you will find a run-to-completion scheduler that I implemented as part of the course "Embedded Operating Systems" at the university. I called it coburs. coburs is a partial blend (Coburg [name of a small city located in Bavaria in Southern Germany] + Run-to-Completion Scheduler ) Feel free to extend/adjust this project so that it meets your goals.

A simple API was developed for process management, which offers the following methods:

  1. create (to create new processes)
  2. destroy (for deleting processes)

Process and context switch can be carried out using pure assembler code as well as a combination of C and assembler (controllable by a macro). Project is heavily commented and documented. You will find the documentation under documentation/html (this directory contains an automatically documentation generated by Doxygen). This project was implemented and tested for an Arm-based processor (Arm Cortex M4). A concurrent chaser light application (with 8 LEDs) was used for illustration and demonstration. 8 processes take care of 8 leds avaialble. There are several modes of operation which you see in the video below.

Video

second_project_ebsy_video.mp4

About

A minimal cooperative multitasking operating system with a process management API and chaser light application as demo.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published