Most important of all in hard real-time systems is predictability which
means you are able to
calculate the execution time (WCET) of your system and so you can
predict it.

I think, it is sufficient to be deterministic - you cannot predict the
flow of control in an event-driven system, it depends on the occurence
of events, so event-driven systems are not really predictable in
comparison to time-driven systems, but, nevertheless, you can build
hard real-time systems with an event-triggered approach, too.

Also important is to be able to describe your application to the system,
like period, deadline, priority and all the parameters that describe the
temporal behavior of tasks (or threads).

agree

Finally, the scheduler or the scheduler mechanisms that are available
are also important to have flexibility enought to use different
scheduling policies.

Why? There are many time-driven operating systems that just support
schedule tables and these operating systems are definitely able to
deal with hard deadlines.

How you define for example the temporal paremeters of a thread on eCos?
 - the function /cyg_thread_create/   has no arguments about the
temporal behavior of the thread

Why is an explicit notion of these parameters necessary during
runtime? One should make up his mind about this stuff before the
system is online, therefore, also the problems related to these timing
parameters should be resolved offline, so, there should be no need to
have this information during runtime except, maybe, debugging.

Ciao, Fabian.

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

Reply via email to