Главная · Поиск книг · Поступления книг · Top 40 · Форумы · Ссылки · Читатели

Настройка текста
Перенос строк


    Прохождения игр    
Demon's Souls |#15| Dragon God
Demon's Souls |#14| Flamelurker
Demon's Souls |#13| Storm King
Demon's Souls |#12| Old Monk & Old Hero

Другие игры...


liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
Rambler's Top100
Образование - Сэйдж Рас Весь текст 822.4 Kb

Приемы профессиональной работы в Unix

Предыдущая страница Следующая страница
1 ... 57 58 59 60 61 62 63  64 65 66 67 68 69 70 71

     Строки 8  и  9 определяют размеры буфера для имен файлов и буфера
для записи на диск.  Значение BSIZ можно поднастроить,  если программа
работает  слишком  медленно.  У вас может возникнуть желание увеличить
BSIZ до 4096, чтобы производилось не так много операций записи.

     Строка 11  определяет  возвращаемое  значение  системного  вызова
ulimit как длинное целое.  Строка 12 резервирует буфер, который должен
быть записан.  Этот буфер находится вне основной части программы из-за
ограничений на размер внутри функций.  В основном блоке программы наи-
большая область автоматической памяти,  которую вы можете иметь, равна
размеру вашего стека. Вы можете сделать по-другому, объявив данный бу-
фер как статическую переменную в функции main.  Мы решили вынести  его
за пределы функции main и не объявлять как статическую переменную.

     Строка 16  объявляет некоторые рабочие переменные.  Заметим,  что
они помещаются в регистры.  Это сделано для ускорения работы программы
и получения более компактного объектного кода.

     Строка 17 резервирует буфер, в который вы вводите имя файла.

     Строки 19 и 20 заполняют записываемый буфер символами "x", поэто-
му после создания файла мы можем их там увидеть.

     Строка 22 выводит значение ulimit для вашего  процесса.  Обратите
внимание,  что  вызов ulimit возвращает количество блоков,  поэтому мы
должны умножить это число на 512.  В результате мы получим общее коли-
чество байтов, которое может содержать файл.

     Строки 24-26  запрашивают имя файла,  читают его и подготавливают
экран для следующего сообщения.  Строки 28-32 открывают файл с указан-
ным  именем для получения дескриптора файла.  Файл открывается для за-
писи и чтения,  создается при необходимости и обрезается,  если он уже
существует. Если операция открытия файла заканчивается неудачей, выво-
дится сообщение об ошибке, и программа завершается.

     Строки 34-42 выполняют запись.  Цикл for бесконечен,  поскольку в
середине  оператора  нет  проверки значения счетчика.  Переменная bcnt
постоянно увеличивается, пока выполняется запись.

     Строка 36 выполняет запись в файл.  Если запись  неудачна,  выво-
дится сообщение об ошибке и по оператору break осуществляется выход из
цикла.  Строка 41 выводит количество выполненных операций записи и ко-
личество  записанных  байтов.  Обратите внимание,  что данный оператор
print содержит возврат каретки (\r), а не перевод строки. Это позволя-
ет  курсору  оставаться  в одной итемах.
экране поверх старых значений.  Экран не скроллируется, что удобно для
наблюдения.  Выполнение цикла продолжается до тех пор,  пока системный
вызов write не закончится неудачей и оператор break не прекратит цикл.
Когда  это происходит,  выполнение продолжается со строки 43,  которая
печатает "end of program".  Выполнение команды "ls -l" для записанного
файла показывает, сколько байтов имеет файл максимального размера. Это
количество должно совпадать с числом,  которое сообщила вам  программа
lrgf.

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

      * ГЛАВА 8. Коммуникации в системе UNIX *

ВВЕДЕНИЕ

ФИЗИЧЕСКОЕ ПОДКЛЮЧЕНИЕ
  ПОДКЛЮЧЕНИЕ БЕЗ КОММУНИКАЦИОННЫХ УСТРОЙСТВ
  ДОСТУП МИКРО-ЭВМ ИЛИ ТЕРМИНАЛА К СИСТЕМЕ UNIX
  ПРЯМОЕ ПОДКЛЮЧЕНИЕ
  ДИСТАНЦИОННОЕ ПОДКЛЮЧЕНИЕ

