- •1.1.Классификация ос
- •Сообщения.
- •Int pipe(int *fildes)
- •Fifo (именованные каналы)
- •Int mknod(char *pathname, int mode, int dev);
- •2.1. Ms-dos. Распределение оперативной памяти (conversional memory, hma, ems, xms).
- •1) Основная память(conventional memory) dos.
- •3) Область высокой памяти (нма).
- •4) Расширенная память (xms).
- •5) Дополнительная память (ems)
- •2.2. Ос семейства unix. Сигналы.
- •3.1. Файловые системы fat и vfat.
- •3.2. Ос семейства unix. Управление вводом-выводом. Блочные, символьные и потоковые драйверы.
- •Системные вызовы для управления вводом/выводом
- •4.1. Сравнительные особенности ядер операционных систем Windows nt и os/2
- •4.2. Ос семейства unix. Потоки. Сокеты.
- •5.1. Ms-dos. Распределение оперативной памяти (conversional memory, hma, ems, xms).(2)
- •5.2. Ос семейства unix. Архитектура виртуальной файловой системы. Виртуальные индексные дескрипторы. Монтирование файловых систем.
- •6.1. Концепции ос семейства Novell NetWare. Nlm. Нити. Принципы организации передачи данных в ос NetWare
- •Структурная схема oc
- •Функциональная схема ос. Модули загрузки nlm
- •Диспетчеризация процессов (нитей)
- •6.2. Основные сетевые сервисы ос unix.
- •Общая организация X-Window
- •Клиентская и серверная части
- •Базовые библиотеки
- •7.1. Файловая система Novell NetWare. Поддержка дополнительных пространств имен. Сетевая файловая система
- •7.2. Ос семейства unix. Общий алгоритм работы планировщика.
- •8.1. Файловая система ntfs.
- •8.2. Управление памятью. Виртуальная память. Аппаратно-независимый уровень управления памятью. Swapping и paging.
- •Аппаратно-независимый уровень управления памятью
- •Страничное замещение основной памяти и swapping
- •9.1. Концепции Windows nt. Архитектура ядра nt, защищенные подсистемы (Win 32, Win 16, dos, os/2, posix).
- •9.2. Общие принципы разграничения доступа в ос семейства unix. Разграничения прав на доступ к файловой системе.
- •10.1. Ос семейства Microsoft Windows nt. Процессы и нити, планирование процессов и нитей.(13)
- •10.2. Ос семейства unix. Архитектура виртуальной файловой системы. Виртуальные индексные дескрипторы. Монтирование файловых систем.(5)
- •11.1. Файловая система ntfs.(8)
- •11.2. Ос семейства unix. Пользовательская и ядерная составляющая процессов. Жизненный цикл процесса.
- •Концепции Windows nt. Архитектура ядра nt, защищенные подсистемы (Win 32, Win 16, dos, os/2, posix).(9)
- •12.2. Файловая система s5fs. Суперблок. Индексные дескрипторы. Имена файлов. Недостатки и ограничения.
- •Суперблок
- •Имена файлов
- •Недостатки и ограничения
- •13.1. Ос семейства Microsoft Windows nt. Процессы и нити, планирование процессов и нитей.
- •13.2. Файловая система ffs. Структура каталога.
- •14.1. Ms-dos. Распределение оперативной памяти (conversional memory, hma, ems, xms).(2)
- •Разделяемая память (Shared Memory)
- •17.1. Ос Novell Netware. Атрибуты файлов. Разграничение доступа к файлам.
6.1. Концепции ос семейства Novell NetWare. Nlm. Нити. Принципы организации передачи данных в ос NetWare
NetWare версий 3.х и 4.х построены с использованием одинаковых принципов.
Во введении отмечалось, что NetWare относится к классу операционных систем с выделенным сервером. Поэтому на рабочих станциях (WS) и файловом сервере (FS) используются различные операционные системы. Взаимосвязь этих ОС осуществляется посредством кадров, которые передаются по шине, соединяющей станции. Рассмотрим процесс передачи данных или команд от рабочей станции к файловому серверу.
С точки зрения организации взаимосвязи с файловым сервером все прикладные программы и утилиты рабочей станции условно можно разделить на два класса: "клиент-файл" и "клиент-сервер".
К первому классу ("клиент-файл") относятся программы, выполняющие операции (открытие, ввод/вывод, закрытие) с файлами, которые хранятся на файловом сервере. В DOS при выполнении операций с файлами вырабатывается прерывание 21Н, которое перехватывается оболочкой (запросчиком) рабочей станции (рисунок 2.1).
Если файл располагается на локальном диске, то оболочка переадресовывает это прерывание операционной системе рабочей станции. Если файл располагается на файловом сервере, то оболочка открывает так называемое гнездо, используемое в дальнейшем для приема пакетов с файлового сервера. Затем запросчик формирует пакет для передачи его на сервер. Одно из полей этого пакета содержит номер гнезда, совпадающий с номером гнезда нити (задачи) сервера, которая будет обрабатывать этот пакет. Далее оболочка с помощью специальной функции протокола направляет пакет в сеть. При прохождении через драйвер сетевого адаптера (СА) пакет превращается в кадр, т.е. к нему добавляется заголовок и концевик кадра. Именно кадр передаётся по шине сети. Таким образом, оболочка реализует прозрачный доступ прикладной программы к файлу, который хранится на сервере. Т. е. программист может использовать обычные функции ввода/вывода языка С или Ассемблера, не вникая в детали API-интерфейса рабочей станции с файловым сервером.
При выполнении операций с файлом в программе, функционирующей под управлением OS/2, реализуются аналогичные действия. Только здесь соответствующее прерывание сначала перехватывается ОС, которая переадресовывает его оболочке.
Ко второму классу ("клиент-сервер") относятся программы рабочей станции, непосредственно взаимодействующие с NLM-модулями файлового сервера. Перед передачей пакета NLM-модулю прикладная программа рабочей станции должна открыть гнездо, используемое в дальнейшем для приема пакетов, передаваемых с файлового сервера NLM-модулем. Далее прикладная программа формирует пакет для передачи по сети. Одно из полей этого пакета должно содержать номер гнезда нити, с которой связан соответствующий NLM-модуль. Затем прикладная программа рабочей станции направляет пакет в сеть с помощью специальной функции протокола. При прохождении через драйвер СА пакет превращается в кадр. Таким образом, если программист создал свой NLM-модуль и желает осуществить к нему доступ со стороны рабочей станции, то он должен создать и соответствующую прикладную программу типа "клиент-сервер". При этом программист должен знать детали API-интерфейса.
Рис. 2.1. Схема взаимодействия рабочей станции и файлового сервера
Заголовок кадра, передаваемого по сети, содержит адрес станции получателя и адрес станции отправителя. Если адрес станции получателя совпадает с адресом, на который настроен сетевой адаптер файлового сервера, то кадр принимается и обрабатывается драйвером СА сервера. При этом пакет выделяется из кадра, анализируется соответствующим протоколом и посылается на обработку нити, открывшей гнездо, номер которого совпадает с номером гнезда в пакете. Нить - это внутренняя задача NetWare или задача, связанная с каким-либо NLM-модулем. Далее результаты обработки пересылаются прикладной программе, выполняемой на рабочей станции, в виде одного или нескольких пакетов.