| Echtzeit- BS | traditionelles MT- BS |
| Auf den "Worst Case" optimiert | Auf den durchschnittlich auftretenden Fall optimiert |
| Vorhersagbarkeit des Scheduling | Effizientes Scheduling |
| Einfache Ausführung | Große Anzahl von Services |
| Minimierung der Zeit zwischen geplanter und tatsächlicher Ausführung | Maximierung des Datendurchsatzes |



1 get_time(t);
2 while (read(data) != EoF) {
3 f(data);
4 t = t + period;
5 get_time(t1);
6 delay(t-t1);
7 }
1 get_time(t);
2 while (read(data) != EoF) {
3 f(data);
4 t = t + period;
5 delay_until(t);
6 }
1 p = create_new_process();
2 inform_scheduler(p, processing_time, period);
3 while (TRUE) {
4 schedule_me();
5 /* die eigentliche Berechnung */
6 f();
7 }
1 int goodness(struct task_struct *p, struct task_struct *prev)
2 {
3 if (p->policy != SCHED_OTHER)
4 return 1000 + p->rt_priority;
5 weigth = dynamic priority;
6 if (weight && (p == prev))
7 weigth +=1;
8 return weigth;
9 }
1 struct timer_list {
2 struct timer_list *next;
3 struct timer_list *prev;
4 unsigned long expires;
5 unsigned long data;
6 void (*function)(unsigned long);
7 }
1 void timer_interrupt()
2 {
3 jiffies++;
4 run_timer_list = 1;
5 do_other_stuff();
6 }
1 void run_timer_list()
2 {
3 while (timers in queue) {
4 if (timer->expires <= jiffies){
5 (*timer->function)(timer->data);
6 timer = timer->next;
7 detach timer from queue;
8 } else {
9 break;
10 }
11 }
12}
... [ Was bedeutet Echtzeit?
]
... [ Thema Echtzeit für Linux
]
... [ Linux als Echtzeitbetriebssystem
]
... [ KURT als eine mögliche Lösung
] ...