Логотип.
 Разделы сайта Cтатьи.
Сайт в разработке!

Статистика сайта.

Посещений за день: 76
Посещений за месяц: 2607
Посещений за год: 12174


Баннеры.

DMconnect
Maksy's PWS


Статистика в картинках.

likes counter


  • Главная.
  • Новости.
  • Программы.
  • Файлы.
  • Контакты.
  • Чат "Пиво".
  • Форум.
  • Статьи.
  • Ссылки.
  • Гостевая.
  • Multitask. Реалии и мифы...

     Итак, многозадачность. Многие думают, что данный девайс не может быть реализован на SPECCY в силу того, что его ресурсы и скорость проца не достаточно развиты. Суки, п!@#$!$е на свой ПыЦы и д@#$%&е на многозадачность LINUX'A.

      Короче, хватит маты гнуть, к делу. Хочу сказать, что алгоритм многозадачности полностью реализован на ALASM'e, но не оптимизирован. Однако, при этом показывает достаточно высокие показатели скорости выполнения прог, прицепленных к нему (3 задачи). При этом коэффициент торможеня в среднем составляет где-то 1.1-1.17, но я знаю как его уменьшить.

      Ну всё, перейдем к описанию алгорима многозадачности. Суть его заключается во "влаживании" прерываний друг в друга. Примерно так:

      1. Идёт выполнение основной проги на EI (с этим проблемы, но о них позже);

      2. Пришли прерывания - лезем на прогу обработки; та сохраняет полностью ситуацию до прерывания, меняет вектор - и на другую задачу.

      3. Исполняем вторую задачу.

      4. Пришли прерывания и всё аналогично пункту 2. Так до последней задачи после которой - на основной обработчик, а из него в основную прогу.

      Ограничения на использование этого алгоритма следующие:

      1. Память не ниже 512Кб (а где же еще держать задачи);

      2. Стабильная шина, а то получится, что таблицы векторов будут занимать больше, чем задачи.

      3. Стиль программирования тоже будет особый. В частности, проги должны будут исполняться с любого адреса;

      А вот то, что я хочу реализовать - так это диспетчер задач, который будет распределять задачи по приоритетам (очень хитро: по длине и времени исполнения за INT), разбивать память на блоки (скорее всего по 2Кб) и следить за границами задач и за процессом обмена информацией между задачами и многое другое до мелочей. Скорее всего именно он и будет основной задачей. Вот и всё, что я хочу сказать о многозадачности и её релизации на SPECCY...

    >>

    BitByByte, 2000 г. (2026).