|
VxWorks, пофлудим немного... |
|
|
|
Jan 23 2008, 12:54
|

Профессионал
    
Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380

|
Доброго времени суток господа! Вот уже неделю, как изучаю сабжевую систему, а к пониманию не приблизился. Нет, конечно прикладной софт на нее я уже писать смогу, но без понимания философии системы это дурное дело. Вот приблизительный список нескладух: 1.Переключение задач или вытесняющее или раунд-робин. Если есть вытеснение, зачем карусель? 2.Отсутсвует защита памяти, но зато есть управление виртуальной. 3.Изумительные вызовы типа taskLock() и taskSafe(), чтобы если уже залочить задачу навеки, чтобы никто ее не снял и не вытеснил. Это особо интересно в контексте использования этой оси в критических приложениях. 4.Собственные вызовы типа taskSpawn() перемежаются со стандартными POSIX, тоже самое с объектами синхронизации.
Вобщем выглядит это похоже на ранние поделки Мелкософт. Но ведь система сертифицирована как супер-пупер надежная и устойчивая. Кто-то может объяснить в чем тут дело?
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
 |
Ответов
|
Feb 4 2008, 18:18
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 24-08-05
Пользователь №: 7 937

|
Вот, например, цитата из VxWorks 5.5 Programmer’s Guide (Part #: DOC-14617-ZD-00)
Round-Robin Scheduling
A round-robin scheduling algorithm attempts to share the CPU fairly among all ready tasks of the same priority. Round-robin scheduling uses time slicing to achieve fair allocation of the CPU to all tasks with the same priority. Each task, in a group of tasks with the same priority, executes for a defined interval or time slice. Round-robin scheduling is enabled by calling kernelTimeSlice( ), which takes a parameter for a time slice, or interval. This interval is the amount of time each task is allowed to run before relinquishing the processor to another equal-priority task. Thus, the tasks rotate, each executing for an equal interval of time. No task gets a second slice of time before all other tasks in the priority group have been allowed to run. In most systems, it is not necessary to enable round-robin scheduling, the exception being when multiple copies of the same code are to be run, such as in a user interface task.
|
|
|
|
Сообщений в этой теме
beer_warrior VxWorks Jan 23 2008, 12:54 Andrew2000 Цитата(beer_warrior @ Jan 23 2008, 15:54)... Jan 23 2008, 15:22 beer_warrior Цитата1. А возможно такое - вытеснение по приорите... Jan 23 2008, 15:31 Andrew2000 Цитата(beer_warrior @ Jan 23 2008, 18:31)... Jan 23 2008, 15:45 beer_warrior ЦитатаВыключать, чтоб задачи сами контролировали к... Jan 23 2008, 16:15 Andrew2000 Цитата(beer_warrior @ Jan 23 2008, 19:15)... Jan 24 2008, 10:54 grau Цитата(beer_warrior @ Jan 23 2008, 15:54)... Jan 24 2008, 09:10 beer_warrior ЦитатаPreemption - вытеснение низкоприоритетной за... Jan 24 2008, 12:32 tag Цитата(beer_warrior @ Jan 24 2008, 15:32)... Jan 31 2008, 07:19 yuri_t Round-robin - вещь, в общем-то, ненужная. А почему... Jan 30 2008, 18:07 AlexandrY Round-robin - вещь необходимейшая.
Приоритетной сх... Jan 31 2008, 13:54 yuri_t Давайте определимся с терминологией.
Round-ro... Feb 2 2008, 18:10 Andrew2000 Цитата(yuri_t @ Feb 2 2008, 21:10) Если ... Feb 2 2008, 21:04  Alex B._ Цитата(Andrew2000 @ Feb 3 2008, 00:04) ??... Feb 3 2008, 09:27 AlexandrY Я считаю, что это неправильное определение.
Round... Feb 4 2008, 13:15  tag Цитата(AlexandrY @ Feb 4 2008, 16:15) Rou... Feb 4 2008, 13:39 vshemm Преемптивность - это, как сказали, вытеснение теку... Feb 3 2008, 11:36
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|