Язык Assembler - программирование



   читай | Купить каслинское литье в Челябинске       отели анталии | подобное      Заходите на nso.nsexy.ru - тут собрано всё для досуга!         


Cамоучитель по Assembler

Микропроцессоры корпорации Intel и персональные компьютеры на их базе прошли не очень длинный во времени, но значительный по существу путь развития, на протяжении которого кардинально изменялись и возможности и даже сами принципы их архитектуры. В то же время, внос в микропроцессор принципиальные изменения, разработчики были вынуждены постоянно иметь в виду необходимость обеспечения совмести мости новых моделей со старыми, чтобы не отпугивать потенциального покупателя перспективой полной замены освоенного или разработанного им программного обеспечения. В результате современные микропроцессоры типа Pentium, обеспечивая такие возможности, как 32-битную адресацию почти неограниченных объемов памяти, многозадачный режим с одновременным выполнением нескольких программ, аппаратных средства защиты операционной системы и прикладных программ друг друга, богатый набор дополнительных эффективных команд и способе адресации, в то же время могут работать (и часто работают) в режиме первых микропроцессоров типа 8086, используя всего лишь 1 мегабайт оперативной памяти, 16-разрядные операнды (т. е. числа в диапазоне до 216 - 1 = 65535) и ограниченный состав команд. Поскольку программирование на языке ассемблера напрямую затрагивает аппаратные возможности микропроцессора, прежде всего следует выяснить, в какой степени программист может использовать новые возможности микропроцессоров в своих программах и какие проблемы программной несовместимости могут при этом возникнуть.
Первые персональные компьютеры корпорации IBM, появившиеся в 1981 г. и получившие название IBM PC, использовали в качестве центрального вычислительного узла 16-разрядный микропроцессор с 8-разрядной внешней шиной Intel 8088. В дальнейшем в персональных компьютерах стал использоваться и другой вариант микропроцессора, 8086, который отличался от 8088 тем, что являлся полностью 16-разрядным. С тех пор его имя стало нарицательным, и в программах, использующих только возможности процессоров 8088 или 8086, говорят, что они работают в режиме 86-го процессора.
В 1983 г. корпорацией Intel был предложен микропроцессор 80286, в котором был реализован принципиально новый режим работы, получивший название защищенного. Однако процессор 80286 мог работать и в режиме 86-го процессора, который стали называть реальным.

Введение

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

Память и процессор
Распределение адресного пространства
Регистры процессора
Сегментная структура программ
Стек
Система прерываний

Основы программирования
Процесс подготовки и отладки программы на языке ассемблера включает этапы подготовки исходного текста, трансляции, компоновки и отладки.
Подготовка исходного текста программы выполняется с помощью любого текстового редактора, хотя бы редактора, встроенного в программу Norton Commander, или еще более удобного редактора Norton Editor. При использовании одного из более совершенных текстовых процессоров,вроде Microsoft Word, следует иметь в виду, что эти программы добавляют в выходной файл служебную информацию о формате (размер страниц, тип шрифта и др.), которая будет непонятна транслятору. Однако практически все текстовые редакторы и процессоры позволяют вывести в выходной файл "чистый текст", без каких-либо служебных символов. Именно таким режимом и надлежит воспользоваться в нашем случае.

Подготовка и отладка программы
Представление данных
Описание данных
Структуры и записи
Способы адресации
Переходы
Вызовы подпрограмм
Макросредства ассемблера

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

Организация приложений MS-DOS
Циклы и условные переходы
Обработка строк
Использование подпрограмм
Двоично-десятичные числа
Программирование аппаратных средств

Расширенные возможности современных микропроцессоров
Операционная система MS-DOS, язык ассемблера МП 86 и методы программирования микропроцессоров корпорации Intel разрабатывались применительно к 16-разрядному процессору 8086 и тому режиму, который впоследствии получил название реального. Появление процессора 80386 знаменовало собой начато нового этапа в развитии операционных систем и прикладного программирования - этапа многозадачных графических операционных систем защищенного режима типа Windows и 32-разрядных прикладных программ. При этом, как уже отмечалось во введении, все архитектурные средства 86-го процессора входят в состав любого современного процессора, который, таким образом, можно условно разделить на две части - МП 86 и дополнительные средства, обеспечивающие защищенный режим, 32-разрядную адресацию и прочее.

Архитектурные особенности
Дополнительные режимы адресации
32-разрядные процессоры в программировании
Основы защищенного режима

Система команд процессоров Intel
Ниже приводится алфавитный перечень команд процессоров Intel с кратким описанием действия каждой команды и примерами ее использования. В разделах статей, начинающихся с обозначения 386+, описываются отличия действия рассматриваемой команды в современных 32-разрядных процессорах (80386, i486, Pentium). Как правило, эти отличия заключаются в возможности использования не только 8- и 16-разрядных, но и 32-разрядных операндов, а также расширенных режимов адресации памяти. Обычные 16-разрядные программы реального режима вполне могут использовать расширенные регистры процессора (ЕАХ, ЕВХ и проч.), 32-битовые ячейки памяти и варианты команд для их обработки.

ААА ASCII-коррекция регистра АХ после сложения
ADC Целочисленное сложение с переносом
386+BSF Прямое сканирование битов
386+ ВТК Проверка и сброс бита
CLC Сброс флага переноса
СМР Сравнение
486+ CMPXCHG Сравнение и обмен
DAA Десятичная коррекция в регистре AL
HLT Останов
386+

Assembler для Windows

