Файл: Сетевые операционные системы (Требования, предъявляемые к сетевым операционным системам).pdf
Добавлен: 29.06.2023
Просмотров: 47
Скачиваний: 2
Характерные особенности Linux как ОС:
- многозадачность: много программ выполняются одновременно;
- многопользовательский режим: много пользователей одновременно работают на одной и той же машине;
- защищенный режим процессора (386 protected mode);
- защита памяти процесса; сбой программы не может вызвать зависания системы;
- экономная загрузка: Linux считывает с диска только те части программы, которые действительно используются для выполнения;
- разделение страниц по записи между экземплярами выполняемой программы. Это значит, что процессы-экземпляры программы могут использовать при выполнении одну и ту же память. Когда такой процесс пытается произвести запись в память, то 4-x килобайтная страница, в которую идет запись, копируется на свободное место. Это свойство увеличивает быстродействие и экономит память;
- виртуальная память со страничной организацией (т.е. на диск из памяти вытесняется не весь неактивный процесс, а только требуемая страница); виртуальная память в самостоятельных разделах диска и/или файлах файловой системы; объем виртуальной памяти до 2 Гбайт; изменение размера виртуальной памяти во время выполнения программ;
- общая память программ и дискового кэша: вся свободная память используется для буферизации обмена с диском;
- динамические загружаемые разделяемые библиотеки;
- дамп программы для пост-мортем анализа: позволяет анализировать отладчиком не только выполняющуюся, но и завершившуюся аварийно программу;
- сертификация по стандарту POSIX.1, совместимость со стандартами System V и BSD на уровне исходных текстов;
- через iBCS2-согласованный эмулятор совместимость с SCO, SVR3, SVR4 по загружаемым программам,
- наличие исходного текста всех программ, включая тексты ядра, драйверов, средств разработки и приложений. Эти тексты свободно распространяются. В настоящее время некоторыми фирмами для Linux поставляется ряд коммерческих программ без исходных текстов, но все, что было свободным так и остается свободным;
- управление заданиями в стандарте POSIX;
- эмуляция сопроцессора в ядре, поэтому приложение может не заботиться об эмуляции сопроцессора. Конечно, если сопроцессор в наличии, то он и используется;
- поддержка национальных алфавитов и соглашений, в т.ч. для русского языка; возможность добавлять новые;
- множественные виртуальные консоли: на одном дисплее несколько одновременных независимых сеансов работы, переключаемых с клавиатуры;
- поддержка ряда распространенных файловых систем (MINIX, Xenix, файловые системы System V); наличие собственной передовой файловой системы объемом до 4 Терабайт и с именами файлов до 255 знаков;
- прозрачный доступ к разделам DOS (или OS/2 FAT): раздел DOS выглядит как часть файловой системы Linux; поддержка VFAT (WNT, Windows 95);
- специальная файловая система UMSDOS, которая позволяет устанавливать Linux в файловую систему DOS;
- доступ (только чтение) к файловой системе HPFS-2 OS/2 2.1;
- поддержка всех стандартных форматов CD ROM;
- поддержка сети TCP/IP, включая ftp, telnet, NFS и т.д[19].
Как выглядит одновременное выполнение нескольких программ.
Так называемая виртуальная мультиконсоль дает возможность на одном дисплее организовать работу нескольких консолей. На первой консоли запускается процесс трансляции. Комбинацией клавиш Alt-F2 следует переход на вторую консоль. Трансляция продолжается, но при этом первая консоль на экране дисплея заменяется новой картинкой второй консоли. В которой запускается, например, редактор текста. Комбинацией Alt-F3 следует переход на третью консоль, в которой запускается отладчик и т.д. Обычно в системе 8 консолей, но можно установить до 64-х. В любой момент времени можно переключиться на любую консоль.
На отдельной консоли может работать как текстовая, так и графическая программа.
На одной из свободных консолей можно запустить оконную графическую систему X Window System. Открываем новое окно и запускаем игру. Можно через сеть с партнером. А в других окнах - база данных, почта, редактор, трансляция и т.д.
Таким образом, одновременно работает много консолей, а на одной из консолей еще и много окон X Window System.
Кроме того, в системе одновременно работают фоновые процессы, которые не выдают информации на дисплей, но делают свою работу, например, передают данные по модему, печатают на принтере, передают почту по сети и т.д. Фоновый процесс может инициировать как пользователь, так и сама ОС в соответствии со сложившимися условиями (есть почта для отправки, данные для печати, наступило время связи по модему и т.п.).
Linux обеспечивает физическое распараллеливание вычислений на многопроцессорных машинах (до 32 процессоров), но это не имеет прямого отношения к одновременному выполнению нескольких программ. Операционная система позволяет одновременно выполнять несколько задач на одном процессоре, сотни раз в секунду переключая процессор с задачи на задачу[20].
Операционная система NetWare
Возможности, предоставляемые пользователю
NetWare предоставляет пользователям следующие возможности:
- поддерживает коллективное использование файлов,
- обеспечивает доступ к сетевым принтерам,
- предлагает средства для работы с электронной почтой,
- поддерживает работу СУБД различных типов,
- обеспечивает доступ к файловому серверу со стороны рабочих станций, функционирующих под управлением различных операционных систем,
- предлагает средства, позволяющие объединять удаленные сегменты сети,
- обеспечивает «прозрачность» доступа локальных и удаленных пользователей к ресурсам сети,
- предлагает средства для надежного хранения данных,
- обеспечивает защиту ресурсов сети от несанкционированного доступа,
- поддерживает динамически расширяемые многосегментные тома на нескольких дисках файлового сервера,
- предоставляет средства управления ресурсами корпоративных сетей: единый каталог сетевых ресурсов NDS в NetWare 4.1,
- обеспечивает передачу и обработку данных с использованием разных протоколов: SPX/IPX, TCP/IP, NetBIOS, AppleTalk,
- поддерживает работу суперсерверов в симметричном режиме функционирования (ОС NetWare 4.1 SMP)[21].
Рассмотрим некоторые возможности более подробно.
Прежде всего NetWare позволяет пользователям обращаться к общим файлам, хранящимся на файловом сервере. Это, с одной стороны, позволяет не дублировать общие данные на рабочих станциях, а, с другой стороны, обеспечивает взаимодействие пользователей через файловый сервер.
Если всем пользователям сети необходимо выводить данные на печать, а число принтеров меньше количества рабочих станций, то NetWare позволяет сделать печатающие устройства разделяемыми, т.е. доступными всем клиентам сети.
Под управлением NetWare функционирует шлюз электронной почты (ЭП) MHS (Message Handling Service). Этот программный продукт состоит из NLM-модулей. Он вошел в состав NetWare 4.1 как штатное средство. MHS управляет сбором, маршрутизацией и доставкой сообщений через разнородные шлюзы ЭП и линии связи. С MHS совместимы более 200 пакетов электронной почты, функционирующих на рабочих станциях[22].
NetWare обеспечивает работу СУБД, поддерживающих две технологии обработки запросов: «клиент-файл» и «клиент-сервер». В СУБД типа «клиент-файл» запросы прикладной программы к базе данных (БД) транслируются и выполняются на рабочей станции, на файловом сервере хранятся файлы БД, индексные и технологические файлы. К этому классу СУБД относятся следующие популярные пакеты: dBase (Borland), Clipper (Computer Association), FoxPro (Microsoft), Paradox (Borland), Clarion (Clarion) и т. д. В СУБД типа «клиент-сервер» запрос к БД передается серверу СУБД, функционирующему как совокупность NLM-модулей на файловом сервере. Здесь запрос транслируется и выполняется. На рабочую станцию обратно передаются только результаты выполнения запроса. Для СУБД этого типа характерно уменьшение сетевого трафика и увеличение нагрузочной способности сети. СУБД Oracle 7 (Oracle), SQLBase (Gupta), Btrieve (Btrieve Technologies), Progress 7 (Progress Software) и т.д. поддерживают технологию «клиент-сервер».
Следует также отметить, что в NetWare обеспечена возможность доступа к файловому серверу со стороны рабочих станций, функционирующих под управлением различных операционных систем: MS DOS, OS/2, UNIX, Macintosh, Windows NT Workstation и т.д. В настоящее время разработаны средства взаимодействия NetWare с другими сетевыми операционными системами: OS/2 LAN Server, Windows NT Server, UNIX.
Фирма Novell разработала программное обеспечение выделенных маршрутизаторов, позволяющих объединять удаленные сегменты сети. В качестве примера такого средства можно назвать продукт NetWare Multi Protocol Router 3.0[23].
Если каждому пользователю сети необходимо обеспечить доступ к удаленным ресурсам (шлюзам электронной почты, удаленным сегментам, удаленным рабочим станциям и т.д.), то эту задачу можно решить двумя способами: либо выделить каждой станции свой модем (рисунок 1.3), либо сделать модемы разделяемыми (общими). В последнем случае модемы необходимо подключить к файловому серверу и использовать программные продукты (группы NLM-модулей) NACS или NetWare Connect (рисунок 1.4).
Иногда рабочую станцию подключают к сегменту сети, используя выделенные или коммутируемые каналы связи. В этом случае говорят, что рабочая станция является удаленной. Для обеспечения прозрачного доступа удаленной станции к ресурсам файлового сервера необходимо было решить ряд важных проблем. При активизации приложения на локальной рабочей станции оно, как правило, читается в оперативную память этого компьютера и там выполняется. Такая схема загрузки на удаленной рабочей станции может привести к резкому увеличению трафика каналов связи.
Чтобы предотвратить передачу программ по каналам связи, на выделенной локальной станции разворачивают многозадачную среду, например, DESQview386. В этой среде и выполняются утилиты и приложения DOS (800 Кб ОП на один сеанс), инициируемые пользователем удаленной рабочей станции. По каналам связи передаются только данные, вводимые или выводимые на экран этой рабочей станции, функционирующей в режиме терминала (рисунок 1.5).
Для выполнения Windows-приложений, инициируемых с удаленных рабочих станций, можно использовать многозадачную среду WinView for Networks v.2.3 (Citrix System Inc.), разработанную на базе OS/2 (5 или 10 сеансов Windows, 4 Мб ОП на один сеанс плюс 8 Мб под WinView).
NetWare поддерживает несколько уровней SFT, обеспечивающих надежное хранение данных:
- на уровне SFT-I:
- дублирование таблиц DET и FAT тома,
- проверка записи на диск последующим чтением,
- динамическая переадресация блоков (Hot Fix);
- на уровне SFT-II:
- зеркальное отображение дисков (Disk Mirroring),
- дублирование дисков (Disk Duplexing),
- система отслеживания транзакций TTS (Transaction Tracking System),
- использование устройств бесперебойного питания (UPS);
- на уровне SFT-III:
- зеркальное отображение файловых серверов[24].
Операционная система Windows NT
Операционная система Windows NT имеет модульную структуру. Это означает, что она состоит из четко разделяемых компонентов, каждый из которых отвечает строго за свои функции. Структурно операционная система Windows NT может быть представлена в виде двух частей (см. рис.): одна часть системы работает в режиме пользователя (user mode), другая часть работает в режиме ядра (kernel mode)[25].
Структура Windows NT
Часть Windows NT, работающая в режиме ядра, называется Executive - исполнительной частью. Она включает ряд компонентов, которые управляют виртуальной памятью, объектами (ресурсами), вводом-выводом и файловой системой (включая сетевые драйверы), взаимодействием процессов и частично системой безопасности. Эти компоненты взаимодействуют между собой с помощью межмодульной связи. Каждая компонента вызывает другие с помощью набора тщательно специфицированных внутренних процедур. Режим ядра представляет собой привилегированный режим. Код, выполняющийся в режиме ядра, имеет прямой доступ ко всем аппаратным средствам и всей памяти, включая адресные пространства всех процессов режима пользователя.
В состав модуля Executive входят такие компоненты, как Уровень аппаратных абстракций (Hardware Abstraction Level, HAL), ядро системы, а также сервисные модули Windows NT Executive[26].
«Сердцем» операционной системы Windows NT, работающим в тесной взаимосвязи с HAL, является ядро (или микроядро - microkernel). Ядро осуществляет диспетчеризацию нитей, обработку прерываний и исключительных ситуаций. Если компьютер имеет многопроцессорную архитектуру, ядро повышает производительность системы, синхронизируя работу процессоров. В мультипроцессорной конфигурации ядро может одновременно выполняться на всех процессорах.
Роль ядра заключается в том, чтобы обеспечить оптимальную загрузку всех процессоров и наилучшую производительность системы. Для этого ядро осуществляет диспетчеризацию нитей в соответствии с их приоритетами. Фактически, оно принудительным образом проводит политику диспетчеризации, реализуемую модулем Windows NT Executive. Кроме того, ядро вытесняет (preempt) нити с низким приоритетом в пользу более высокоприоритетных нитей. Оно может принудительным образом выполнять переключения контекста (context switches), давая процессору инструкции прекратить выполнение одной задачи и взяться за другую. Таким образом, код, выполняющийся в такой системе, должен быть реентерабельным (reentrant). Под реентерабельностью кода понимается способность прервать выполнение и быть выгруженным, а также возобновить выполнение без потери информации. Кроме того, реентерабельный код может совместно использоваться несколькими различными нитями, выполняющими различные строки одного и того же кода на различных процессорах[27].
Ядро является единственной неперемещаемой в памяти (nonpageable) и невыгружаемой (nonpreemptible) частью операционной системы. За редким исключением все остальные нити, работающие в Windows NT 4.0, в том числе и в составе модуля Executive, являются выгружаемыми (preemptible) и полностью реентерабельными. За счет этого достигается максимальная эффективность системы.
Наконец, ядро синхронизирует деятельность таких сервисов Windows NT Executive, как Диспетчер ввода/вывода (I/O Manager) и Диспетчер процессов (Process Manager). Кроме того, компоненты Executive используют еще более высокие уровни абстракции, называемые объектами микроядра (microkernel objects), часть из которых экспортируется в пределах интерфейсных вызовов API с пользовательскими приложениями.
Модуль Windows NT Executive содержит набор сервисов общего назначения, доступных всем компонентам операционной системы. Каждой группой сервисов управляет один из следующих модулей: