:: СОДЕРЖАНИЕ НОМЕРА
:: Газетные рубрики
:: АВТОРЫ
:: Поиск
:: Поддержка проекта
Webmoney:
|
:: №2 (03.12.2000) Просмотров: 5578
Автор: Владимир Булчукей / 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 Публикуется в сокращении, полный вариант в эл. газете «NICRON» # 119. |