Overheads in Schedulability Analysis

Despite best efforts there are always some overheads in the system and these must be taken for systems in industrial context: Context switches Interrupts RT clock overheads These overheads vary depending on the priority scheduling model. Here I will show how these could be taken into consideration in Fixed Priority. Context switches are nothing more...

Proposition Theorems

Propositions can be simplified to make them simpler to understand. Idempotence: and . Excluded middle: and Identity: and . Strictness: and . Double negation This is easily provable: construct truth tables with rows for and . Associativity Communtativity Distributivity de Morgan There is a convention of priority among connectives, together with the associativity of and...

Truth Values & Logical Propositions

Statements Logic is one of the most fundamental aspects of computer science - reasoning. Reasoning allows us to determine whether a particular statement is true or false. A statement is a collection of symbols that has a truth value - either false (F) or true (T). Let us consider two statements: Paris is in France...

Cooperative Scheduling

Truly preemptive behavior in a system is not always acceptable especially in safety critical systems. Cooperative scheduling (aka deferred preemption) is used to splits tasks into slots. Interestingly enough, deferred preemption may lead to increased schedulabiliy of the system primary because the mutual exclusion is achieved via non-preemption and the task computabilty time tends to...

Release Jitter and Timer Granuality

Normally, perodic tasks within the system do not suffer release jitter, however the system may have some granularity on the timer in which case there is some release jitter e.g. if a task is released every 15 ms but the implementation restricts granularity of the system timer to 10 ms, the periodic task will run...

Release Jitter

In real-time systems, release jitter occurs when the task's arrival is not the same as when the task is released. This is very common issue for distributed systems. Suppose you have two tasks: one periodic and one sporadic . The periodic task () releases the sporadic task on another processor. We could attempt to model...