Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[14]

•пропускать с входа на выход данные, не предназначенные для этого узла,

•получать пакеты данных для узла и •

Для подключения ПК к такой сети нужно включать его в разрыв кольца (через микросхему МАХ232) и выполнять получение/отправку пакетов и мониторинг кольца с помощью специально написанного для этого пакета программ, аналогичного сетевому драйверу узла сети.

Недостатки такой сети:

1.низкая надежность - при отказе узла или ошибках в его сетевом драйвере работа кольца нарушается;

2.низкая скорость - 115 Кбит/с при включении в колько ПК.

Чтобы реально освоить Форт, необходимо написать свой пакет разработки - этот принцип уже давно сформулирован как "настоящий фортер всегда пишет себе свой Форт".

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

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

10.1 Для преподавателей

Если вы решите использовать этот раздел для обучения, на первом занятии необходимо:

1.научить включать и корректно выключать компьютер;

2.пользоваться поисковыми системами41;

3.искать информацию за счет использования поисковых систем и общением через форумы, по электронной почте и в off-line.

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

41 http: google.com, http: ya.ru

Практикум


10.2Выбор языка для интерпретатора байт-кода

Язык - только C++ а.к.а. платформенно-независимый ассемблер:

• компиляторы есть для всех типов компьютеров (платформ) от самых мелких 8-битных контроллеров (PIC, Atmel AVR) до супер-ЭВМ с сотнями процессоров;

сборки мусора, динамической типизации и т.д. ВУЗе давить !

В этой книге не используются ООПшные возможности C++, кроме комментариев и мелких вкусностей типа определения переменных по мере необходимости - для наших задач достаточно функциональности pure С. Если вы вынуждены использовать компилятор, который понимает только чистый С, вам придется немного подправить примеры, например заменить комментарии на /* комментарии */ и вынести объявления переменных в начало определений функций.

Если вам нравится писать на другом языке42, будет еще лучше - в этом случае вам

Особые извращенцы с удовольствием все напишут на чистом ассемблере, Лиспе и Фортране.

10.3Выбор рабочей операционной системы

В качестве рабочей среды крайне желательно использовать Linux или другой вариант OpenSource UNIX (*BSD, QNX Neutrino) - если есть возможность использовать лицензи-онно чистое ПО, применение ворованных Windows и Delphi в учебных заведениях нужно преследовать по всей строгости закона.

10.4Целевая платформа

Целевая платформа - по желанию, это может быть и обычный Win/Linux/DOS, и спаянный собственными руками 8-битный компьютер на Atmel AVR, и мобильник43.

В книге будет приведен пошаговый пример написания Форта для Linux.

10.5Установите средства разработки

используя документацию на них, для поиска пакетов используйте Internet.

Linux/UNIX: установите gcc, libc6-dev и любой стандартный Форт для вашей ОС44.

42особенно популярен Паскаль и Java

43используя интерпретатор байт-кода на Java ME

44BFCD, порт SP-FORTH для Linux, GNU Forth, FICL и т.д.

версия 26 октября 2005 г.ФОРТ


Windows: установите бесплатный Visual С/-Ь 6 или один из клонов gcc для Windows (отдельно или в составе пакетов MinGW/???), выбор форт-систем очень большой, я использую SP-FORTH.

DOS: Borland раздавал в свободное пользование Turbo С 2.0, также можно использовать порт gcc для DOS - DJGPP2, Форт - GP-FORTH, для систем с 386+ процессором очень удобен SMAL32, доступны старые версии SP-FORTH.

Единственное критическое требование - ваша форт-система должна быть регистро-зависимой, то есть отличать IF и if (это важно для написания ассемблера виртуальной машины, целевого компилятора и вашей собственной форт-системы).

10.6 Напишите пустую программу, выводящую параметры, указанные в командной строке

Вот "рыба" для написания программ для POSIX систем (Linux, *UNIX, Windows, DOS и т.д.):

#include <stdio.h> #include <stdlib.h> #include <assert.h>

#define uint unsigned int

int main(int argc, char *argv[]) {

assert(argc>l);

for (uint i=0;i<argc;i++)

printf ("°/.s\n",argv[i]);

Макрос assert (<условие>) будет использоваться для run-time проверки корректности значений переменных, в частности здесь мы проверяем что программа была запущена как минимум с одним параметром ком.строки45.

Поместите этот код в файл vm.cpp и откомпилируйте его:

forth@debian:~$ cd /tmp

forth@debian:/tmp$ vim vm.cpp

forth@debian:/tmp$ gcc -o vm vm.cpp

forth@debian:/tmp$ ./vm

vm: vm.cpp:9: int main(int, char **): Assertion argc>l failed. Aborted

forth@debian:/tmp$ ./vm 1 2 3 5 this is a test

this is

45 это будет имя бинарного файла с байт-кодом

ФОРТверсия 26 октября 2005 г.



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15]