Если Вы, дорогой читатель, знакомы с книгой "Assembler: учебный курс" Вашего покорного слуги, то, наверное, обратили внимание, что программированию в операционной системе Windows было посвящено всего две главы. Это немного и может служить лишь введением в данную область. Пришло время заняться этим серьезно.

Предисловие
Прежде всего, как и полагается в предисловии, отвечу на возможное замечание: зачем нужен ассемблер в Windows, если есть, например, Си и другие языки. Зачем нужен ассемблер, я уже писал в упомянутой выше книге. Позволю себе процитировать ее: "Зачем нужен язык ассемблера? - спросят меня. Самой простой и убедительный ответ на поставленный вопрос такой - затем, что это язык процессора и, следовательно, он будет нужен до тех пор, пока будут существовать процессоры. Более пространный ответ на данный вопрос содержал бы в себе рассуждение о том, что ассемблер может понадобиться для оптимизации кода программ, написания драйверов, трансляторов, программирования некоторых внешних устройств и т.д.

Введение
Детальное изложение рассматриваемых вопросов. Я по-прежнему "не жалую" макросредства/sup> и считаю, что начинающим программистам их не стоит использовать. Однако цель, которую я преследую в книге: сблизить позиции MASM и TASM — потребует от нас знания и макросредств. Итак, макросредства будут играть в моей книге достаточно узкую подчиненную роль. Впрочем, в книге имеется глава, где подробно разбираются директивы и макросредства ассемблера.

Основы 32-битного программирования в Windows
В данной части я намерен дать некоторую вводную информацию по средствам программирования на языке ассемблера. Данная глава предназначена для начинающих программирование на ассемблере, поэтому программистам более опытным ее можно пропустить без особого ущерба для себя. Прежде всего замечу, что в названии главы есть некоторая натяжка, т.к. технологии трансляции и в MS DOS, и в Windows весьма схожи. Однако программирование в MS DOS уходит в прошлое.

Средства программирования в Windows
Основы программирования в Windows
Примеры простых программ на языке ассемблера
Экскурс в 16-битное программирование
Ассемблеры MASM и TASM

Более подробное описание программирования в среде Windows
В данной части мы серьезно начинаем работать с сообщением WM_PAINT. В главе 1.3 мы уже рассматривали это сообщение, но не применяли его. Причиной было то, что в окне у нас были лишь управляющие элементы, но не было текстовой информации и графики. Теперь мы исправляем положение. Кроме сообщения WM_PAINT, речь в этой главе пойдет о множестве проблем, возникающих при программировании в Windows.

Примеры простейших программ
Консольные приложения
Редакторы и трансляторы ресурсов
Примеры программ использующих ресурсы
Управление файлами
Макросредства ассемблера в Windows

Более сложные примеры программирования в Windows
Таймер является одним из мощных инструментов, предоставляемых операционной системой и позволяющих решать самые разнообразные задачи. С таймером Вы познакомились, когда занимались консольными приложениями. Там мы пользовались функциями timeSetEvent и timeKillEvent. Для консольных приложений это очень удобные функции. В оконных приложениях чаще используют функции SetTimer и KillTimer. Особенность таймера, создаваемого функцией SetTimer, заключается в том, что сообщение WM_TIMER, которое начинает посылать система приложению после выполнения функции SetTimer, приходит со всеми другими сообщениями наравне, на общих основаниях. Следовательно, интервал между двумя приходами сообщения WM_TIMER может несколько варьироваться. В большинстве случаев это не существенно.

Примеры программ, использующих таймер
Многозадачное программирование
Создание динамических библиотек
Взаимодействие с ресурсами локальной сети
Разрешение проблем программирования в Win
Системное программирование в Windows
Ассемблер с языками высокого уровня

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

Структура исполняемых модулей
Обзор отладчиков и дизассемблеров
Введение в Turbo Debugger
Описание работы с дизассемблером W32Dasm
Основы анализа кода программ
Исправление исполняемых модулей
Структура и написание драйверов .VXD

Приложения
Справочник API-функций и сообщений Windows
Справочник по командам и архитектуре Pentium
Защищенный режим микропроцессора Pentium
Список литературы
Алфавитный указатель

Assembler для начинающих

Почему вас могло бы заинтересовать программирование на языке ассемблера? Cегодня повсюду используются такие языки высокого уровня как Бэйсик, Фортран и Паскаль. Возможно, вы уже знакомы по крайней мере с одним языком высокого уровня. Если вы постоянно пльзуютесь персональным компьютером IBM, то вы знаете, что интерпритатор Бэйсика является частью системы. Зачем же возиться еще с одним языком программирования, тем более с таким, который сулит определенные трудности? Очевидно, даже располагая современными могучими языками, вы все еще нуждаетесь в ассемблере из-за его эффективности и точности.

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

Программирование на языке Ассемблера
Персональный компьютер фирмы IBM

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

Двоичное дополнение
Шестнадцатерчное представление
Язык машины и язык ассемблера
Синтаксис языка ассемблера
Принципы работы ассемблера
Биты, байты и слова
Нумерация бит
Набор символов
Принципы работы компьютерa
Процедуры
Стек
Прерывания

Микропроцессор 8088
Для того, чтобы понять 8088 и научиться программировать для него, мы начнем с его внутреннего устройства. Внутри процессора имеются специальные ячейки памяти, называемые регистрами.

Модель программирования 8088
Регистры общего назначения
Регистры адресации
Прямая адресация
Вычисление адресов
Адресация через Базу + смещение
База + индекс + смещение
Мод-р/м байт
Физическая адресация
Регистры сегмента
Переназначение сегмента
Оператор SEGMENT
Оператор ASSSUME
Управляющие регистры
Указатель стека (SP)
Регистр флагов
Флаг Знака
Флаг нуля
Флаг четности
Флаг переноса
Дополнительный флаг переноса
Флаг переполнения
Флаг захвата
Флаг прерывания
Флаг направления
Векторы прерываний


