Details

    • Type: Epic
    • Status: In Progress
    • Priority: High
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Core Kernel / Common
    • Labels:
      None
    • Epic Name:
      Unified Kernel

      Description

      As a Zephyr developer, I would like a unified and more complete kernel API with optimized performance, so that I don't have to choose between the nanokernel or the microkernel when developing applications.

      The Zephyr dual-kernel model is confusing for some, and is somewhat harder to use than traditional cookie-cutter RTOS kernels by even experienced developers. Also, while the nanokernel performances for both footprint and speed of execution (context-switch time, latency, etc.), the microkernel could be improved on both fronts.

      Problems

      • Non-intuitive nature of the nanokernel/microkernel split
      • Double-context switch affecting kernel performance (speed and footprint)
      • Duplication of object types between the nanokernel and microkernel
      • System initialization running in the idle task

      Proposed Improvements:

      • Make the nanokernel 'pre-emptible thread' aware
      • Unify fibers and tasks as one type of threads by dropping the Microkernel server
      • Allow cooperative threads to operate on all types of objects
      • Clarify duplicated object types
      • Create a new, more streamlined API, without any loss of functionality

        Attachments

          Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            Activity

              People

              • Assignee:
                ajross71 Andy Ross
                Reporter:
                gsvij Gajinder Vij
              • Votes:
                0 Vote for this issue
                Watchers:
                13 Start watching this issue

                Dates

                • Created:
                  Updated: