реклама на сайте
подробности

 
 
> Параметры оценки архитектуры ОС, предлагаю
TMX
сообщение Feb 21 2005, 08:46
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 19-01-05
Из: Москва
Пользователь №: 2 064



Хочу обзор сделать, по существующим на рынке ОС для мк.
Не просто краткую аннотацию, такие уже есть,
например:
http://www.realtime-info.be/encyc/buyersgu...tos/Dir228.html
http://www.dspconsulting.com/rtos.html
(это просто первые в моем URL-album)
, а хочу обзирать именно конкретные подходы к построению архитектур.

Предлагаю сокращенный набор параметров для оценки архитектуры:
(их больше, просто, чтобы показать принципы)

-. Многозадачность (есть, нет, кооперативная, вытесняющая, набор примитивов для cycl.exec и т.д.)
-. Приоритеты задач (стат, динам, несравниваемые и др.)
-. Особенности переключения задач (контекст, стеки и т.д.)
-. Реализация планировщика.
-. Реализация диспетчера.
-. Оценка преимуществ и недостатков методов планирования/диспетчеризации для конкретных задач.
-. Предотвращение инверсии приоритетов (есть, нет, методы)
-. Реализация искл. доступа к ресурсам.
-. Контроль задач (события, таймеры и др.)
-. Запуск системных и доп. процессов (методы для таймеров, ISR и т.д.)
-. Реализация HAL.
-. API - предоставляемые возможности.
-. Доп. средства (GUI, TCP/IP и т.д.)
-. Общая оценка.

Результаты желаю выложить в интернет.
Примерная производительность - 4 ОС/мес, если не попрет.
Предлагаю это из шкурных соображений:
1. закончились новые идеи, а спросить не у кого.
2. последняя моя ОС получилась хороша, но вдруг изобрел велосипед?

Поэтому объявление:
Приму в дар исходники коммерческих ОС для исследовательских целей, (это не пиратство, это промышленный шпионаж).
Особо интересуют:
-. Integrity - как реализовано переключение задач без выкл. прерываний,
-. PORTOS - реализация приоритетных функций,
-. smx - реализация связных стеков задач
-. все остальные.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
merk0
сообщение May 7 2005, 20:52
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 5-05-05
Пользователь №: 4 763



Поскольку у вас вопросов много..я отвечу пока только на один. Возможно он изменит ваши взгляды на систему.

...У вас какой-то сложный взгляд на мир вычислений.
Предлагаю модель - проще не придумаешь
1. Есть треды как независимые единицы исполнения.
2. Есть разделяемые тредами обьекты - например какие- то данные. Такие данные защищаются явными или скрытыми механизмами разделения доступа. Они защищают только от проникновения тредов и больше ни от чего.
3. Есть События - этакие "письма" пересылаемые внутри системы между обьектами. События могут быть адресными и широковещательными или групповыми.
4. Есть Источники Событий - то, что может посылать события.
5. Треды могут вставать в ожидание событий. Треды также могут быть источниками событий. Треды дождавшиеся События, активизируются только решедулером.

Все!
Модель системы готова.

Это примерно модель java.
Все остальные модели являются ее клонами или раширениями. Разумеется когда мы говорим о многозадачности.

Далее, то что вы называете - таймерами, если я правильно вас понял - это просто Источники Событий некого рода.
То что вы называете прерываниями - тоже источники событий.

Чтобы написать( как вы спрашиваете ) ядро без запрета прерываний - нужно просто прерывания оформить в стиле источников событий. То есть физический источник события просто вкидывает Событие в некий буфер, и обозначает ассоциированную процедуру обработки или тред ожидающий события как Активный. А решедулер, затем запускает эти помеченные как активные, обьекты(треды). Это самыми общими словами. ТО есть запрет прерываний тут происходит только на этапе вбрасывания события в буфер и выборки его тредом из буфера. Чтобы источник событий и приемник - не столкнулись.

Иного способа написать ядро без запретов прерываний - нет.

Ваше требование - юзать обьекты ядра из прерываний - тут же делают невозможным написать ядро без запрета прерываний.