Команды процессора 8088
В этой главе обсуждается набор команд микропроцессора 8088. В предыдущих главах было рассмотрено расположение регистров и механизмы адресации микропроцессора; в этой главе будут изучены операции, которые можно выполнять с помощью регистров. Разобьем команды микропроцессора 8088 на несколько групп. Принадлежность команды к той или иной группе будет определяться функцией, которую она выполняет. В этой главе описываются группы команд и объясняется, как лучше всего ими пользоваться, но не будет приводиться последовательного описания команд (такую задачу решает руководство по Макроассемблеру).

Обмен
Ввод и вывод
Загрузка исполнительного адреса
Загрузка указателя
Передача флагов
Перевод
Операции со стеком
Передача параметров
Арифметические команды
Вычитание
Однооперандная арифметика
Сравнение
Десятичная коppекция
Коppекция: сложение и вычитание
Умножение
Коppекция: умножение
Деление
Символьная коppекция: деление
Преобразование
Арифммметический пример
Логические операции
Операции сдвига и вращения
Операции на строках
Загрузить и сохранить
REP префикс
Пересылка строк
Сканирование и сравнение
Инструкции передачи управления
Близкая и далекая передача управления
Адресация переходов
Безусловный переход
Переходы по условию
Проверки кодов условий
Управление циклами
Управляющие инструкции
Специальые команды


Использование ДОС и Ассемблера
В этой главе излагаются все детали, необходимые для ассемблирования и выполнения программ. В предыдущих главах объяснялось, как работает микропроцессор 8088. Теперь время проверить полученные знания, так как только самостоятельное составление и успешная прогонка программ могут дать полное представление о системе команд микропроцессора 8088. В данной главе будут рассмотрены четыре основные этапа подготовки программы: редактирование, ассемблирование, компоновка (редактирование связей) и отладка. Каждый из этих этапов осуществляется с помощью отдельной программы и отдельного набора процедур.

Дисковая операционная система
Система файлов
Директории
Командный процессор
Функции ДОС
Блок управления файла (FCB)
Фалы .COM и .EXE
Создание программы на языке ассемблера
Ассемблер и макроассемблер
Таблица символических имен
Перекрестные ссылки
Редактор
EXTRN и PUBLIC
Операция слияния (редактирования)
Карта слияния
DEBUG
Перевод из .EXE формы в .COM форму

Свойства Макроассемблера
В этой части будут описаны некоторые свойства макроассемблера,разработанного в фирме IBM. Хотя мы уже рассмотрели все команды процессора 8088, в ассемблере имеются и другие команды. Мы уже обсудили некоторые из этих псевдокоманд, например, операторы определения данных DB и DW. В этой главе будут введены более мощные средства языка ассемблера. Их объединяет то, что их использование делает написание программ на языке ассемблера более простым и легким.

Макроопределение
Аргументы макроса
Ассемблирование по условию
Повторение макроса
Макрооператоры
Команда INCLUDE
Сегменты
Структуры
Записи

Числовой процессор 8087
Конструкторы микропроцессора Intel 8088 предусмотрели для него уникальную возможность, характерную лишь для семейства микропроцессоров 8086/8088. Конструкции микропроцессора позволяет иметь в системе сопроцессор. Сопроцессор - это устройство, расширяющее возможности центрального процессора. Арифметический сопроцессор 8087 является сопроцессором центрального микропроцессора 8088, добавляющий команды числовой обработки и регистры с плавающей точкой. Эти дополнительные арифметические возможности расширяют набор команд микропроцессора 8088, и значительно увеличивают вычислительную мощность в тех случаях, когда программа выполняет операции с плавающей точкой и повышенной точности.

Операции 8087
Типы данных 8087
Представление в виде числа с плавающей точкой
Форматы действительных чисел
Определение действительных чисел
Модель программирования 8087
Управляющее слово
Слово cостояния
Набор инструкций 8087
Инструкции пересылки данных
Инструкции управления
Арифметические инструкции
Инструкции сравнения
Степенные и тригонометрические функции
Примеры
Десять в степени X
Изображение чисел с десятичной точкой
Квадратное уравнение
Синус угла
Отладка программ с использованием 8087

Персональный компьютер IBM
В каждом пункте этой главы мы будем обсуждать свои аспекты системы ввода-вывода IBM PC. В этом пункте речь пойдет о стандартных компонентах аппаратуры - о тех, которые находятся на процессорной плате системы. Другие части будут посвящены отдельным платам адаптеров ввода-вывода, которые по необходимости можно установить в систему. Центральным процессором IBM PC является Intel 8088, тот самый, естественно, который рассматривался на протяжении первых глав книги. У нас, как будто еще есть что о нем рассказать. Рядом с микросхемой 8088 на системной плате имеется пустое гнездо, в которую вставляется арифметический сопроцессор Intel 8087; он был рассмотрен в гл.7 и теперь уже должен быть знаком вам.

Системное оборудование
Динамик
Клавиатура
Реальное время
Возможности cистемы
Видеоадаптеры
Адаптеры монохромного дисплея и принтера
Адаптер цветного графического монитора
Текстовый режим
Графический режим
Цветовой режим в 320*200 APA
Графика высокого разрешения
Адаптер паралельного принтера
Адаптер асинхронных коммуникаций
Адаптер управления играми
Адаптер дайвера дискеты
Память прямого доступа

ROM BIOS
В предыдущей главе изучалась аппаратура IBM PC. Фирма IBM поставляет стандартные управляющие программы для рассмотренных выше аппаратных компонент. Эти программы находятся в ПЗУ на системной плате и носят название BIOS (Basic Input/Output System, базовая система ввода-вывода). В этой главе объясняются функции, обеспечиваемые BIOS. Материалом этой главы нужно пользоваться вместе с гл.3 и приложением A технического описания IBM PC. В гл.3 описана базовая системы ввода-вывода, в частности некоторые ее функции, а в приложении A приведен полный ассемблерный листинг BIOS IBM PC.

Некоторые замечания по содержаию ROM BIOS
Самотестирование при включении питания
Прерывания ROM BIOS
Драйверы доступа
Процедуры пользователя
Блоки параметров
Область данных ROM BIOS
Программы драйверов доступа
Системный сервис
Принтер и асинхронные коммуникации
Клавиатура
Процедура BIOS клавиатуры изнутри
Кассета
Дискета
Команды чтения и записи
Команда проверки
Команда форматирования
Дисплей
Функции ввода-вывода дисплея
Установка режима
Движение изоражения
Запись и чтение символов
Текст в графических режимах
Графика
Запись на телетайп

Расширения и подпрограммы языка ассемблера
В этой главе рассказывается о способе использования программ на языке ассемблера в больших программах. Приведенные ранее примеры были автономными программами на языке ассемблера. Ни один из других языков программирования не позволяет так, как язык ассемблера, управлять техническими средствами. Однако во многих случаях выбор языка ассемблера в качестве языка программирования может оказаться неправильным. Часто лучше всего бывает применять язык высокого уровня в сочетании с подпрограммами на языке ассемблера.

Расширения системы ввода-вывода
Выход в ДОС и сохранение резидента
Загрузка в верхие области памяти
Подпрограммы на языке ассемблера
Команда BLOAD к процедуре ассемблера
Короткая встроенная программа
Программы языков высокого уровня
Заключение

Справочная система по языку Assembler

Интересно проследить, начиная со времени появления первых компьютеров и заканчивая сегодняшним днем, за трансформациями представлений о языке ассемблера у программистов. Когда-то ассемблер был языком, без знания которого нельзя было заставить компьютер сделать что-либо полезное. Постепенно ситуация менялась. Появлялись более удобные средства общения с компьютером. Но, в отличие от других языков, ассемблер не умирал, более того он не мог сделать этого в принципе. Почему? В поисках ответа попытаемся понять, что такое язык ассемблера вообще. Если коротко, то язык ассемблера — это символическое представление машинного языка. Все процессы в машине на самом низком, аппаратном уровне приводятся в действие только командами (инструкциями) машинного языка. Отсюда понятно, что, несмотря на общее название, язык ассемблера для каждого типа компьютера свой. Это касается и внешнего вида программ, написанных на ассемблере, и идей, отражением которых этот язык является. По-настоящему решить проблемы, связанные с аппаратурой (или даже, более того, зависящие от аппаратуры как, к примеру, повышение быстродействия программы), невозможно без знания ассемблера.

Немного об ассемблере
Программная модель микропроцессора
Структура программы на ассемблере
Описание команд
Типы данных
Макросредства Ассемблера
Опции транслятора
Описание директив
Ошибки трансляции

Ассемблирование без секретов

Свою программистскую карьеру мыщъх начинал с микрокомпьютера "Правец-8D", оснащенного довольно экзотической версией Бейсика и нехилым руководством с кучей конкретных примеров (правда, на болгарском языке). Процесс освоения буржуинской техники происходил приблизительно так. Набрал программу. Запустил. Помедитировал над листингом. Попробовал что-нибудь изменить. Запустил. Посмотрел на реакцию. Осмыслил. Что-то еще изменил. И вот так, шаг за шагом мыщъх разобрался во всех операторах языка и научился писать эффективные программы, в которых нет ничего лишнего.

Введение или много лет тому назад
Лицо асматика в ASCII
Блокнот с записями начинающего асматика
Зоопарк ассемблеров
Зоопарк ассемблеров - 2
Определение целевой платформы
Метод ассемблерных вставок
Классический пример
Законченная программа anti-debug.c
Anti-debug.exe без отладчика

Справочник Novell Netware 4

Персональные компьютеры (ПК или ПЭВМ) предназначены для тех, кто хочет выполнять на своем собственном компьютере собственные приложения и поддерживать собственные персональные файлы, не прибегая к услугам мини-ЭВМ или больших машин, полностью контролируемых отделами информационных систем. Вскоре после их появления в начале 80-х ПК стали объединяться в сети, что позволило совместно использовать файлы и ресурсы, такие как принтеры. К середине 80-х сети стали настолько крупными и сложными, что управлять ими снова стали отделы информационного обеспечения. Сегодня сети - это далеко не простые и легко обслуживаемые устройства. Они требуют защиты, наблюдения и обслуживания. Кроме того, сети часто выходя за рамки одного учреждения и становятся глобальными. Это уже требует квалифицированного персонала другой сферы - специалистов по телефонным сетям, микроволновой или спутниковой связи.

Что такое сети?
Простейшая сеть состоит из двух компьютеров, совместно использующих файлы и принтеры. Значительно более сложные сети могут включать в себя все разбросанные по миру компьютеры крупной компании. Все что вам нужно для совместного использования принтера это простой коммутационный блок, но чтобы организовать эффективную совместную работу с файлами и выполнять сетевые прикладные программы, потребуется плата сетевого интерфейса (NIC) и кабель для соединения систем.

Что такое сети?
Что такое сети? - 2
Что такое сети? - 3
Из чего состоит сеть?
Схемы построения сетей
Платы сетевого интерфейса и топология сетей
Платы сетевого интерфейса и топология сетей - 2
Кабели
Архитектура сети
Коммуникационные протоколы

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

NetWare WAN Links
NetWare MultiProtocol Router
Коммуникационные продукты
NetWare Access Server (NAS)
Продукты связи с системами IBM
NetWare for SAA
Продукты управления сетью
Концентраторы NetWare и NetWare Nub Services
NetWare Services Manager
Анализатор сети LANanalyzer

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

Тенденции развития
ISDN
SONET
Подключения в глобальной сети
Подключения удаленных рабочих станций
PC AnyWare
Программное обеспечение NetWare Access Server
NetWare Asynchronous Communication Services
Novell NetWare WAN Links
Связь с хост-системой

Рабочая станция как сервер печати
Фактически, рабочая станция сама может стать сервером печати. NVLPD.EXE работает как резидентная в памяти фоновая программа (TSR) и организует спулинг заданий печати Unix с помощью утилиты DOS PRINT.COM. Спулинг заданий на рабочей станции организуется в любом нужном направлении, а перенаправить их можно с помощью команды CAPTURE NetWare. Другими словами, когда задание печати попадает на рабочую станцию, то в том, что касается PC и сети это просто еще одно задание печати.

Выбор сервера
Пропускная способность и "узкие места"
Пропускная способность и "узкие места" - 2
Микропроцессор
Intel 80386
Intel 80486
Микропроцессорные системы
Шина сервера
Шина ISA.
Стандарты VESA и Intel PCI.

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

Копирование файлов NetWare
Загрузка драйверов локальной сети
Задание корня NDS
Задание синхронизации времени
Задание контекста сервера
Задание контекста вспомогательного сервера
Редактирование файлов запуска
Другие параметры установки
Завершение и выход
Переход к NetWare v.4

Установка продукта NFS Server фирмы Novell
NFS Server поставляется на одной дискете высокой плотности. Многие (включая и меня) предполагают, что такой дорогой программный продукт как NFS Server должен содержать не одну дискету и тоненькое руководство. Поэтому Novell существенно понизила цену и предлагает теперь даже по низкой цене "начальный комплект", поддерживающий одновременно пять NFS-клиентов.

Регистрация в системе
Настройка процедур подключения к сети
Имена в службе каталогов
Имена в службе каталогов - 2
Задание частичных имен
Команда LOGIN
Проблемы при регистрации
Смена пароля
Команда WHOAMI
Выход (отмена регистрации)

Управление каталогами и файлами с помощью Netware Administrator
Утилита Netware Administrator позволяет вам перемещать каталоги и файлы и изменять их атрибуты. Найдите объект тома, затем для вывода содержимого корневых каталогов дважды щелкните на нем "мышью". Дважды щелкнув "мышью" на каталоге, вы можете вывести список его подкаталогов и файлов. Выбрав каталог или файл, можно указать в меню Object команду Move, Copy, File, Delete или Rename. Если вы выберите из каталога объект тома, то можете выбрать также команду Salvage.

Смена контекста в дереве каталога
Информация о томе
Средства утилиты FILER
Средства утилиты FILER - 2
Средства утилиты FILER - 3
Средства утилиты FILER - 4
Средства утилиты FILER - 5
Управление атрибутами каталога
Управление атрибутами файла
Задание фильтров наследуемых полномочий

События, связанные с контейнером
Выберите Audit Directory Service, затем Audit Directory Tree. Просмотрите дерево каталога, найдите контейнер, который вы хотите отслеживать, и нажмите F10. Затем выберите Auditor Container Login. Наберите пароль, данный вам супервизором.

Запуск удаленной консоли из AUTOEXEC.NCF
Использование Remote Console
Использование Remote Console - 2
Утилита SERVMAN
Утилита SERVMAN - 2
Изменение параметров SET сервера
Утилита MONITOR
Загрузка утилиты MONITOR
Основной экран утилиты MONITOR
Информация о подключении

Справочник по NetWare 4.11

В сетях NetWare 3TM и более ранних версий, пользователи могли соединиться одновременно со многими серверами, используя команду ATTACH. В NetWare 4, используя сервис Каталога NetWare, пользователь больше не должен использовать команду ATTACH для соединения со многими серверами.
При регистрации в дереве Каталога, пользователи автоматически получают доступ к любым сетевым ресурсам дерева Каталога, на которые установлены права для этих пользователей. Права пользования ресурсами проверяются процедурой аутентификации.
Команда ATTACH может быть по-прежнему использована при регистрации в сети NetWare 4 для соединения с серверами, основанными на базе данных Bindery.
Используемые при решении данных задач утилиты: "LOGIN", "LOGOUT" и "MAP", описаны в руководстве Справочник по утилитам.

Вариант Btrieve для сервера
Этот продукт поставляется в комплекте ОС NetWare и состоит из набора программ NLM для сервера NetWare. Комплект Btrieve для сервера включает также набор других исполняемых файлов для рабочих станций, которые обеспечивают доступ к файлам Btrieve на этом сервере (или любом другом сервере NetWare, на котором установлен Btrieve).

CDM
COM-порты
HAM
HBA
HCSS
Hot Fix
ICMP
IOEngine
IPX
IPXODI

Буфер
Количество буферов приемов пакетов определяет во время инсталляции сервера. Это значение увеличивается операционной системой при высокой интенсивности использования буфера в соответствии со следующими параметрами

