Абзац
:: Поиск
:: ПоддерЖка ПрОекта
Webmoney:
  • Z610389805629
  • R427996570517
  • E023541002978
  • :: №2 (03.12.2000) ПрОсмотрОв: 4157

    Автор: Владимир Булчукей / Wlodek Black.

    Рубрика: Читатель читателю.

    Номер: №2 (03.12.2000).



    AUTOMAT

    В наше время звучит много слов о несостоятельности Спектрума в качестве полноценного домашнего компьютера, в силу скудных аппаратных возможностей. Однако многие процессы не требуют сверхбыстродействия и значительных объемов памяти, например: обмен почтой с ббс, исполнение функций АОHа, контроллер охранной и пожарной безопасности, управление всем спектром электробытовых приборов и т.д.

    Hашей группой планируется развитие и реализация системы внешнего управления и контроля (Automat) на основе Спектрум-совместимых компьютеров. Hиже приводится пример организации подобной системы для автоматизации работы с электронной почтой в стандарте FTN (Фидо-подобные сети).


    Комплекс программно-аппаратных средств будет включать в себя:

    1)*CMOS-часы.

    2) Схема включения и отключения питания компьютера. Управляется будильником часов, программно через порт управления питанием и, для станций компьютерных сетей, включение по телефонному звонку.

    3)*Схема активизации TR-DOS при включении питания для обеспечения автостарта программы boot.B.

    Все вышеперечисленные аппаратные средства кроме часов будут полностью блокироваться переключателем ON/OFF.

    4)*EMS + оверлей BATPROC.

    5) EWS или REAL COMMANDER + аналогичный оверлей к этим программам.

    6)*PKUNZIPм.

    7) LARA CROFT for Automat.

    Работа будет происходить например следующим образом:

    - В 23:00 срабатывает будильник (1).

    - Схема (2) включает питание компьютера.

    - Схема (3) - активизирует TR-DOS для автозагрузки.

    - Загружается программа (5), имеющая имя «boot.B», которая в данной системе выполняет функции ядра. Все остальные программы считаются внешними. Запускается оверлей трансляции батфайлов.

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

    Для описываемого примера в 23:00 начался почтовый час, это время

    есть в списке событий и оверлей переходит к обработке задачи WORK_WITH_BBS.

    Задача: WORK_WITH_BBS

    - Устанавливается время срабатывания будильника на N минут вперед, N зависит от времени, необходимом для выполнения текущей задачи, например для дозвона на BBS можно считать это время за 1-2 часа. В случае, если задача не была корректно завершена (например произошло зависание внешней программы) повторное срабатывание будильника вызовет аварийное выключение питания.

    - Устанавливается переменная, отвечающая за выполнение предыдущих действий. Все переменные записываются в неиспользуемый сектор системного трека, теперь при старте уже не будет проверяться список событий, по значению этой переменной сразу можно будет перейти к следующему шагу текущего события.

    - Запускается внешняя программа, обрабатывающая текущее событие (в нашем примере - EMS, у которой, в свою очередь, тоже есть оверлей трансляции батфайлов). При нормальном завершении любая внешняя программа должна обратиться к адресу #0000 в ПЗУ TR-DOS, что вызовет повторный запуск ядра (командера и транслятора батфайлов).

    - Запускается распаковщик пришедших пакетов *.zip - программу PKUNZIPm.B - это вариант распаковщика, который автоматически распаковывает zip файлы и запускает программу, имя которой прописано в сетапе - для нашего примера это все тот же «boot.B».

    - Транслятор запускает очередную внешнюю программу - LARA CROFT, адаптированную для автоматической работы: при вызове ее ядром не должно быть запроса на установку текущего времени, а должен сразу включиться тоссер, после окончания тоссинга должно запуститься ядро.

    - Ядро удаляет промежуточные файлы: *.zip, *.CKT, все иные файлы, дополнительно скачанные с BBS перемещает на винчестер (при наличии оного) на один из архивных TRD-образов, уплотняет диск.

    - Задача WORK_WITH_BBS завершена. Ядро определяет, что следует за ней в списке событий что бы определить время последующего включения. Допустим, в 07:00 задана задача ALARM. Устанавливаем будильник на 07:00, паркуем головки всех используемых дисководов на последний трек для защиты дисков от бросков питания во время включения - отключения компьютера и выключаем питание установкой соответствующего бита в порту управления питанием.

    - В 07:00 срабатывает будильник и включается компьютер. Загружается ядро, определяется текущая задача.

    задача: ALARM - Запускается программа «ALARM.B». Она работает как будильник, после чего завершает свою работу и запускает ядро.

    - Завершается обработка задачи ALARM, устанавливаем следующую: в 23:00 задача WORK_WITH_BBS и все сначала.

    Возможен вариант: - В 17:00 включился компьютер. Задача с таким временем в списке событий не найдена, видимо это пользователь сел почитать почту. Исполнение батфайлов останавливается, компьютер работает как обычно.

    Конечно, во время работы ведется лог-файл.

    Spencer Winset of Diamond group
    Merlin of Diamond group


    Публикуется в сокращении,  полный вариант в эл. газете «NICRON» # 119.

    © 2004-2013 Perspective group