2021-06-04: Bern Kernel v0.2.0
Meeting Information
| Subject: | Milestone Meeting: Kernel v0.2.0 |
| Date/Time: | 04.06.2021, 10:00-10:39 |
| Location: | MS Teams |
| Note Taker: | Stefan Lüthi |
Participants
- Stefan Lüthi (maintainer)
- Roger Weber (advisor)
Agenda
- Milestone: Kernel v0.2.0
- Documentation Structure
Meeting
- Milestone: Kernel v0.2.0
- Evaluation of milestone objectives:
- All issues regarding the milestone are done
- A few highlights:
- For mutex and semaphore a generic event system was added. The synchronization primitive handles data access, while the event system manages tasks that are waiting for access.
- The ARM Cortex-M4 Memory Protection Unit (MPU) features:
- 8 regions
- Region size from 32B to 4GB in \(2^n\) spacing
- 8 equally sized subregions per region (enabled by 8 bit mask)
- Region address must be a multiple of region size
- Access levels for (un)privileged mode: no access, read-only, read/write
- Prevent instruction fetch
- The project is on track, no measures have to be taken
- Next steps:
- Write documentation
- Port existing 3D Orientation Demo to Bern RTOS
- Evaluation of milestone objectives:
| Action Item | Owner | Due Date | Done |
|---|---|---|---|
| Write documentation | Stefan Lüthi | 28.06.2021 | |
| Port 3D Orientation Demo to Bern RTOS | Stefan Lüthi | 28.06.2021 | |
| Clean source code | Stefan Lüthi | 28.06.2021 | |
| Release Bern RTOS to crates.io | Stefan Lüthi | 28.06.2021 |
-
Documentation Structure
-
Abstract
-
Introduction
- Why Bern RTOS
- Previous work
-
Design Overview
- Design Principles (SRS Summary)
- Architecture
- Everything the RTOS should do
- Memory separation
- syscalls
-
Implementation Details
- Scheduler
- Preemptive scheduling
- Task list
- Task
- Data structure
- Code example for user
- Synchronization Primitives
- Event System
- Mutex
- What is a Mutex for?
- Design
- Code example for user
- Semaphore
- What is a Semaphore for?
- Design
- Code example for user
- Memory Protection
- Application segmentation and enforcement
- Hardware Limitations & trade-off
- Scheduler
-
Results
- Demo
- Memory footprint and context switch instruction count
-
Evaluation of objectives
-
Conclusion and outline for next project
-
Appendix A: Kernel SRS
-
Appendix B: GitLab Issue summary
- Issues solved
- Weekly work time
-
- Structure approved
Next Meeting
according to sprint cycle