Буфер приема пакетов
Вектор расстояния
Версия DOS
Взаимодействие
Вилка данных
Вилка ресурсов
Виртуальный загружаемый модуль
Дочерние программы VLM
Программы мультиплексоры VLM
Владелец

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

Номер сети
Номер соединения
Номер узла
Нумерация в сети
Нумерация устройств
Нумерация устройств - 2
Область переназначения
Обновление
INSTALL.NLM
Миграция через сеть с помощью DS Migrate

Протокол BOOTP
Протокол, используемый некоторыми хостами для получения адресов IP. Хост посылает по локальной сети широковещательный запрос BOOTP. Сервер, подключенный к этой локальной сети и выполняющий функции хоста, при получении запроса BOOTP посылает пакет, содержащий адрес хоста. Если сервер находится в другой сети, то передатчик BOOTP должен направить широковещательный запрос серверу BOOTP и передать ответ хосту.

Протокол Router Information Protocol
Протокол Print Server Status and Control Protocol
Протокол Reverse Address Protocol
Протокол Service Advertising Protocol
Протокол Address Resolution Protocol
Протокол Packet BurstTM
Протокол File Transfer Protocol
Протокол Transmission Control Protocol
Протокол NetWare Core Protоcol
Протоколы

Счетчик переходов
Количество кабельных сегментов, через которые проходит пакет сообщения до адреса назначения в сети или межсетевом соединении. Сеть назначения пакета может быть удалена не более чем на 16 переходов от источника. Утилиты сервера DISPLAY NETWORKS, DISPLAY SERVERS и TRACK ON показывают количество переходов, на которое удалены другие распознаваемые сети от маршрутизатора сервера.

Счетчик переходов
Счетчик псевдопереходов
Таблица определения томов
Таблица размещения файлов
Таблица элементов каталога
Теги ресурсов
Том
Том - 2
Том NetWare
Топология

Сети NetWare 3.12-4.1.Книга ответов

Фирмой Novell разработано несколько поколений сетевых операционных систем, начиная с ELS (Entry Level System) NetWare, которые могли обслуживать до 8 станций. Advanced NetWare 2.x уже являлась полноценной сетевой ОС, способной одновременно обслуживать до 100 пользователей сервера на базе 286+ PC, как выделенного, так и невыделенного. На современном этапе развития компьютерных технологий наибольший интерес представляют NetWare версий 3.12 и 4.1.
Версия 3.12 является "топ моделью" своего поколения, в которой исправлены ошибки предыдущих версий и "наведены мосты" к сетям нового поколения - 4.x. Версия 3.12 появилась позже 4.0 и унаследовала ее некотрые черты - поддержку CD-ROM, включение в поставку почтовых средств Basic MHS и First Mail, VLM-клиент, фрейм IEEE_802.2 и некоторые другие. В связи с более поздним появлением эти черты иногда ошибочно считают принадлежностью только NetWare 4.x.

Введение в NetWare
Версии NetWare 4.0, 4.01 и 4.02 были быстросменяемыми заявками на новое поколение, и их "сырость" значительно сдерживала стремление пользователей сменить надежную 3.12 на что-то более прогрессивное. Появление на рынке NetWare 4.1 порадовало приверженцев продуктов Novell, которым требуется создавать и обслуживать большие и очень большие локальные и территориально разъединенные сети.

Основные черты NetWare 3.x - 4.x
Организация объектов сети
NetWare 2.x-3.x
NetWare 4.x
Другие отличия NetWare 4.x
Одноранговые сети Novell
NetWare Lite 1.0-1.1
Personal NetWare и Novell DOS 7
Файл-сервер, сервер приложений
Что представляет собой сервер NetWare?

Сервер NetWare
Сервер NetWare представляет собой компьютер, на котором программой SERVER.EXE загружена сетевая операционная система. Сервер служит основным средством удовлетворения сетевых запросов пользователей, большинство из которых реализуется ядром ОС по протоколу NCP. Сервер может являться и платформой для запуска серверных приложений - модулей NLM. Количество пользователей, одновременно подключенных к серверу, ограничено его лицензионным параметром, влияющем на цену ОС.

Распределение памяти
Распределение памяти - 2
Распределение памяти - 3
Использование процессора
Использование процессора - 2
Платформа для сервера NetWare?
Как происходит загрузка ОС сервера?
Как происходит загрузка ОС сервера? - 2
Как остановить сервер?
Запрет регистрации пользователей на сервере

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

Коммуникации рабочей станции
Монолитный драйвер IPX.COM
Драйверы открытого интерфейса ODI
Опции IPX файла SHELL.CFG
Секция LINK SUPPORT файла NET.CFG
Секции LINK DRIVER driver_name NET.CFG
Секции LINK DRIVER driver_name NET.CFG - 2
Клиентское обеспечение
Оболочка NETX
Запросчик VLM

Система хранения данных
Ключевой задачей файлового сервера является хранение больших объемов информации. Эффективность и возможности системы хранения данных сервера определяются совокупностью и согласованностью аппаратных средств хранения данных и возможностями операционной системы.

Аппаратные средства хранения данных
Аппаратные средства хранения данных - 2
Интерфейсы
Интерфейсы - 2
Интерфейсы - 3
Интерфейсы - 4
Устройства хранения информации
Информация о свободном пространстве
Volume volname is almost out of disk space
Ограничения на дисковое пространство

Аппаратура компьютерных сетей
Аппаратура сетей - узлы и средства их соединения - определяется выбранной сетевой архитектурой. В данном разделе приводятся сведения о наиболее популярных архитектурах локальных и глобальных сетей.

