
- •Лекции по курсу Сетевые операционные системы Введение.
- •Введение в типы операционных систем. Типы операционных систем.
- •Среда времени выполнения.
- •Сетевая операционная система Novell NetWare. Серверы.
- •Клиентская часть в NetWare.
- •Основные понятия nds.
- •Классификация объектов nds.
- •Классификация “листьев” nds.
- •Правила именования объектов nds.
- •Свойства объектов.
- •Особенности функционирования операционной системы Unix Введение
- •Базовые понятия ос unix.
- •Файловая система
- •Среда выполнения процессов.
- •Конструкционные блоки.
- •Функции ядра.
- •Предполагаемая аппаратная среда.
- •Прерывания и особые ситуации.
- •Уровни прерывания процессора
- •Распределение памяти
- •Архитектура операционной системы unix Общие положения.
- •Процессы
- •Контекст процесса
- •Состояния процесса
- •Переходы из состояния в состояние
- •“Сон” и пробуждение
- •Резюме.
- •Взаимодействие процессов в unix.
- •Сетевое взаимодействие в unix. Межмашинный интерфейс
- •Сокеты.
- •Windows nt
- •Архитектура WindowsNt
- •Исполняющая система Windows nt.
- •Диспетчер виртуальной памяти.
- •Средства вызова локальных процедур.
- •Диспетчер Кеша(CashManager)
- •Драйверы файловой системы.
- •Драйвер аппаратных устройств
- •Система безопасности Windows nt.
- •Сетевые драйверы
- •Модель сетевой архитектуры Windows nt.
- •Транспортные протоколы
- •Интерфейс драйвера транспорта
- •Рабочие станции и серверы Windows nt
- •Редиректоры
- •Серверы Windows nt
- •Провайдеры и интерфейс провайдера.
- •NetBios и Windows сокеты
- •NetBios
- •Tcp/ip дляWindows nt.
- •Tcp и сетевые возможности
- •Базовая поддержка протоколов tcp/ip.
- •Конфигурирование tcp/iPиSnmp. Маршрутизация и сетевые шлюзы.
- •Процесс межсетевой маршрутизации с использованием шлюзов.
- •Протокол динамической конфигурации хостов (dhcp).
- •Распознавание имен в сетях на базе WindowsNt.
- •NetBios поверхTcp
- •Сервис wins.
- •Wins в маршрутизируемой среде
- •Работа с сетями InternetилиIntranet
- •Общие проблемы работы с сетями
- •Программы маршрутизации и Устройства Защиты.
- •Типичные Сетевые Конфигурации Место Intranet
- •Место Internet
- •Интегрирование Вашего IntranetсInternet
- •Администрирование серверов с Internet Service Manager.
- •Обнаружение Других Компьютеров в Вашей Подсети.
- •Соединение с Internet
- •Как Выбирать Правильное Соединение Internet
- •Типы Соединений Internet.
- •Типы Соединений
- •Ip Адреса и dns
- •Другие Услуги Пользователя Internet
- •Публикации на Intranet
- •Имя разрешающей системы.
- •Использование Компьютерных Имен с wins server
- •Использование Компьютерных Имен и lmhosts
- •Использование Имен Домена с dns Станциями
- •Использование Доменных Имен и hosTs
- •Использование dhcp в Вашем Intranet
- •Использование urLs и Создание html Связей для Intranet
- •Snmp Текущий контроль.
- •Создание Виртуальных серверов
- •Использование ftp и Gopher Сервиса ftp сервис и Gopher сервис
- •Что такое ftp сервис?
- •Когда необходимо использовать ftp сервис?
- •Как работает ftp Сервис?
- •Конфигурирования Сеанса.
- •Просмотр Текущих Сеансов
- •Конфигурирование ftp Входа в систему
- •Управление Анонимными Соединениями Установка имени пользователя и пароля защиты:
- •Настройка Сообщений
- •Конфигурирование ftp Каталогов. Установка Исходного каталога
- •Установка, Стиля просмотра
- •Установка разрешения на чтение и запись.
- •Чтение.
- •Создание Файлов Аннотации
- •Аннотация файлов
- •Ошибки клиента броузера ftp, Directory Annotation Enabled
- •Специальные Каталоги в Home каталоге
- •Использование Имени Пользователя Directories
- •Использование Анонимного Каталога
- •Ftp Клиенты
- •Что такое Gopher сервис?
- •Конфигурирование Gopher сервиса
- •Управление Защитой через Имя Пользователя и Passord’s. Установка имени пользователя и пароля защиты.
- •Установка wais Индексные Запросы
- •Tag файлы
- •Создание tag Файлов. Создавать файл отметки
- •Резюме содержания файла.
- •Интерпретация элементов ввода
Сетевое взаимодействие в unix. Межмашинный интерфейс
Программы, поддерживающие межмашинную связь, такие, как электронная почта, программы дистанционной пересылки файлов и удаленной регистрации, издавна используются в качестве специальных средств организации подключений и информационного обмена. Так, например, стандартные программы, работающие в составе электронной почты, сохраняют текст почтовых сообщений пользователя в отдельном файле (для пользователя “mjb” этот файл имеет имя “/usr/mail/mjb”).
Когда один пользователь посылает другому почтовое сообщение на ту же машину, программа mail (почта) добавляет сообщение в конец файла адресата, используя в целях сохранения целостности различные блокирующие и временные файлы.
Когда адресат получает почту, программа mail открывает принадлежащий ему почтовый файл и читает сообщения. Для того, чтобы послать сообщение на другую машину, программа mail должна в конечном итоге отыскать на ней соответствующий почтовый файл.
Поскольку программа не может работать с удаленными файлами непосредственно, процесс, протекающий на другой машине, должен действовать в качестве агента локального почтового процесса; следовательно, локальному процессу необходим способ связи со своим удаленным агентом через межмашинные границы. Локальный процесс является клиентом удаленного обслуживающего (серверного) процесса.
Так как в системе UNIX новые процессы создаются с помощью системной функции fork, к тому моменту, когда клиент попытается выполнить подключение, обслуживающий процесс уже должен существовать.
Если бы в момент создания нового процесса удаленное ядро получало запрос на подключение (по каналам межмашинной связи), возникла бы несогласованность с архитектурой системы. Чтобы избежать этого, некий процесс, обычно init, порождает обслуживающий процесс, который ведет чтение из канала связи, пока не получает запрос на обслуживание, после чего в соответствии с некоторым протоколом выполняет установку соединения.
Выбор сетевых средств и протоколов обычно выполняют программы клиента и сервера, основываясь на информации, хранящейся в прикладных базах данных; с другой стороны, выбранные пользователем средства могут быть закодированы в самих программах.
В качестве примера рассмотрим программу uucp, которая обслуживает пересылку файлов в сети и исполнение команд на удалении. Процесс-клиент запрашивает в базе данных адрес и другую маршрутную информацию (например, номер телефона), открывает авто коммутатор, записывает или проверяет информацию в дескрипторе открываемого файла и вызывает удаленную машину. Удаленная машина может иметь специальные линии, выделенные для использования программой uucp; выполняющийся на этой машине процесс init порождает getty-процессы - серверы, которые управляют линиями и получают извещения о подключениях.
После выполнения аппаратного подключения процесс-клиент регистрируется в системе в соответствии с обычным протоколом регистрации: getty-процесс запускает специальный интерпретатор команд, uucico, указанный в файле “/etc/passwd”, а процесс-клиент передает на удаленную машину последовательность команд, тем самым заставляя ее исполнять процессы от имени локальной машины.
Сетевое взаимодействие в системе UNIX представляет серьезную проблему, поскольку сообщения должны включать в себя как информационную, так и управляющую части. В управляющей части сообщения может располагаться адрес назначения сообщения. В свою очередь, структура адресных данных зависит от типа сети и используемого протокола.
Следовательно, процессам нужно знать тип сети, а это идет вразрез с тем принципом, по которому пользователи не должны обращать внимания на тип файла, ибо все устройства для пользователей выглядят как файлы. Традиционные методы реализации сетевого взаимодействия при установке управляющих параметров в сильной степени полагаются на помощь системной функции ioctl, однако в разных типах сетей этот момент воплощается по-разному. Отсюда возникает нежелательный побочный эффект, связанный с тем, что программы, разработанные для одной сети, в других сетях могут не заработать.
Чтобы разработать сетевые интерфейсы для системы UNIX, были предприняты значительные усилия. Реализация потоков в последних редакциях версии V располагает элегантным механизмом поддержки сетевого взаимодействия, обеспечивающим гибкое сочетание отдельных модулей протоколов и их согласованное использование на уровне задач. Следующий раздел посвящен краткому описанию метода решения данных проблем в системе BSD, основанного на использовании сокетов.