|
Операционные системы различных фирм
p align="left">Рис. 5.1. История развития UNIX Широкое распространение UNIX породило проблему несовместимости его многочисленных версий. Очевидно, что для пользователя весьма неприятен тот факт, что пакет, купленный для одной версии UNIX, отказывается работать на другой версии UNIX. Периодически делались и делаются попытки стандартизации UNIX, но они пока имели ограниченный успех. Процесс сближения различных версий UNIX и их расхождения носит циклический характер. Перед лицом новой угрозы со стороны какой-либо другой операционной системы различные производители UNIX-версий сближают свои продукты, но затем конкурентная борьба вынуждает их делать оригинальные улучшения и версии снова расходятся. В этом процессе есть и положительная сторона - появление новых идей и средств, улучшающих как UNIX, так и многие другие операционные системы, перенявшие у него за долгие годы его существования много полезного. На рисунке 5.1 показана упрощенная картина развития UNIX, которая учитывает преемственность различных версий и влияние на них принимаемых стандартов. Наибольшее распространение получили две весьма несовместимые линии версий UNIX: линия AT&T - UNIX System V, и линия университета Berkeley-BSD. Многие фирмы на основе этих версий разработали и поддерживают свои версии UNIX: SunOS и Solaris фирмы Sun Microsystems, UX фирмы Hewlett-Packard, XENIX фирмы Microsoft, AIX фирмы IBM, UnixWare фирмы Novell (проданный теперь компании SCO), и список этот можно еще долго продолжать. Наибольшее влияние на унификацию версий UNIX оказали такие стандарты как SVID фирмы AT&T, POSIX, созданный под эгидой IEEE, и XPG4 консорциума X/Open. В этих стандартах сформулированы требования к интерфейсу между приложениями и ОС, что дает возможность приложениям успешно работать под управлением различных версий UNIX. Независимо от версии, общими для UNIX чертами являются: многопользовательский режим со средствами защиты данных от несанкционированного доступа, реализация мультипрограммной обработки в режиме разделения времени, основанная на использовании алгоритмов вытесняющей многозадачности (preemptive multitasking), использование механизмов виртуальной памяти и свопинга для повышения уровня мультипрограммирования, унификация операций ввода-вывода на основе расширенного использования понятия "файл", иерархическая файловая система, образующая единое дерево каталогов независимо от количества физических устройств, используемых для размещения файлов, переносимость системы за счет написания ее основной части на языке C, разнообразные средства взаимодействия процессов, в том числе и через сеть, кэширование диска для уменьшения среднего времени доступа к файлам. Далее мы подробно остановимся на основных концепциях версии UNIX System V Release 4, которая вобрала в себя лучшие черты линий UNIX System V и UNIX BSD. Версия UNIX System V Release 4 - это незаконченная коммерческая версия операционной системы, т.к. в ее кодах отсутствуют многие системные утилиты, необходимые для успешной эксплуатации ОС, например утилиты администрирования или менеджер графического интерфейса. Версия SVR4 является скорее стандартной реализацией кода ядра, вобравшая в себя наиболее популярные и эффективные решения из различных версий ядра UNIX, такие как виртуальная файловая система VFS, отображаемые в память файлы и т.п. Код SVR4 (частично доработанный) лег в основу многих современных коммерческих версий UNIX, таких как HP-UX, Solaris, AIX и т.д. 6.2 6.2 Микроядро MachЯдро любой современной коммерческой версии UNIX представляет собой набор очень большого количества функций, с запутанными взаимосвязями и очень расплывчатыми границами между основными подсистемами. В результате любая модификация организованной таким образом системы дается тяжело и приводит к появлению в новых версиях большого количества ошибок. Кроме того, не во всех инсталляциях нужны все компоненты ядра, а при монолитном его построении удаление ненужных функций затруднено. Недостатки, присущие операционным системам с большим монолитным ядром (а это в первую очередь различные версии UNIX'а), породили интерес к системам, построенным на основе микроядра. Микроядерный подход заключается в том, что базовые функции ядра оформляются в виде отдельной небольшой компоненты, выполняемой в привилегированном режиме, а остальные функции ОС выполняются в пользовательском режиме с использованием примитивов микроядра. Ввиду больших потенциальных преимуществ, которые сулит этот подход, можно предположить, что в ближайшее время большинство новых операционных систем будет строиться на основе микроядра. Наиболее известными реализациями этого подхода являются микроядра Mach и Chorus. Основной сложностью использования микроядерного подхода на практике является замедление скорости выполнения системных вызовов при передаче сообщений через микроядро по сравнению с классическим подходом. Можно подробно рассмотреть принципы организации и функции микроядра Mach по двум причинам. Во-первых, микроядро по определению содержит базовые механизмы, имеющиеся внутри любой операционной системы, поэтому знакомство с этими механизмами в чистом виде полезно и для изучения любой конкретной ОС. Во-вторых, микроядра лицензируются и используются как готовый программный продукт в качестве основы для построения коммерческой сетевой операционной системы. Сейчас имеется несколько коммерческих реализаций операционных систем на основе микроядра Mach (NextStep фирмы Next, UNIX BSD, OSF/1 v.1.3), а также проводится ряд работ по использованию этого ядра. Так как свойства микроядра в значительной степени определяют свойства ОС, построенной на его основе, то знание микроядра помогает в оценке характеристик использующей его ОС. 6.2.1. История MachСистема Mach имела в качестве предшественницы систему RIG - Rochester Intelligent Gateway, начало разработки которой пришлось на 1975 год. RIG была написана для 16-битового мини-компьютера компании DataGeneral под названием Elipce. Целью этой разработки была демонстрация возможностей структурирования операционной системы и представления ее в виде набора процессов, которые могут взаимодействовать между собой путем передачи сообщений, в том числе и по сети. Затем эта операционная система была улучшена путем добавления средств защиты и средств прозрачной работы в сети и получила название Accent (в 1981 году, в университете Карнеги-Меллона). В 1984 году она уже использовалась на 150 компьютерах PERQ - ранних графических станциях, но проиграла соревнование с UNIX'ом. Это обстоятельство побудило создать третье поколение ОС, использующей механизм обмена сообщениями. Этот проект и был назван Mach. В связи с тем, что Mach проектировалась как система, совместимая с UNIX, планировалась поддержка большого количества приложений для UNIX. Кроме совместимости с UNIX, в Mach были введены и другие усовершенствования, включая нити, улучшенные механизмы межпроцессного взаимодействия, поддержка многопроцессорных систем, улучшенная виртуальная память и др. В это время агентство DARPA искало операционную систему для поддержки мультипроцессоров. Выбор был сделан в пользу университета Карнеги-Меллона, и работы над ОС Mach были продолжены. Было решено сделать эту систему совместимой с 4.2BSD путем комбинации Mach и 4.2BSD в виде единого ядра. Хотя этот подход привел к большому ядру, он гарантировал абсолютную совместимость. Первая версия Mach была реализована в 1986 году для VAX11/784, 4-х процессорной машины. Вскоре эта ОС была перенесена на IBM PC RT и Sun 3. К 1987 году Mach выполнялась также на мультипроцессорах Encore и Sequent. Хотя Mach и имела сетевые средства, ее скорее можно было отнести к ОС отдельной машины или мультипроцессора, а не к сетевой распределенной прозрачной системе. Вскоре была создана организация производителей компьютеров OSF (IBM, DEC, Hewlett Packard) для того, чтобы отобрать контроль над ОС UNIX у ее собственника AT&T. Они выбрали Mach 2.5 в качестве основы для их первой операционной системы OSF/1. Хотя Mach 2 и OSF/1 содержали большое количество кода Berkeley и AT&T, была надежда, что OSF, по крайней мере, сможет контролировать направление развития UNIX. В 1988 году ядро Mach 2.5 было большим и монолитным из-за того, что содержало большое количество кода Berkeley UNIX. А в 1989 году университет Карнеги-Меллона удалил весь код BSD UNIX из ядра и поместил его в пользовательское пространство. То, что осталось, было микроядром, состоящим из чистого кода Mach. Эта версия 3.0 и используется как основа последующих версий OSF. 6.2.2. Цели MachОС Mach значительно изменилась со времени ее первой реализации в виде RIG. Цели проекта также изменились со временем. На текущий момент основные цели выглядят так: 1. Обеспечение базовых функций для создания других операционных систем (например, UNIX). 2. Поддержка больших разреженных адресных пространств. 3. Обеспечение прозрачного доступа к сетевым ресурсам. 4. Поддержка параллелизма как в системе, так и в приложениях. 5. Обеспечение переносимости Mach на различные типы компьютеров. 6.2.3. Основные концепции Mach Микроядро Mach было разработано в качестве основы, на базе которой можно эмулировать UNIX и другие ОС. Эта эмуляция осуществляется программным уровнем, который работает вне ядра, в пользовательском пространстве (рис. 6.1). Следует отметить, что несколько эмуляторов могут работать одновременно, так что можно выполнять программы 4.3BSD, System V и MS-DOS на одной машине в одно и то же время. Ядро Mach, подобно другим микроядрам, обеспечивает управление процессами, управление памятью, коммуникации и функции ввода-вывода. Функции управления файлами, каталогами и другие традиционные для операционных систем функции выполняются в пользовательском пространстве. Идея построения ядра Mach состоит в обеспечении механизмов, необходимых для работы системы, но стратегия использования этих механизмов реализуется на уровне пользовательских процессов. Ядро управляет пятью главными абстракциями: 1. Процессы 2. Нити 3. Объекты памяти 4. Порты 5. Сообщения Рис. 6.1. Абстрактная модель эмуляции UNIX на основе Mach Кроме этого, ядро работает и с некоторыми другими абстракциями, или связанными с указанными, или менее важными. Процесс - это, в основном, среда, в которой происходит выполнение. Он имеет адресное пространство, содержащее текст программы и данные, и обычно один или более стеков. Процесс - это базисная единица для распределения ресурсов. Например, коммуникационный канал всегда принадлежит одному процессу. Нить в Mach является единицей выполнения. Она имеет счетчик команд и набор регистров, связанных с ней. Каждая нить является частью точно одного процесса. Процесс, состоящий из одной нити, подобен традиционному (например, как в UNIX) процессу. Концепцией, уникальной для Mach, является введение понятия объект памяти (memory object), представляющий собой структуру данных, которая может быть отображена в адресное пространство процесса. Объекты памяти занимают одну или несколько страниц и образуют основу для системы управления виртуальной памятью Mach. Когда процесс ссылается на объект памяти, который не представлен в физической памяти, это вызывает страничное прерывание. Как и в других ОС, ядро перехватывает страничное прерывание. Однако в отличие от других систем, ядро Mach для загрузки отсутствующей страницы посылает сообщение серверу пользовательского режима, а не самостоятельно выполняет эту операцию. Межпроцессное взаимодействие в Mach основано на передаче сообщений. Для того, чтобы получить сообщение, пользовательский процесс просит ядро создать защищенный почтовый ящик, который называется порт. Порт хранится внутри ядра и способен поддерживать очередь упорядоченного списка сообщений. Очереди не имеют фиксированной длины, но в целях управления потоком для каждого порта отдельно устанавливается пороговое значение в n сообщений, так что всякий процесс, пытающийся послать еще одно сообщение в очередь длины n, приостанавливается для того, чтобы дать порту возможность очиститься. Процесс может предоставить другому процессу возможность посылать (или получать) сообщения в один из принадлежащих ему портов. Такая возможность реализуется в виде мандата (capability), который включает не только указатель на порт, но и список прав, которыми другой процесс обладает по отношению к данному порту (например, право выполнить операцию ПОСЛАТЬ - SEND). Все коммуникации в Mach используют этот механизм. 6.2.4. Сервер Mach BSD UNIX Как уже было сказано выше, разработчики системы Mach модифицировали Berkeley UNIX для работы в пользовательском пространстве в форме прикладной программы. Такая структура имеет несколько преимуществ по сравнению с монолитным ядром. Во-первых, система упрощается за счет разделения на часть, которая выполняет управление ресурсами (ядро), и часть, которая обрабатывает системные вызовы (UNIX-сервер), и ею становится легче управлять. Такое разделение напоминает разделение труда в операционной системе VM/370 мейнфреймов IBM, где ядро эмулирует набор "голых" 370-х машин, на каждой из которых реализована однопользовательская операционная система. Во-вторых, за счет помещения UNIX'а в пользовательское пространство его можно сделать в высокой степени машинно-независимым. Все машинно-зависимые части могут быть удалены из UNIX'а и скрыты внутри ядра Mach. В-третьих, как уже было упомянуто выше, несколько ОС могут работать одновременно. Например, на процессоре Intel 386 Mach может выполнять программу UNIX и программу MS-DOS одновременно. Аналогично возможно одновременное тестирование новой экспериментальной ОС и работа с основной ОС. В-четвертых, в систему могут быть введены операции реального времени, потому что все традиционные препятствия для работы в реальном времени, такие как, например, запрет прерываний на время обновления критических таблиц, могут быть либо исключены, либо перенесены в пользовательское пространство. Ядро может быть тщательно структурировано, для того чтобы не препятствовать работе приложений реального времени. Наконец, такое построение системы может быть использовано для обеспечения лучшей защиты между процессами, если она нужна. Если каждый процесс работает со своей версией UNIX'а, то для одного процесса очень трудно что-либо разузнать о файлах другого процесса. 6.3 Сетевые продукты фирмы Novell6.3.1. История и версии сетевой ОС NetWareNovell - это крупнейшая фирма, которой принадлежит, согласно различным источникам, от 65% до 75% рынка сетевых операционных систем для локальных вычислительных сетей. Наибольшую известность фирма Novell приобрела благодаря своим сетевым операционным системам семейства NetWare. Эти системы реализованы как системы с выделенными серверами. Основные усилия Novell были затрачены на создание высокоэффективной серверной части сетевой ОС, которая за счет специализации на выполнении функций файл-сервера обеспечивала бы максимально возможную для данного класса компьютеров скорость удаленного доступа к файлам и повышенную безопасность данных. Для серверной части своих ОС Novell разработала специализированную операционную систему, оптимизированную на файловые операции и использующую все возможности, предоставляемые процессорами Intel x386 и выше. За высокую производительность пользователи сетей Novell NetWare расплачиваются стоимостью - выделенный файл-сервер не может использоваться в качестве рабочей станции, а его специализированная ОС имеет весьма специфический API, что требует от разработчиков дополнительных серверных модулей особых знаний, специального опыта и значительных усилий. Для рабочих станций Novell выпускает две собственные ОС со встроенными сетевыми функциями: Novell DOS 7 с входящей в нее сетевой одноранговой компонентой Personal Ware, а также ОС UnixWare, являющейся реализацией UNIX System V Release 4.2 со встроенными возможности работы в сетях NetWare. (Осенью этого года права на систему UnixWare проданы компании Santa Cruz Operations.) Для популярных ОС персональных компьютеров других производителей Novell выпускает сетевые оболочки с клиентскими функциями по отношению к серверу NetWare. Первоначально операционная система NetWare была разработана фирмой Novell для сети Novell S-Net, имеющей звездообразную топологию и патентованный сервер с микропроцессором Motorola MC68000. Когда фирма IBM выпустила персональные компьютеры типа PC XT, Novell решила, что NetWare может быть легко перенесена в архитектуру микропроцессоров семейства Intel 8088, и тогда она сможет поддерживать практически все имеющиеся на рынке сети персональных компьютеров. Первая версия NetWare была выпущена фирмой Novell в начале 1983 года. В 1985 году появилась система Advanced NetWare v1.0, которая расширяла функциональные возможности операционной системы сервера. Версия 1.2 системы Advanced NetWare, выпущенная также в 1985 году, стала первой операционной системой для процессора Intel 80286, работающей в защищенном режиме. Версия 2.0 системы Advanced NetWare, выпущенная в 1986 году, отличалась от предыдущих версий более высокой производительностью и возможностью объединения разнородных на канальном уровне сетей. Полностью используя возможности защищенного режима процессора 80286, Advanced NetWare обеспечила такую производительность сети, которая была недоступна операционным системам, работающим в реальном режиме и ограниченным 640 Кбайтами памяти. Версия 2.0 впервые обеспечила возможность подключения к одному серверу до четырех сетей с различной топологией, таких как Ethernet, ArcNet и Token Ring. В 1987 году Novell выпустила систему SFT NetWare, в которой были предусмотрены специальные средства обеспечения надежности системы и расширены возможности управления сетью. Такие средства, как учет используемых ресурсов и защита от несанкционированного доступа, позволили администраторам сети определять, когда и как пользователи осуществляют доступ к информации и ресурсам сети. Разработчики впервые получили возможность создавать многопользовательские прикладные программы, которые могут выполняться на сервере в качестве дополнительных процессов сетевой операционной системы и использовать ее функциональные возможности. Операционная система NetWare v2.15 появилась на рынке в декабре 1988 года, добавив в NetWare средства поддержки компьютеров семейства Macintosh. У пользователей Macintosh появилась возможность подключать свои компьютеры в качестве клиентов серверов NetWare, получая доступ к ресурсам сети и осуществляя прозрачный поиск и хранение информации на сервере. При этом на пользователей Macintosh распространяются все основные свойства NetWare, включая устойчивость к сбоям и защиту от несанкционированного доступа. В сентябре 1989 года Novell выпустила свою первую версию 32-разрядной операционной системы для серверов с микропроцессором 80386, которая получила название NetWare 386 v3.0. Она обладала значительно более высокой производительностью по сравнению с предыдущими версиями, усовершенствованной системой защиты от несанкционированного доступа, гибкостью в применении, а также поддержкой различных сетевых протоколов. Она отвечала самым передовым требованиям к среде функционирования распределенных прикладных программ. В июне 1990 года появилась версия NetWare 386 v.3.1, в которой были усовершенствованы средства обеспечения надежности и управления сетью, повышена производительность, улучшены инструментальные средства для независимых разработчиков. В 1991 году фирмой Novell операционные системы для процессоров 80286 (SFT, Advanced и ELS NetWare) были заменены на более мощную и удобную систему NetWare v2.2, функционально превосходящую предыдущие версии 2.1x. Одновременно была выпущена система NetWare v3.11, существенно расширившая возможности NetWare 386. NetWare v3.11 стала первой сетевой операционной системой, обеспечивающей доступ к сетевым ресурсам с рабочих станций DOS, Windows, OS/2, UNIX и Macintosh. В 1993 году после длительных испытаний начались поставки системы NetWare SFT III v3.11. NetWare System Fault Tolerance Level III (SFT III) v3.11 - сетевая операционная система, разработанная специально для использования в системах, требующих наивысшего уровня надежности. В дополнение к средствам повышения надежности, имеющимся в составе NetWare v3.11, SFT III обеспечивает работу двух серверов в "зеркальном" режиме. При этом один из серверов всегда является активным, а второй находится в горячем резерве, обеспечивая у себя такое же состояние памяти и дисков, как и у основного сервера. В 1993 году фирма Novell выпустила ОС NetWare v4.0, явившуюся во многих отношениях революционно новым продуктом. Эта система была разработана специально для построения вычислительных сетей "масштаба предприятия" с несколькими файл-серверами, большим количеством сетевых ресурсов и пользователей. Одним из основных нововведений явилась служба каталогов NetWare Directory Services (NDS), хранящая в распределенной по нескольким серверам базе данных информацию о всех разделяемых сетевых ресурсах и пользователях, что обеспечило возможность при одном логическом входе в систему получать прозрачный доступ ко всем ресурсам многосерверной сети. В сентябре 1993 года Novell выпустила систему NetWare v3.12, представляющую собой усовершенствованный вариант самой популярной сетевой ОС фирмы Novell - NetWare v3.11. В версии NetWare 3.12 были устранены замеченные за время эксплуатации версии NetWare 3.11 ошибки и добавлены новые средства: усеченная версия электронной почты Global MHS, средства поддержки клиентов Macintosh и клиентская оболочка для DOS и Windows по технологии VLM, позволяющая динамически загружать и выгружать необходимые для рабочей станции сетевые компоненты. Самой используемой сегодня версией NetWare является ориентированная на корпоративное использование сетевая операционная система NetWare v4.1. 6.3.2. Версия NetWare 4.1Некоторые обозреватели считают, что версия 4.1 - эта та версия, которой должна была быть версия 4.0, имея в виду многочисленные неудобства в реализации службы NDS и некоторые другие недочеты, помешавшие версиям 4.0х завоевать рынок (на конец 1994 года только 31% пользователей NetWare в мире работало с различными версиями 4.0х). Теперь, с выходом версии 4.1, положение может существенно измениться. Во-первых, Novell значительно упростила процедуру инсталляции. Во-вторых, возможности версии 4.1 существенно расширены. Как и в NetWare 4.0х, здесь поддерживается улучшенная файловая система и средства управления памятью, увеличено максимальное число обслуживаемых пользователей (свыше 250), реализованы службы сжатия и перемещения редко используемых файлов, а также более совершенные средства защиты информации и управления правами пользователей. Новыми элементами NetWare 4.1 являются средства IPX Mac и NetWare IP, интегрированная с NDS служба обработки сообщений MHS и очень полезная программа DS-Standard фирмы Preffered Systems, облегчающая конфигурирование NetWare и переход от одной версии к другой. В-третьих, фирма Novell снизила цену на свой продукт и предусмотрела различные варианты его лицензирования. Упрощенная процедура инсталляции при использовании программы DS-Standard При переходе с NetWare 3.х на NetWare 4.1 Novell рекомендует вместо собственных средств использовать программу DS-Standard. Главное преимущество этого продукта состоит в том, что он позволяет собирать информацию с существующих серверов и дает возможность администратору создавать и конфигурировать NDS-дерево в автономном режиме. Как только администратор решает, что полученная структура дерева его устраивает, DS-Standard экспортирует все данные о новой структуре в справочник NDS. Работа с DS делится на три основных этапа: сбор информации, моделирование и конфигурирование. На первом этапе осуществляется сбор информации с существующих серверов 3.х и 4.х., при этом могут быть собраны все сведения, включая учетные ограничения, данные об эквивалентности прав доступа, конфигурации заданий на печать, доверенные права, сценарии входа в сеть, ограничения на станцию, а также информация о системе печати. Единственное, что не импортируется с серверов 3.х - это пароли пользователей (средства миграции Novell импортируют пароли). После сбора программой DS-Standard данных с серверов, администратор может приступить к моделированию дерева NDS. Программа позволяет добавлять, перемещать и удалять объекты, а также изменять их свойства. В этом отношении она во многом напоминает утилиту NetWare Admin. После завершения автономного моделирования, DS-Standard формирует новую конфигурацию, внося изменения в "живое" дерево NDS. С помощью процедуры инсталляции можно перейти на NetWare 4.1 на всех серверах сети, причем каждый сервер получает свой собственный контекст. Такой контекст представляет собой отдельную ветвь дерева NDS. Позднее можно воспользоваться специальными средствами для удаления и перемещения ветвей. В NetWare 4.1 расширены функции эмуляции bindery. В предыдущей версии процедура эмуляции могла использовать только одну ветвь дерева, а в 4.1 - до 16 ветвей. В состав новой версии включена утилита NetSync, позволяющая управлять с сервера 4.1 12-ю серверами NetWare 3.х. При инсталляции NetSync на сервер NetWare 3.х вся информация из его базы bindery копируется в контекст bindery сервера NetWare 4.1, после чего можно управлять сервером NetWare 3.х с помощью утилит NetAdmin NWAdmin версии 4.1. Любые изменения, сделанные на сервере NetWare 4.1, автоматически переносятся на сервер NetWare 3.х. Недостаток такой системы состоит в том, что, если на сервере 3.х пользователь изменяет свой сценарий входа в сеть, то внесенные им изменения не переносятся автоматически на сервер 4.1. Конфигурирование NDS В версии NetWare 4.1 появились, наконец, средства для удаления, перемещения и переименования ветвей дерева NDS. Это повышает гибкость системы, поскольку вовсе не обязательно строить дерево в окончательном виде с первой попытки. Несколько деревьев можно объединить в одно с помощью утилиты DSMerge. Раньше приходилось проектировать дерево NDS в масштабах всего предприятия, что для большинства организаций было очень неудобно. Сегодня каждый отдел предприятия может самостоятельно строить свои деревья, чтобы позднее слить их в единое дерево NDS. Усовершенствованные средства передачи сообщений Служба сообщений MHS в версии 4.1 теперь тесно интегрирована со службой NDS и включена в комплект поставки. Это позволило, во-первых, значительно уменьшить размер модулей NLM MHS (примерно с 2 Мбайт до примерно 200 Кбайт) и, во-вторых, обеспечить в системе поддержку только одной базы данных с информацией о пользователях - NDS. В комплект поставки MHS не включены шлюзы к другим почтовым системам, поэтому их необходимо приобретать отдельно, причем для каждого дерева NDS потребуется свой шлюз. Поддержка клиентских станций Novell улучшила оболочку для клиентов на основе компьютеров Macintosh, заменив прежнюю 5-пользовательскую версию, поставлявшуюся с NetWare 3.х и 4.02, "неогра- ниченной" версией NetWare for Macintosh. Теперь компьютеры Macintosh могут легко подключаться к сети NetWare и работать с NDS в качестве клиента. Правда утилиты администрирования NDS для Mac пока не созданы, хотя Novell и собирается из выпустить в будущем на основе технологии OpenDoc фирмы Apple. Для клиентов NetWare выпущена новая версия оболочки на основе VLM-технологии - версия 1.2, в которой устранены ошибки первой версии. Поддержка коммуникационных протоколов В комплект поставки NetWare 4.1 фирма Novell включила купон на получение NetWare/IP. При наличии NetWare/IP можно использовать протоколы TCP/IP для передачи сообщений прикладного протокола клиент-сервер NetWare - протокола NCP. На клиентских станциях, работающих под управлением DOS, загрузка стека протоколов TCP/IP требует лишь небольшого дополнительного объема памяти. В версии 4.1 можно использовать новых протокол обмена маршрутной информацией NLSP вместо протокола RIP. Протокол NLSP основан на алгоритме "состояния связей" (Link State Algorithms), хорошо работающем в сетях больших размеров за счет того, что маршрутизаторы обмениваются только информацией о изменениях в состоянии связей с ближайшими соседями, что существенно уменьшает служебный трафик по сравнению с дистанционно-векторными протоколами, к которым относится протокол RIP. К протоколам "состояния связей" относится и сравнительно новый протокол OSPF, разработанный как часть стека Internet. Одновременно с разработкой протокола NLSP фирма Novell предприняла и другие шаги по улучшению своего стека протоколов в условиях работы в крупных сетях с глобальными связями. Ведутся работы по улучшению работы протокола IPX в глобальных сетях, при поддержке всеми узлами сети службы NDS отпадает необходимость в другом широковещательном протоколе - протоколе SAP. 6.4 Семейство сетевых ОС компании Microsoft6.4.1. Сетевые продукты MicrosoftВ 1984 году Microsoft выпустила свой первый сетевой продукт, называемый Microsoft Networks, который обычно неформально называют MS-NET. Некоторые концепции, заложенные в MS-NET, такие как введение в структуру базовых компонент - редиректора и сетевого сервера - успешно перешли в LAN Manager, а затем и в Windows NT. Microsoft все еще поставляет свою сетевую ОС LAN Manager. Большое количество независимых поставщиков имеют лицензии на эту ОС и поддерживают свои собственные версии LAN Manager как часть своих сетевых продуктов. В число этих компаний входят такие известные фирмы как AT&T и Hewlett-Packard. LAN Manager требует установки на файл-сервере операционной системы OS/2, рабочие станции могут работать под DOS, Windows или OS/2. OS/2 - это операционная система, реализующая истинную многозадачность, работающая в защищенном режиме микропроцессоров x86 и выше. LAN Manager использует 32-х битную версию файловой системы OS/2, называемую HPFS, которая оптимизирована для работы на файл-сервере за счет кэширования каталогов и данных. LAN Manager - это первая сетевая ОС, разработанная для поддержки среды клиент-сервер. Ключевыми компонентами LAN Manager являются редиректор и сервер. Особенно эффективно LAN Manager поддерживает архитектуру клиент-сервер для систем управления базами данных. LAN Manager разрешает рабочим станциям под OS/2 поддерживать сетевой сервис по технологии "равный-с-равным". Это означает, что рабочая станция может выполнять функции сервера баз данных, принт-сервера или коммуникационного сервера. Ограничением является то, что только один пользователь, кроме владельца этой рабочей станции, имеет доступ к такому одноранговому сервису. Для работы в небольшой сети фирма Microsoft предлагает компактную, не требующую значительных аппаратных или программных затрат операционную систему Windows for Workgroups. Эта операционная система позволяет организовать сеть по схеме "равный-с-равным", при этом нет необходимости приобретать специальный компьютер для работы в качестве сетевого сервера. Эта операционная система особенно подходит для решения сетевых задач в коллективах, члены которого ранее широко использовали Windows 3.1. В Windows for Workgroups достигнута высокая производительность сетевой обработки за счет того, что все сетевые драйверы являются 32-х разрядными виртуальными драйверами. С середины 1993 года Microsoft начала выпуск новых операционных систем "новой технологии" (New Technology - NT) Windows NT. В сентябре 1995 года компания Microsoft выпустила еще одну новую операционную систему Windows 95 (кодовое название Chicago), предназначенную для замены Windows 3.1 и Windows for Workgroups 3.11 в настольных компьютерах с процессорами Intel x86. В конце 88-го года Microsoft поручила Дэвиду Катлеру (David Cutler) возглавить новый проект в области программного обеспечения: создать новую ОС фирмы Microsoft для 90-х годов. (Дэвид Катлер - главный консультант фирмы DEC, который 17 лет проработал там, разрабатывая ОС и компиляторы: VAX/ VMS, ОС для MicroVAX I, OS RSX-11M, компиляторы VAX PL/1, VAX C). Он собрал команду инженеров для разработки ОС новой технологии (New Technology - NT). Первоначально планировалось разработать NT с пользовательским и программным (API) интерфейсами в стиле OS/2, однако OS/2 плохо продавалась, а Windows 3.0 имела большой и постоянный успех на рынке. Увидев рыночные ориентиры и сложности, связанные с развитием и поддержкой двух несовместимых систем, Microsoft решила изменить свой курс и направить своих инженеров в сторону стратегии единой цельной операционной системы. Эта стратегия состоит в том, чтобы разрабатывать семейство базирующихся на Windows операционных систем, которые охватывали бы множество типов компьютеров, от самых маленьких ноутбуков до самых больших мультипроцессорных рабочих станций. Windows NT, как было названо следующее поколение Windows-систем, занимает самое высокое место в семействе Windows. Она поддерживает графический интерфейс (GUI) пользователя Windows, а также является первой базирующейся на Windows операционной системой фирмы Microsoft, поддерживающей Win32 API, 32-х битный программный интерфейс для разработки новых приложений. Win32 API делает доступными для приложений улучшенные свойства ОС, такие как многонитевые процессы, синхронизацию, безопасность, I/O, управление объектами. В июле 1993 года появились первые ОС семейства NT - Windows NT 3.1 и Windows NT Advanced Server 3.1. 6.4.2. Windows NT 4.0При разработке Windows NT 4.0 Microsoft решила пожертвовать стабильностью ради производительности. С этой целью были внесены изменения в архитектуру: библиотеки менеджера окон и GDI, а также драйверы графических адаптеров были перенесены из пользовательского режима в режим ядра. Это изменение означает некоторый отход от принятой в предыдущих версиях Windows NT 3.х концепции микроядра. Перенос графической библиотеки и драйверов в область ядра повышает скорость выполнения графического ввода-вывода. Эти изменения особенно сказались на скорости выполнения приложений Win32, в то время как приложения Windows-16 и DOS-ские графические приложения работают примерно также, как и в версии 3.5. В то же время описанные изменения делают операционную систему в принципе менее надежной. Действительно, поскольку программное обеспечение графических адаптеров, как правило, разрабатывается фирмами-производителями этого оборудования и это программное обеспечение часто меняется (вместе с оборудованием), то от него трудно ожидать той надежности, которая требуется для модулей операционной системы. Кроме архитектурных в Windows NT 4.0 имеются и другие не менее кардинальные изменения: Средства взаимодействия с NetWare модифицированы - Gateway и клиент NCP поддерживают теперь NDS. В стандартную поставку включен Internet Information Server и сервер DNS. DNS взаимодействует с WINS и DHCP-серверами. Эта комбинация реализует Dynamic DNS, который разрешает верхние уровни доменного имени и передает имя для окончательного разрешения службе WINS. Поддержка многопротокольной маршрутизации. Сервер может работать как транслирующий агент протокола BOOTP/DHCP , что позволяет компьютеру передавать сообщения BOOTP/DHCP по IP-сети. Новые административные средства Windows NT могут работать удаленно на клиентах Windows 95. Кроме того, Windows NT Server обеспечивает сервис удаленной загрузки для клиентов Windows 95. (Это полезно для бездисковых рабочих станций.) Интерфейс в стиле Windows 95. Подсистема обработки сообщений Microsoft Windows Messaging Subsystem позволяет получать и отправлять почту из приложений. В Windows NT 4.0 появился эмулятор Intel'овских процессоров для RISC-платформ. Но не известно как скажется на быстродействии распределенная версия OLE, названная Distributed COM (в Windows 95 добавление OLE снизило производительность). Microsoft добавила в Windows NT 4.0 много технических средств, чтобы сделать эту операционную систему пригодной для использования в качестве платформы для Web-сервера. Одно из усовершенствований связано с тем, что повышающаяся роль Internet'а и клиент-серверных систем ведет к росту числа мобильных пользователей. Microsoft в связи с этим улучшила RAS ( улучшила поддержку ISDN) и предоставила средства безопасной работы с RAS через Internet. В RAS реализованы протоколы PPTP (создает зашифрованный трафик через Internet) и Multilink PPP (позволяет объединять несколько каналов в один). Клиентами могут быть Windows NT 4.0 Workstation или Windows 95. Важным аргументом в борьбе за Internet является включение в стандартную поставку Windows NT 4.0 Web-сервера производства Microsoft - Internet Information Server, возможности которого сравнимы, а по ряду тестов и превосходят аналогичный популярный продукт Server Netscape для NT. 6.4.3. Области использования Windows NTWindows NT Workstation, прежде всего, может использоваться как клиент в сетях Windows NT Server, а также в сетях NetWare, UNIX, Vines. Она может быть рабочей станцией и в одноранговых сетях, выполняя одновременно функции и клиента, и сервера. Windows NT Workstation может применяться в качестве ОС автономного компьютера при необходимости обеспечения повышенной производительности, секретности, а также при реализации сложных графических приложений, например, в системах автоматизированного проектирования. Windows NT Server может быть использован прежде всего как сервер в корпоративной сети. Здесь весьма полезной оказывается его возможность выполнять функции контроллера доменов, позволяя структурировать сеть и упрощать задачи администрирования и управления. Он используется также в качестве файл-сервера, принт-сервера, сервера приложений, сервера удаленного доступа и сервера связи (шлюза). Кроме того, Windows NT Server может быть использован как платформа для сложных сетевых приложений, особенно тех, которые построены с использованием технологии клиент-сервер. Так, под управлением Windows NT Server может работать сервер баз данных Microsoft SQL Server, а также серверы баз данных других известных фирм, такие как Oracle и Sybase, Adabas и InterBase. На платформе Windows NT Server может быть установлена новая мощная система администрирования Microsoft System Management Server, функцией которой является инвентаризация аппаратной и программной конфигурации компьютеров сети, автоматическая установка программных продуктов на рабочие станции, удаленное управление любым компьютером и мониторинг сети. Windows NT Server может использоваться как сервер связи с мейнфреймам. Для этого создан специальный продукт Microsoft SNA Server, позволяющий легко объединить в одной сети IBM PC-совместимые рабочие станции и мощные мейнфреймы. Наконец, Windows NT Server является платформой для нового производительного почтового сервера Microsoft Exchange. 6.4.4. Концепции Windows NT6.4.4.1 Структура: NT executive и защищенные подсистемыПри разработке структуры Windows NT была в значительной степени использована концепция микроядра. В соответствии с этой идеей ОС разделена на несколько подсистем, каждая из которых выполняет отдельный набор сервисных функций - например, сервис памяти, сервис по созданию процессов, или сервис по планированию процессов. Каждый сервер выполняется в пользовательском режиме, выполняя цикл проверки запроса от клиента на одну из его сервисных функций. Клиент, которым может быть либо другая компонента ОС, либо прикладная программа, запрашивает сервис, посылая сообщение на сервер. Ядро ОС (или микроядро), работая в привилегированном режиме, доставляет сообщение нужному серверу, затем сервер выполняет операцию, после этого ядро возвращает результаты клиенту с помощью другого сообщения.
Страницы: 1, 2, 3, 4
|
|