Аппаратура компьютерных сетей
Компоненты сети
Таблица маршрутизации обычно составляется
Сетевые архитектуры
Ethernet
Топология популярных разновидностей Ethernet
Топология популярных разновидностей Ethernet - 2
ARCnet
Token Ring
Local Talk, 100BaseVG, TCNS, Token Bus

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

Сетевые адаптеры и драйверы
Сетевые адаптеры и драйверы - 2
Протоколы IPX/SPX
Протоколы TCP/IP
Внутренний маршрутизатор
Таблица перестраивается
Соединения сервера и приложений
Что означает пометка Not-Logged-In
Проверка сети до генерации сервера
Диагностика коммуникационной системы

TCP/IP, Internet и UNIX
Передача данных в Internet основана на принципе коммутации пакетов, в соответствии с которым поток данных, передаваемых от одного узла другому, разбивается на пакеты, передающиеся в общем случае через систему коммуникаций и маршрутизаторов независимо друг от друга и вновь собирающиеся на приемной стороне. Весь комплект базируется на IP - протоколе негарантированной доставки пакетов (дейтаграмм) без установления соединения (unreliable connectionless packet delivery)

Адресация и маршрутизация в Internet
Адресация и маршрутизация в Internet - 2
Адресация и маршрутизация в Internet - 3
Протоколы Internet
Интеграция с UNIX
NetWare/IP
Управление сетями, SNMP
Поддержка TCP/IP на станции DOS/Windows
Поддержка TCP/IP на станции Windows 95
Подключение к удаленной сети IPX через TCP/IP

NetWare и MS Windows
Сети NetWare и различные реализации Windows имеют средства эффективного взаимодействия друг с другом, взаимодополняя свои функциональные возможности. Клиенты Windows имеют полноценный доступ к ресурсам NetWare (файлам, принтерам), имея и возможность загрузки системы с сервера NetWare. Сетевые версии (Windows for Workgroups, Windows 95) могут использовать свои дополнительные сетевые сервисы параллельно с NetWare, а применение транспорта IPX/SPX и внутреннего маршрутизатора сервера позволяет связываться между собой клиентам Windows, подключенным к разным кабельным сетям. Windows NT и NetWare имеют средства обеспечения эффективного сосуществования двух (или трех, считая Bindery и NDS по отдельности) существенно различных систем организации объектов и их защиты в сети.

Управление ресурсами NetWare из Windows
Управление ресурсами NetWare из Windows - 2
Управление ресурсами из Windows 95
Планирование дисков в Windows 95
Как установить поддержку NetWare в Win 3.x
Дополнительные возможности
Поддержка NetWare в Windows for Workgroups
При отключении кабеля от сетевой
Версии ODI-драйверов и оболочки
Как установить поддержку NetWare в Windows 95

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

Что такое принт-сервер
Что такое локальный и удаленный принтер
Что такое аппаратный принт-сервер
Что такое очередь по умолчанию
Пользовательские соединения сервера
Можно ли подключить к принт-серверу плоттер
Размещение принт-серверов по сети
Принтеры для совместного использования
Тип и параметры подключения принтера
Как установить сервис печати в NetWare 3.x

Обеспечение комфортных условий работы в сети
Для создания комфортных условий работы в сети NetWare имеет набор специальных средств. Настройку сетевого окружения при входе в сеть осуществляет автоматически выполняемая процедура регистрации, называемая также сценарием входа или Login Script.

Процедура регистрации (Login Script)
Процедура регистрации (Login Script) - 2
Специальные символы процедур регистрации
Команды процедур регистрации.
Переменные в командах процедур регистрации
Переменные в командах процедур регистрации - 2
Создание и использование меню
Опции команды ITEM
Опции команды ITEM - 2
Управляющие команды меню

Локальные сети. Работа с сервером Novell NetWare

Для получения доступа к ресурсам файл-сервера программа, запущенная на рабочей станции, должна выполнить процедуру подключения к файл-серверу. При этом файл-серверу сообщается имя пользователя и пароль, назначенные супервизором сети. В зависимости от предоставленного супервизором доступа программа сможет использовать те или иные ресурсы файл-сервера.
Несмотря на то что в составе Novell NetWare поставляются утилиты login.exe и attach.exe, предназначенные для подсоединения к файл-серверу, у вас может возникнуть потребность создания своих аналогичных по выполняемым действиям утилит, дополнив их другими функциями. Например, вы можете организовать свою систему учета времени работы пользователей или добавить другие возможности. Мы научим вас создавать такие утилиты.
У вас может также возникнуть потребность определить список серверов, работающих в сети, а также список подключенных к ним пользователей. Мы приведем исходные тексты программ, получающих различную информацию о конфигурации сети и о сетевой операционной системе Novell NetWare.
Для разработки программ, защищенных от несанкционированного копирования, могут пригодиться сведения о способах "извлечения" серийного номера операционной системы Novell NetWare для любого работающего в сети сервера.
Если вы разрабатываете системы управления базами данных (СУБД) с многопользовательским доступом и хранением данных на дисках сервера, вам не обойтись без детального изучения методов корректной работы с файлами в многопользовательской среде. Вам потребуются средства синхронизации, ориентированные на использование файл-сервера. Мы научим вас работать с такими средствами.

Введение
Все программы, приведенные здесь, транслировались при помощи системы разработки программного обеспечения Borland C++ версии 3.1. Однако вы сможете воспользоваться Borland C++ версии 3.0 или даже 2.0 при соответствующей несложной адаптации исходных текстов. Не исключено, что некоторые программы, в которых не используется объектно-ориентированное программирование, вы сможете адаптировать к среде Microsoft Quick C версии 2.51.

