Вместе с тем выполнение всех программ в привилегированном режиме значительно ускоряет работу ОС, так как время переключения процессора из одного режима защиты в другой гораздо больше времени перехода на подпрограмму внутри одного и того же режима защиты.
Как уже было сказано, компьютер, на котором установлен сервер NetWare, не может быть использован для запуска обычных приложений. Для маленьких сетей, в которых каждый компьютер на счету, это, возможно и является недостатком, однако гораздо чаще администратор сети, не зависимо от того, какая операционная система установлена на файл-сервере, при возникновении малейшей возможности стремится разгрузить его от выполнения всех других системных и пользовательских приложений. Такая изоляция сервера от конечных пользователей повышает безопасность хранимых на сервере данных и надежность системы в целом.
Все выше перечисленные особенности ОС NetWare, связанные с ее специализированностью, делают эту операционную систему не очень хорошимсервером приложений.
Но поскольку необходимость в наличии сервера приложений все же возникает и в сетях NetWare, то для решения этой проблемы на какой-либо из рабочих станций сети устанавливается такая операционная система, которая хорошо подходила бы на роль сервера приложений. Для этой цели компанией Novell одно время позиционировалась операционная система UnixWare - вариант ОС Unix, совместимый с NetWare. В последнее время в качестве сервера приложений в сетях NetWare часто используют WindowsNT.
6.2.3. Справочная служба - грозное оружие в борьбе за корпоративный рынок
Для большой сети, состоящей из сотен серверов и тысяч клиентов, очень важно наличие мощной централизованной справочной службы (DirectoryServices), в которой в упорядоченном виде хранится информация о пользователях сети (их имена, пароли, разрешенные часы входа в сеть, разрешенные клиентские компьютеры) и ее ресурсах - серверах, томах файловой системы, базах данных, принтерах, системных приложениях. Необходимая справочная информация о ресурсах в зависимости от его типа включает разные данные, например, программный сервер может характеризоваться типом сервиса, версией, символьным именем и сетевым адресом.
Очевидно, что любая ОС ведет подобную справочную информацию, но она часто представляется в виде разрозненных файлов или баз данных. Эта разрозненность существует как в рамках отдельного компьютера (например, данные о пользователях хранятся и в ОС, и в различных приложения: СУБД, почте, сервисе удаленного доступа), так и в рамках всей сети, когда каждый сервер ведет свою базу данных пользователей и администрируется независимо от других, как это сделано, например, в NetWare 3.x. Из-за этого возникает избыточность и несогласованность справочной информации, которые усложняют работу администратора и приводят к ошибкам, создающим иногда прорехи в системе защиты сети от несанкционированного доступа.
Хорошая справочная служба предоставляет всем системным приложениям общую базу справочных данных, которой они могут пользоваться в своих целях: почта - для нахождения сетевых адресов ее абонентов, СУБД - для выполнения процедур аутентификации и авторизации, а также для нахождения таблиц распределенной базы данных.
Справочная служба должна обеспечивать единую процедуру логического входа в сеть. Аутентифицируясь с ее помощью один раз, пользователь получает доступ ко всем ресурсам сети. При этом пользователь избавляется от необходимости запоминать несколько идентификаторов, паролей и имен серверов, а администратор - поддерживать несколько пользовательских бюджетов на разных серверах.
Справочная служба должна обладать масштабируемостью, то есть хорошо работать при очень большом числе пользователей и ресурсов. Для этого необходимо, чтобы база справочных данных была распределенной, то есть части ее располагались на разных компьютерах. Действительно, хранение данных для большой сети в одном компьютере ненадежно и непроизводительно, так как обращения всех клиентов к одному компьютеру делают его узким местом, кроме того разбиение базы данных на части и хранение этих частей на разных компьютерах позволяет приблизить данные к источнику запросов, делая эти данные доступнее.
Поскольку справочная служба является централизованным элементом сети, она должна обладать отказоустойчивостью. Для этого справочная база данных должна быть не только распределенной, но и реплицируемой.
Примерами распределенных справочных служб, в наибольшей степени удовлетворяющих этим требованиям, являются службы NetWareDirectoryServices (NDS) компании Novell и служба StreetTalk компании Banyan.
Компания Banyan, не без основания предполагая, что ее справочная служба может составить сильную конкуренцию NDS компании Novell, даже отказалась от продвижения своей сетевой ОС Vines 7.0 и сконцентрировалась на развитии StreetTalk для WindowsNT, NetWare, Solaris и SCOUnix. Проблемы же StreetTalk заключаются в том, что на рынке пока ощущается дефицит приложений, поддерживающих эту справочную службу.
Известны также справочные службы NIS, NIS+, DCE, поддерживаемые ОС Unix, и доменная справочная служба DirectoryServicesWindowsNT. В виду того, что справочная служба, основанная на доменах плохо масштабируется, сложна в управлении и имеет ограниченные функциональные возможности, компания Microsoft предлагает новую глобальную справочную службу - ActiveDirectory . Эта служба должна появиться в начале 1998 года составе WindowsNT 5.0.
6.2.4. Стабильность и отказоустойчивость
Корпоративная ОС должна быть стабильной и устойчивой, для этого она, как минимум, должна работать в защищенном режиме и поддерживать вытесняющую многозадачность. Эти два условия не позволят некорректно работающим приложениям нарушить работу операционной системы и других приложений.
Стабильность ОС обуславливается также использованием прогрессивных технологий и архитектурных решений, таких как микроядерный подход к структурной организации ОС или использование объектов на уровне операционной системы.
Стабильности ОС способствует реализация вытесняющей многозадачности.Вытесняющая многозадачность - это такой способ разделения процессорного времени, который позволяет пользователю-программисту при разработке приложений не заботиться о том, чтобы приложение отдавало управление через определенный промежуток времени, что обязательно при использовании алгоритма невытесняющей многозадачности, реализованного, например, в NetWare. В системах с вытесняющей многозадачностью планирование процессов или нитейвыполняется централизованно, средствами ОС. Универсальность и независимость алгоритма планирования от конкретного набора прикладных программ делает систему более надежной и защищенной от неправильно работающих приложений, так как ни одно из них не сможет слишком долго занимать процессор и, следовательно, не сможет привести к сбою системы по этой причине.
На стабильность системы в целом влияет насколько хорошо ОС поддерживает аппаратные средства обеспечения надежности и отказоустойчивости. И прежде всего, необходимо поинтересоваться, обеспечивает ли ОС резервирование процессоров, то есть возможность продолжения работы при отказе одного из процессоров. Статистика показывает, что наиболее частой причиной отказа компьютера являются проблемы с источниками питания и отказы дисковых подсистем. Поэтому так важны для корпоративной ОС возможности по поддержке источников бесперебойного питания UPS, а также дисковых массивов типа RAID.
6.2.5. Насколько важна сертифицированность ОС по критериям безопасности
Каждая сетевая ОС имеет набор средств для обеспечения безопасности данных, их целостности, доступности и конфиденциальности. Для этого в ней предусмотрены средства проведения процедур аутентификации и авторизации пользователей, а также аудита (отслеживания) всех событий, потенциально опасных для системы. Для характеристики степени безопасности ОС используются различные стандарты.
Основы стандартов на безопасность были заложены изданными в 1983 году "Критериями оценки надежных компьютерных систем". Этот документ, изданный в США национальным центром компьютерной безопасности (NCSC - NationalComputerSecurityCenter), часто называют Оранжевой Книгой. Утвержденная в 1985 году в качестве правительственного стандарта, Оранжевая Книга определяет основные требования и специфицирует классы для оценки уровня безопасности готовых и коммерчески поддерживаемых компьютерных систем.
В соответствии с требованиями Оранжевой книги, безопасной считается такая система, которая "посредством специальных механизмов защиты контролирует доступ к информации таким образом, что только имеющие соответствующие полномочия лица или процессы, выполняющиеся от их имени, могут получить доступ на чтение, запись, создание или удаление информации".
Иерархия надежных систем, приведенная в Оранжевой Книге, помечает низший уровень безопасности как С, высший как А, промежуточный как B. В класс D попадают системы, оценка которых выявила их несоответствие требованиям всех других классов.
Основные свойствами, характерными для С-систем, являются: наличие подсистемы учета событий, связанных с безопасностью, избирательный контроль доступа. Избирательный контроль заключается в том, что каждый пользователь в отдельности наделяется или лишается привилегий доступа к ресурсам. Уровень С делится на 2 подуровня: С1 и С2. Уровень С2 предусматривает более строгую защиту, чем С1. В соответствии с этим уровнем требуется отслеживание событий, связанных с нарушениями защиты, детальное определение прав и видов доступа к данным, предотвращение случайной доступности данных (очистка освобожденной памяти). На уровне С2 должны присутствовать средства секретного входа, которые позволяют пользователям идентифицировать себя путем ввода уникального идентификатора (ID) входа и пароля перед тем, как им будет разрешен доступ к системе. Избирательный контроль доступа, требуемый на этом уровне, позволяет владельцу ресурса определить, кто имеет доступ к ресурсу и что он может с ним делать. Владелец делает это путем предоставляемых прав доступа пользователю или группе пользователей. Средства учета и наблюдения (auditing) - обеспечивают возможность обнаружить и зафиксировать важные события, связанные с безопасностью, или любые попытки создать, получить доступ или удалить системные ресурсы. Эти средства используют идентификаторы, чтобы зафиксировать того пользователя, который выполняет эти действия. Защита памяти - предохраняет от чтения информации, записанной кем-нибудь в память, после того, как структуры данных будут возвращены ОС. Память инициализируется перед тем, как повторно используется.