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
On 27 May 2016, at 1:16 am, Julien Delange
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.