ДОСТУП ИЗ СИСТЕМЫ UNIX К МИКРО-ЭВМ
  ОБНАРУЖЕНИЕ МОДЕМОВ В СИСТЕМЕ
  ИСПОЛЬЗОВАНИЕ И КОНФИГУРИРОВАНИЕ ЛИНИИ
  ИЗМЕНЕНИЕ СКОРОСТЕЙ ОБМЕНА
  ЗАХВАТ ДАННЫХ

ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА ДЛЯ КОММУНИКАЦИОННЫХ ЛИНИЙ
cuchk  -      Cu check - проверка свободной линии для cu
talk   -   Обращение к последовательному порту

ДОСТУП ИЗ UNIX В UNIX
        СВЯЗЫВАНИЕ UNIX-МАШИН
        ОБЛАСТИ ДЛЯ ПЕРЕДАВАЕМЫХ ФАЙЛОВ

СЕТЕВАЯ БЕЗОПАСНОСТЬ
        ОГРАНИЧИТЕЛЬНЫЕ ФАЙЛЫ

ОТЛАДКА КОММУНИКАЦИЙ
        uust         Состояние uucp и служебные действия
        uutrans      Передача файловых деревьев из одной системы
                     UNIX в другую систему UNIX

КОНФИГУРАЦИОННЫЕ РЕШЕНИЯ
        ПОДКЛЮЧЕНИЕ UNIX К МОДЕМУ И ГЛАВНОЙ МАШИНЕ
        ПОДКЛЮЧЕНИЕ UNIX И ТЕРМИНАЛА К МОДЕМУ
        ПОДКЛЮЧЕНИЕ UNIX К ТЕРМИНАЛУ, МОДЕМУ И ГЛАВНОЙ МАШИНЕ
        СИСТЕМА UNIX, МИКРО-ЭВМ И МОДЕМ
        АЛЬТЕРНАТИВНОЕ РЕШЕНИ
        ТРИ СИСТЕМЫ UNIX

     ВВЕДЕНИЕ

     В данной главе мы рассматриваем средства коммуникации  в системе
UNIX.  В  то  время  как в мире MS-DOS коммуникации ограничены обычно
"черным  ящиком"  (программными  пакетами  и  довольно   стандартными
модемами),  коммуникации в системе UNIX более сложны. UNIX предлагает
несколько уровней коммуникаций,  включая передачу  файлов,  удаленную
регистрацию в системе,  дистанционную почту и развитые системы обмена
сообщениями, которые могут связывать между собой сотни систем UNIX.

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

     Сначала мы  займемся  физическими  соединениями,  что   является
первым этапом установки линии связи.  Мы рассмотрим модель интерфейса
RS232-C и выясним, как подключить прямую межмашинную связь.

     Затем мы обсудим обращение к системе UNIX с микро-ЭВМ. Поговорим
о том,  какие  существуют  виды  протоколов  и  какие  из  них  лучше
использовать.

     Далее мы рассмотрим,  как пользоваться модемом, чтобы вызвать из
UNIX другие системы, например доски объявлений и системы, отличные от
UNIX. Вы можете изучить, как найти все модемные соединения в системе,
подключиться  к  последовательному  порту  и  управлять модемом.  При
обращении  к  другой  системе  вы  можете  перехватить  все   данные,
поступающие на ваш терминал,  и сохранить их в файле для последующего
использования. Командные  файлы  (cuchk  и  talk),  представленные  в
данном разделе,  следят за доступностью линии связи  и  устанавливают
связь с модемом.

     В завершение  мы рассмотрим связь между системами UNIX с помощью
утилиты uucp. Мы увидим, как и куда передавать файлы между системами,
как файлы  защиты  данных  управляют  средой  uucp  и  изучим способы
отладки механизма передачи файлов с помощью uucp.  Здесь представлены
командные  файлы  uust для выполнения рутинной работы по обслуживанию
uucp и uutrans для копирования  древовидной  структуры  каталогов  из
одной системы в другую.

     ФИЗИЧЕСКОЕ ПОДКЛЮЧЕНИЕ

     Большинство машин,  на которых работает  UNIX,  имеют  один  или
несколько последовательных  портов.  Эти  порты  - глаза и уши машин,
позволяющие  системе  связываться   с   внешним   миром.   Их   можно
использовать для подключения любого устройства с интерфейсом RS-232-C
и для связи или управления.  В  данном  разделе  мы  рассмотрим,  как
подключить  интерфейс RS -232-C для обеспечения связи типа UNIX-UNIX,
терминал-UNIX и модем-UNIX.

     Начнем с рассмотрения базовой  модели  RS-232-C,  показанной  на