И вы повторяете эту распространенную ошибку.
Приведет она вот к чему.
Если в реализации ядра вы станете запрещать прерывания, то даже регулярные треды общаясь между собой через функции ядра, будут запрещать их. При активной работе пользовательских программ окажется что прерывания часто запрещены и ваша система откажется принимать данные с портов(например), просто при активной работе прикладных тредов. То есть прикладные задачи блокируют ввод-вывод.
Вот такие дела.

Итак - казалось вы хотели быстрой реакции.. а получили - никакую реакцию и пропуски событий.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- TMX   Параметры оценки архитектуры ОС   Feb 21 2005, 08:46
- - AlexandrY   Меня бы интересовали другие параметры. Более жизне...   Feb 21 2005, 10:22
|- - TMX   Цитата(AlexandrY @ Feb 21 2005, 13:22)Меня бы...   Feb 21 2005, 14:45
- - xyzzy   Цитата(TMX @ Feb 21 2005, 01:46)-. Многозадач...   Apr 11 2005, 04:53
|- - TMX   Цитата(xyzzy @ Apr 11 2005, 07:53)Цитата(TMX ...   Apr 11 2005, 06:52
|- - RVlad   >... Эта проблема, на мой взгляд, интересна для...   Apr 12 2005, 16:02
|- - TMX   Цитата(RVlad @ Apr 12 2005, 19:02)Чтобы сдела...   Apr 13 2005, 16:21
|- - RVlad   Я думаю , что в значительной степени то - о чем мы...   Apr 14 2005, 14:52
|- - TMX   Вы правы, я тоже стараюсь разбить систему на неско...   Apr 15 2005, 05:49
|- - RVlad   Мнея эта тема интересует в том числе и прагматичес...   Apr 15 2005, 11:11
|- - TMX   Цитата(RVlad @ Apr 15 2005, 14:11)Мнея эта те...   Apr 18 2005, 14:05
- - merk0   ***Мнея эта тема интересует в том числе и прагмати...   May 6 2005, 14:45
|- - TMX   Спасибо за развернутый топик. Пожалуйста, прочтите...   May 7 2005, 12:33
|- - TMX   Цитата(merk0 @ May 7 2005, 23:52)Это примерно...   May 11 2005, 08:32
|- - TMX   Цитата(merk0 @ May 7 2005, 23:52)Далее, то чт...   May 11 2005, 09:53
- - merk0   ***но известное (т.е., например, в диспетчере: при...   May 11 2005, 12:04
|- - TMX   Цитата(merk0 @ May 11 2005, 15:04)Проблемы бу...   May 11 2005, 15:03
- - merk0   Если таймеры у вас в системе "жесткие", ...   May 11 2005, 12:23
|- - TMX   Цитата(merk0 @ May 11 2005, 15:23)Если таймер...   May 11 2005, 15:19
- - merk0   ***Основной вопрос - как управлять приоритетом это...   May 11 2005, 16:06
|- - TMX   Цитата(merk0 @ May 11 2005, 19:06)Зачем? Тайм...   May 11 2005, 18:08
- - merk0   теоретически вы правы, про таймеры..но практически...   May 11 2005, 19:38
|- - TMX   Таймеры в системе о которой я говорю вообще должн...   May 12 2005, 05:49
- - merk0   В той идеологии, что исповедую я, жесткие таймеры ...   May 12 2005, 10:47
|- - TMX   Цитата(merk0 @ May 12 2005, 13:47)сверху вниз...   May 12 2005, 10:59
- - merk0   я бы не стал на вашем месте концентрироваться на э...   May 12 2005, 14:27
|- - TMX   Цитата(merk0 @ May 12 2005, 17:27)я бы не ста...   May 12 2005, 15:08
- - merk0   по моему вы увлекаетесь этими приоритетами. Как по...   May 12 2005, 17:29
|- - TMX   По моему мнению, критерий РВ один - предсказуемост...   May 13 2005, 05:02
- - merk0   Вы очень уж абстрактно академично рассматриваете с...   May 14 2005, 09:13
|- - bmf   Цитата(merk0 @ May 14 2005, 12:13)На практике...   Sep 3 2005, 10:11
- - Kopa   По моему убеждению, интересной идеей реализации R...   Sep 1 2005, 20:29


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 01:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01413 секунд с 7
ELECTRONIX ©2004-2016