That helps a lot. About the isolation, let me explain. In approaches like ARINC653 (the OS used in the avionics industry) or MILS (which is more in a research stage), each partition gets a fixed amount of time. To clarify, let's assume that a partition is a thread for seL4.

By isolation, I then mean that the scheduler repeats the same static schedule. There is a schedule of all tasks that is repeated every XXX ms (XXX being what we call the major frame). Nothing can preempt this. Such a schedule is done for safety (every task has the time to be executed) and security (nobody can infer any information based on the task execution time).

I need to read more the manual of the RT branch. I will do that.

Also, any information about how to try/test it? How do you guys test the RT extensions? What emulator are you using for development purposes?

Thanks!

Julien.


On Thu, May 26, 2016 at 1:21 PM, Ihor Kuz UNSW <ihor.kuz@nicta.com.au> wrote:

> On 27 May 2016, at 1:16 am, Julien Delange <julien.delange@gmail.com> wrote:
>
> 2. In the RT-camkes extensions, I have the following new attributes:
> _period
> _budget
> _priority
>
>
> What is the semantics of these attributes?

The basic model is that every CAmkES thread (unless specified otherwise) has a scheduling context (SC).  The above attributes set the parameters of the associated scheduling context.  If not explicitly specified then a thread’s SC has default values (10000) for the period and budget.  The values are in microseconds.

With regards to the period and budget they match the same attributes in the scheduling contexts as provided by the kernel.  See the kernel manual (RT version) for more details.  Priority is the same as in previous versions of seL4.

> Any information about them? How they are supposed to be isolated from each other then?

I’m not sure what you mean by isolated.  Can you elaborate?

> How to define the scheduling plan for the system then? Also, how these attributes apply to all thread: a thread is created for each interface of the component, so, how can we then define the priority/budget of each thread? Do these attributes apply to all the components of the thread?

You set these attributes per thread.  The threads are either the control thread (<component>._period, etc) or a thread per interface (<component>.<interface name>_period, etc.)

Hope this helps a bit.

Ihor.

--
Dr. Ihor Kuz
Senior Research Engineer | Trustworthy Systems | DATA61 | CSIRO
Conjoint Senior Lecturer | CSE | UNSW
E ihor.kuz@nicta.com.au T + 61 2 8306 0582
Locked Bag 6016, UNSW, Sydney NSW 1466, Australia
www.data61.csiro.au

CSIRO’s Digital Productivity business unit and NICTA have joined forces to create digital powerhouse Data61


________________________________

The information in this e-mail may be confidential and subject to legal professional privilege and/or copyright. National ICT Australia Limited accepts no liability for any damage caused by this email or its attachments.