рис.  8-1.  Эта модель иллюстрирует, как могут общаться друг с другом
две машины и/или терминалы либо через модемы  по  телефонным  линиям,
либо  по  прямой  (проводной)  связи.  Хотя последующее обсуждение мы
ведем преимущественно в терминах телефонных соединений, те же базовые
принципы относятся  и  к  прямой  связи,  за  исключением  того,  что
коммуникационные устройства (DCE,  data  communication  equipment)  в
этом случае не нужны.

      Рис. 8-1.     Стандартная модель интерфейса RS-232-C
---------------------------------------------------------------------------

                                _||_
  +-------+   2    *****        _||_        *****    2   +-------+
  |       |------>*     *----\   ||   /----*     *<------|       |
  | DTE-1 |       * DCE *      \ || /      * DCE *       | DTE-2 |
  |       |<------*     *      / || \      *     *------>|       |
  +-------+   3   *     *<---/   ||   \--->*     *   3   +-------+
                   *****         ||         *****

---------------------------------------------------------------------------

     На каждом конце находятся  терминальные  устройства,  называемые
DTE   (data  terminating  equipment).  В  роли  DTE  может  выступать
терминал,  например,  VT-100, или центральный процессор микро-, мини-
или большой ЭВМ.

     Каждое терминальное    устройство    DTE   должно   использовать
коммуникационное  устройство  DCE,  называемое  обычно  модемом,  для
модуляции  и  демодуляции сигналов,  проходящих по телефонным линиям.
Каждое DTE использует вывод номер 2 для передачи данных и вывод номер
3  для  получения  данных.  Поскольку то,  что передано с вывода 2 на
каждой машине,  принимается на  выводе  3  другой  машины,  возникает
перекрещивание телефонных линий между устройствами DCE.

     Подсоединение и обработка сигнала  между  DTE  и  DCE  полностью
соответствуют  стандарту RS-232-C.  Аппаратный протокол позволяет DTE
использовать DCE для посылки и приема данных от другого DTE.

     Кабель, связывающий    физически    DTE    и   DCE,   называется
"прямолинейным" кабелем. Он позволяет устройству DTE посылать команды
(или  сигналы с выводов) на DCE,  а устройству DCE отправлять команды
обратно на DTE.  Подключение DCE одной машины  к  DCE  другой  машины
производится через обычные телефонные линии.

     Устройства DCE необходимы по той  причине,  что  устройства  DTE
являются  цифровыми,  а телефонные линии - аналоговыми.  Единственный
способ  передать  цифровую  информацию   по   аналоговым   линиям   -
закодировать  цифровую  информацию в аналоговый сигнал,  послать этот
сигнал по телефонным линиям,  а затем декодировать аналоговый  сигнал
обратно в цифровую информацию.

     ПОДКЛЮЧЕНИЕ БЕЗ КОММУНИКАЦИОННЫХ УСТРОЙСТВ

     Если ваши машины расположены  довольно  близко  (в  пределах  50
футов /  15  метров.  Один  фут  составляет около 30.5 см.  - Примеч.
перев./), вам не нужен модем, вы можете использовать кабель "нулевого
модема"  вместо  DCE.  Кабель  нулевого  модема  имитирует  такой  же
протокол,  что и DCE,  но не требует наличия модема для коммуникаций.
Основная    задача   подключения   нулевого   модема   -   обеспечить
перекрещивание между передающими и принимающими сигналами. На рис. 8-
2 показана общая схема подключения без устройств DCE.

            Рис. 8-2.      Конфигурация с нулевым модемом
---------------------------------------------------------------------------

           +-------+   2               2   +-------+
           |       |------>...   ...<------|       |
           |  DTE  |   3      \./      3   |  DTE  |
           |       |<------.../ \...------>|       |
           +-------+                       +-------+

---------------------------------------------------------------------------

     Для того чтобы выполнить подключение, имитирующее DCE, требуются
некоторые   манипуляции   с   сигналами.   Эти   манипуляции    также
стандартизованы  в  кабеле  нулевого  модема.  По схеме этого кабеля,
показанной на рис. 8-3, рассмотрим, как он имитирует сигналы DCE.
Предыдущая страница Следующая страница
1 ... 57 58 59 60 61 62 63  64 65 66 67 68 69 70 71
Ваша оценка:
Комментарий:
  Подпись:
(Чтобы комментарии всегда подписывались Вашим именем, можете зарегистрироваться в Клубе читателей)
  Сайт:
 
Комментарии (52)

Реклама