Сервер и рабочая станция
Подключение пользователя к серверу
Работа с томами и каталогами
Работа с файлами
Синхронизация процессов
База данных объектов
Передача и прием сообщений
Управление файл-сервером
Функции NETWARE C INTERFACE FOR DOS
Маска прав доступа каталога

Сервер Novell NetWare
Программное обеспечение файл-сервера сети Novell NetWare состоит из сетевой операционной системы NetWare. Эта операционная система работает в мультизадачном режиме реального времени, обеспечивая совместное использование ресурсов файл-сервера рабочими станциями.

Сервер Novell NetWare
Рабочая станция Novell NetWare
Состав сетевых функций
Создание и удаление каналов
Работа с томами и каталогами файл-сервера
Работа с файлами
Передача данных между рабочими станциями
Синхронизация программ
Работа с базой данных объектов
Управление файл-сервером

Проверка присутствия сетевой оболочки
В этой главе мы рассмотрим процедуры получения списка активных серверов в сети и подключения пользователей к серверам. Вы научитесь составлять программы, выполняющие действия, аналогичные сетевым утилитам slist.exe, login.exe и attach.exe. Эти утилиты были подробно описаны нами в томе "Библиотеки системного программиста", посвященном установке аппаратного и программного обеспечения локальных сетей компьютеров.

Проверка присутствия сетевой оболочки
Листинг 1
Листинг 2
Поиск серверов в сети
Создание канала с файл-сервером
Подключение к файл-серверу
Программа SLIST
Листинг 3
Листинг 4
Листинг 5

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

Программа VOLINFO
Листинг 7
Отображение дисков рабочей станции
Программа WKSTABLE
Листинг 8
Программа DIRMAP
Листинг 9
Программа DIRUNMAP
Листинг 10
Таблица каталогов файл-сервера

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

Атрибуты файлов
Поиск файлов
Программа FSCAN
Листинг 17
Изменение атрибутов
Программа SETEATTR
Листинг 18
Удаление файлов
Программа FERASE
Листинг 20

Блокирование файлов
Локальная сеть - разновидность многопользовательской системы, в которой реализован множественный доступ к файлам, хранящимся на файл-сервере. В однопользовательской однозадачной среде, такой, как MS-DOS, в каждый данный момент времени к любому файлу может обращаться только одна программа. Если пользователь работает в среде Microsoft Windows, являющейся однопользовательской многозадачной средой, существует возможность одновременного обращения к одому и тому же файлу из нескольких работающих одновременно приложений.

Программа FLOCK
Листинг 21
Блокирование физических записей
Программа PHYSLOCK
Листинг 22
Программа RECACC
Листинг 23
Блокирование логических записей
Программа LOGLOCK
Листинг 24

Объекты, коды объектов и права доступа
Файл-сервер Novell NetWare содержит базу данных объектов, в которой есть сведения о ресурсах, доступных в сети (файл-серверы, серверы печати и т. п.), о пользователях и группах пользователей и т. д. Эта база данных называется Bindery. Физически она находится в двух скрытых файлах с именами net$bind.sys и net$bval.sys, расположенных в каталоге SYS:SYSTEM.

Объекты, коды объектов и права доступа
Программа BACCESS
Листинг 26
Просмотр базы объектов
Программа BSCAN
Листинг 27

Режимы приема сообщений
В этой главе мы рассмотрим службу передачи сообщений, которая имеется в операционной системе Novell NetWare. Эта служба позволяет организовать передачу коротких сообщений между рабочими станциями с использованием ресурсов файл-сервера. Например, утилита SEND операционной системы Novell NetWare передает сообщения именно с помощью описанных в этой главе средств. Мы расскажем вам не о всех возможностях системы передачи сообщений, а только о самой интересной, на наш взгляд, - возможности передачи сообщений от одной рабочей станции на другие и на файл-сервер.

Режимы приема сообщений
Определение режима приема сообщений
Установка режима приема сообщений
Передача сообщений пользователям
Программа MSGSEND
Листинг 28
Программа MSGRCV
Листинг 29

Определение даты и времени
В последней главе мы расскажем вам о некоторых функциях, предназначенных для получения справочной информации о состоянии файл-сервера и для управления файл-сервером

Определение даты и времени
Получение строк описания файл-сервера
Определение имени файл-сервера
Определение подключения к файл-серверу
Установка даты и времени
Функция установки даты и времени
Запрет и разрешение подключений к серверу
Останов файл-сервера

Разные функции
Проверка сетевой оболочки
Обмен байтов в 16-битовом слове
Обмен байтов в 32-битовом слове
Подключение к файл-серверу
Отключение от файл-сервера
Получить номер канала первичного сервера
Получить номер канала текущего сервера
Установить предпочтительный сервер
Подключение к файл-серверу
Отключение от всех файл-серверов

Де Бомон Мадам Лепренс - Красавица И Чудовище
Три статьи по работе с MySQL
Руководство по реляционной СУБД DB2
Разработка приложений баз данных для СУБД Sybase SQL Anywhere
Сравнение подходов к крупномасштабному анализу данных
Серверы корпоративных баз данных
Основы проектирования приложений баз данных
Научись снимать цифровым фотоаппаратом
Шифрование и секретность в Linux
Основы цвета
Джебран Халиль Джебран - Философия Логики Или Познание Самого Себя
OpenGL в Delphi
Советы по Delphi от Валентина Озерова
Безопасность в Дельфи
Современное делопроизводство
Основы языка Delphi
Delphi 6 программирование
Статьи Королевства Дельфи
Справочник параметров командной строки
Delphi 5.Учебник