|
Distributed operating systemsWhen the current task finishes, a choice among the now-ready tasks is made. With static algorithms, in contrast, the scheduling decisions, whether preemptive or not, are made in advance, before execution. When an event occurs, the runtime scheduler just looks in a table to see what to do. Finally, scheduling can be centralized, with one machine collecting all the information and making all the decisions, or it can be decentralized, with each processor making its own decisions. In the centralized case, the assignment of tasks to processors can be made at the same time. In the decentralized case, assigning tasks to processors is distinct from deciding which of the tasks assigned to a given processor to run next. A key question that all real-time system designers face is whether or not it is even possible to meet all the constraints. If a system has one processor and it gets 60 interrupts/sec, each requiring 50 msec of work, the designers have a Big Problem on their hands. Suppose that a periodic real-time distributed system has m tasks and N processors to run them on. Let Ci be the CPU time needed by task i, and let Pi be its period, that is, the time between consecutive interrupts ...» |
Код для вставки книги в блог HTML
phpBB
текст
|
|