RK0

RK0

The Real-Time Kernel '0'

  • 📃Docbook
  • 💾GitHub
  • ✏️Blog
  • RK0 V0.8.0 – A Message-Passing kernel, if you want.

    The changes in RK0 V0.8.0 were to be published a couple of months ago, but were not for reasons. What is really worth commenting on is the Message Passing. Unified Message-Queue On version 0.8.0 (except for the MRM Protocol), all message passing is constructed over a single abstraction: a Message Queue that passes data by…

  • RFC: About Real-Time, Responsiveness and Throughput

    I was reading a book provided by a mainstream real-time kernel (which I acknowledge as high-quality). When discussing time-slicing and periodic tasks, the book notes that not using time-slicing would result in decreased fairness for tasks with the same priority, and therefore, it is an ‘advanced technique’. I disagree with the term ‘advanced‘; I would…

  • About the Building System: How RK0 Gets Up and Running

    This blog complements the earlier post “About Processes, Tasks and Threads”. That explained what runs in RK0; this one explains how the toolchain arranges it. In constrained systems such as those targeted by RK0, the boundary between software and hardware is blurry. The linker decides exactly where every byte of code or data will reside, and the start‑up…

  • About Processes, Tasks and Threads

    This blog provides a clear distinction on these terms often used interchangeably. Execution Image An execution image generated after compiling, assembling, and linking a C program has the following sections: These sections are statically allocated—that is, after creating the image, the addresses for the objects contained in the text, data, and bss sections are already…

  • About Inter-Task Communication (Part 2)

    So far, we have discussed tasks coordinated by Signals. Signals do not convey data in the strict sense—the meaning of the communication is implicit. MESSAGE PASSING The read value on a sensor, a checksum, a command with its payload—all of these are examples of Messages. Message Passing provides the mechanisms to exchange data and also…

  • About Inter-Task Communication (Part I)

    This blog presents a conceptual overview of inter-task communication based on Signals and their corresponding services within RK0. Consider uniprocessor environments. Refer to the RK0 Docbook for details and usage snippets. Task States For our purposes, a task, as a concurrency unit, can assume three states: Synchronisation or Coordination The simplest form of synchronisation is…

  • Mail

Copyright Š 2025 Antonio Giacomelli

  • Subscribe Subscribed
    • RK0
    • Already have a WordPress.com account? Log in now.
    • RK0
    • Subscribe Subscribed
    • Sign up
    • Log in
    • Report this content
    • View site in Reader
    • Manage subscriptions
    • Collapse this bar