Контакт:
  • Наши кнопки

  • Карта сайта
  • Вход для админа:

В дополнение к стандарту POSIX правительство США также определил требования компьютерной безопасности для приложений, используемых правительством. Многие из этих требований являются желательными свойствами для любой многопользовательской системы. Правила безопасности определяют такие свойства, как защита ресурсов одного пользователя от других и установление квот по ресурсам для предотвращения увлечения одним пользователем всех системных ресурсов (таких как память).

Обеспечение защиты информации от несанкционированного доступа является обязательной функцией сетевых операционных систем.

Блокирование файла поддерживается с помощью системного вызова UNIX FLOCK. Если блокирования не нанимается на протяжении 30 промелькнут, то она нанимается по тайм-ауту. Поэтому, предназначенные только для чтения, такие как системные двоичные файлы, реплицируются, а пользовательские файлы - нет.

Хотя прикладные программы видят традиционное пространство имен UNIX, внутренняя организация серверу и клиента использует целиком другую схему имен. Они используют двухуровневую схему именования, при какой каталог содержит структуры, называемые fids (file identifiers), вместо традиционных номеров i-узлов.

Другой путь, заключается в том, чтобы оставить в ядре только небольшую часть серверу, который подает собой механизм реализации решения, а часть, ответственную за принятия решения, переместить в користувальну область. Согласно этому подходу, например, в микроядре Mach, на базе которого разработана Workplace OS, размещается только часть системы управления процессами (и нитями), что реализует диспетчеризацию (то есть непосредственно переключение из процесса на процесс), а все функции, связанные с анализом приоритетов, выбором очередного процесса для активизации, принятием решения о переключении на новый процесс и другие аналогичные функции выполняются вне микроядра.

Механизм доменов можно использовать на предприятии разными средствами. В зависимости от специфики предприятия можно объединить ресурсы и пользователей в разное количество доменов, а также по-разному установить между ними доверительные отношения.

Microsoft предлагает использовать четверых типичные модели использования доменов на предприятии:

Модель с одним доменом;

Модель с главным доменом;

Модель из несколькими главными доменами;

Модель с полными доверительными отношениями.

Модель с одним доменом

Эта модель подходит для организации, в которой есть не очень много пользователей, и нет необходимости разделять ресурсы сети по организационным подразделам.

NDS использует для сохранности информации логическую структуру, называемую деревом каталогов (Directory Tree, DT). Эта иерархическая структура имеет корневой элемент (root) и ветви (рисунок 3.25). Администратору сети Netware 4. x дается удобная графическая утилита Netware Administrator, что работает в среде Windows, что наглядно подает каждый объект дерева каталогов NDS в виде иконки и отражающая связи между объектами. Пользователи также получают удобства прозрачного доступа к ресурсам всей сети, если они пользуются оболочкой Netware для Windows, что поддерживает диалог из NDS и подает доступные пользователю ресурсы в виде вложенных пиктограмм.

Домен - это основная единица администрирования и обеспечение безопасности в Windows NT. Для домена существует общая база данных учетной информации пользователей (user accounts), так что при входе у домен пользователь получает доступ сразу ко всем разрешенных ресурсов всех серверов домена.

Доверительные отношения (trust relationships) обеспечивают транзитную аутентификацию, при какой пользователь имеет только одна учетная запись в одном домене, но может получить доступ к ресурсам всех доменов сети.

AFS была разработана в университете Карнеги-Меллона и названная в честь основателей-спонсоров-основателей университета Andrew Carnegie и Andrew Mellon. Эта система, созданная для студентов университета, не является прозрачной системой, в которой все ресурсы динамично назначаются всем пользователям при возникновении нужд. Несмотря на это, файловая система была спроектирована так, чтобы обеспечить прозрачность доступа каждому пользователю, независимо от того, какой рабочей станцией он пользуется.

Особенностью этой файловой системы есть возможность работы по большим (до 10 000) числом рабочих станций.

Только небольшое количество сетей имеет однородность (гомогенностью) программного и аппаратного обеспечения. Однородными чаще есть сети, которые составляются из небольшого количества компонентов от одного производителя.

Некоторые организации имеют сети, составленные из оборудования, например, только IBM или DEC. Дни сетей от одного производителя миновали. Нормой сегодняшнего дня являются сети неоднородные (гетерогенные), что составляются из разных рабочих станций, операционных систем и приложений, а для реализации взаимодействия между компьютерами используют разные протоколы.

Хорошим решением был бы переход на единый стек протоколов, но едва ли эта перспектива осуществится в ближайшем будущем. Попытка введения единого стека коммуникационных протоколов сделана в 1990 году правительством США, что обнародовало программу GOSIP - Government OSI Profile, согласно  которому стек протоколов OSI должны стать общим знаменателем для всех сетей, устанавливаемых в правительственных организациях США. Но, понимая бесполезность силовых мер, программа GOSIP не ставит задачу немедленного перехода на стек OSI, а принуждает пока к использованию этого стека в качестве "второго языка" правительственных сетей, возле из родным, первым.

Объектно-ориентированный подход к построения операционных систем, который предоставляет порядок процесса добавления модульных расширений к небольшому ядру был принят на вооружение многими известными фирмами, такими как Microsoft, Apple, IBM, Novell/USL (UNIX Systems Laboratories) и Sun Microsystems - все они развернули свои операционные системы в этом направлении. Taligent, общее предприятие IBM и Apple, надеется опередить всех из своей с начала до конца объектно-ориентированной операционной системой.

Одной из первых представила понятие микроядра фирма Next, что использовала в своих компьютерах систему Mach, прошлую большой путь развития в университете Карнеги-Меллона с помощью агентства Министерства обороны США DARPA. Теоретически, ее небольшое привилегированное ядро, окруженное службами користувального режима, должно было обеспечить беспрецедентную гибкость и модульность. Но на практике это преимущество было несколько уменьшено наличием монолитного серверу операционной системы BSD 4.3, что выполнялся в користувальному просторные над микроядром Mach.

Хорошо известный механизм для реализации распределенных вычислений, RPC, расширяет традиционную модель программирования - вызов процедуры - для использования в сети. RPC может составлять основу распределенных вычислений. Теоретически программист не должен становиться экспертом по коммуникационным средствам для того, чтобы написать распределенное сетевое приложение. При использовании RPC программист будет применять специальный язык для описания операций. Данное описание обрабатывает компилятором, который создает код как для клиента, так и для серверу.

Обобщением предыдущего подхода является организация ОС как иерархии уровней. Уровне образуются группами функций операционной системы - файловая система, управление процессами и устройствами и т.п. Каждый уровень может взаимодействовать только со своим непосредственным соседом - выше- или уровнем, который нижележит. Прикладные программы или модули самой операционной системы передают запросы вверх и вниз по этим уровням.

Первой системой, построенной таким способом была простая пакетная система THE, что построил Дейкстра и его студентов в 1968 году.

В то время как некоторые идеи (например, объектно-ориентированный подход) непосредственно касаются только разработчиков и лишь косвенно влияют на конечного пользователя, концепция множественных прикладных сред приносит пользователю долгожданную возможность выполнять на своей ОС программы, написанные для других операционных систем и других процессоров.

И сейчас дополнительное программное обеспечение позволяет пользователям некоторых ОС запускать чужие программы (например, Mac и UNIX позволяют выполнять программы для DOS и Windows).

Модель клиент-сервер - это еще один подход к структурированию ОС. В широком содержании модель клиент-сервер предполагает наличие программного компонента - потребителя какого-то сервиса - клиента, и программного компонента - поставщика этого сервиса - серверу. Взаимодействие между клиентом и сервером стандартизуется, так что сервер может обслуживать клиентов, реализованных разными средствами и, может быть, разными производителями. При этом главным требованием является то, чтобы они спрашивали услуги серверу понятным ему средством.

Эта модель хорошо подходит для предприятий, где необходимо разбить ресурсы на группы в организационных целях, и в то же время количество пользователей и групп пользователей не очень велико. Эта модель соединит централизацию администрирования с организационными преимуществами деления ресурсов между несколькими доменами.

Главный домен удобно рассматривать как чисто учетный домен, основное назначение которого - сохранение и обработка учетных данных. Другие домены в сети - это домены ресурсов, они не берегут и не обрабатывают учетную информацию, а поставляют ресурсы (такие как что разделяются файлы и принтеры) для сети.

Эта модель обеспечивает распределенное администрирование пользователей и доменов. В этой модели каждый домен доверяет каждому. Каждый отдел может управлять своим доменом, определяя своих пользователей и глобальные группы пользователей, и учетная информация о ней может использоваться во всех доменах предприятия.

Рис. 3.23.  Модель с полными доверительными отношениями

Через резкое увеличение числа доверительных отношений эта модель не подходит для больших предприятий.

В общем случае "структура" монолитной системы представляет собой отсутствие структуры (рисунок 4.1). ОС написанный как набор процедур, каждая с который может вызвать другие, когда ей это нужно. При использовании этой техники каждая процедура системы имеет хорошо определенный интерфейс в сроках параметров и результатов, и каждая свободна вызвать любую другую для выполнения некоторой нужной для нее полезной работы.

Рис.

Обычно приложения имеют дело с процессами, каждый из который составляется с одной нити управления.

Нити - это важная модель для выражения параллелизма внутри процесса, особенно для распределенного окружения. Например, возможности многонитевой обработки становятся особенно важными в контексте RPC. RPC является синхронным механизмом по своей природе: клиент делает вызов отдаленной функции и ожидает выполнение вызова. При использовании нитей одна нить может сделать запрос, а другая начать обрабатывать данные от другого запроса.

Хотя технология микроядер и заложила основы модульных систем, способных развиваться регулярным воображением, она не смогла в полной мере  обеспечить возможности расширения систем. В данное время этой цели в найбольшей мерей  отвечает объектно-ориентированный подход, при которому каждый программный компонент есть функционально изолированным от других.

Основным понятием этого подхода есть "объект". Объект - это единица программ и данных, взаимодействующая с другими объектам с помощью приема и передача сообщений.

Использование объектно-ориентированного подхода особенно эффективно при создании программного обеспечения, которое развивается активно, например, при разработке приложений, предназначенных для выполнения на разных аппаратных платформах.

Целиком объектно-ориентированные операционные системы очень привлекательные для системных программистов, потому что, используя объекты системного уровня, программисты смогут залезать вглубь операционных систем для приспособления их к своим нуждам, не возбуждаясь целостность системы.

В домене должен находится сервер, который выполняет роль основного контроллера домена (primary domain controller). Этот контроллер бережет первичную копию базы данных учетной информации пользователей домена. Все изменения, произведенные в учетной информации, сначала ведутся именно в этой копии. Основной контроллер домена всегда существует в едином экземпляре. Пользователь, который администрирует домен, не должный явным образом задавать имени компьютера, который выполняет роль основного контроллера, утилита, в помощью которой осуществляется администрирование (в Windows NT это User Manager for Domains), должная по имени домена самостоятельно, согласно заранее разработанному протоколу провести диалог с основным контроллером домена и сделать нужны изменения в его базе данных.

Если бы в компьютерном мире существовал только один стек протоколов, то у независимых разработчиков сетевого и программного обеспечения не было бы никаких проблем: сетевые адаптеры вместе со своими драйверами подходили бы к любой сетевой ОС за счет единого интерфейса между канальным и сетевым уровнями, разработчике транспортных средств новых ОС могли бы использовать существующие реализации протокола сетевого уровня, а разработчики сетевых приложений использовали бы единый API для обращения к сервисным услугам прикладного уровня ОС.

Требование переносимости кода тесно связано с расширяемостью. Расширяемость позволяет улучшать операционную систему, в то время как переносимость дает возможность перемещать всю систему на машину, которая базируется на другом процессоре или аппаратной платформе, делая при этом по возможности небольшие изменения в коде. Хотя ОС часто описываются или как переносимые, или как невыносимые, переносимость - это не бинарное состояние. Вопрос не в том, может ли быть система перенесенная, а в том, насколько легко можно это сделать.

Есть две больших группы функций службы безопасности: идентификация и авторизация. Идентификация проверяет идентичность объекта (например, пользователя или сервиса). Авторизация (или управление доступом) назначает привилегии объекту, такие как доступ к файлу.

Авторизация - это только часть решения. В распределенной сетевой среде обязательно должна работать глобальная служба идентификации, потому что рабочей станции нельзя доверить функции идентификации себя или своего пользователя. Служба идентификации представляет собой механизм передачи третьей стороне функций проверки идентичности пользователя.

В распределенных сетевых системах необходимо иметь службу согласования времени. Много распределенных служб, такие как распределенная файловая система и служба идентификации, используют сравнение дат, сгенерированных на разных компьютерах. Чтобы сравнение имело смысл, пакет DCE должен обеспечивать согласованные временные оценки.

Сервер времени OSF DCE - это система, которая поставляет время другим системам с целью синхронизации. Любая система, которая не содержит серверу времени, называется клерком (clerk).

В идеале сетевая справочная информация должна быть реализована в виде единой базы данных, а не представлять собой набор баз данных, которые специализируются на сохранении информации того или другого вида, как это часто бывает в реальных операционных системах. Например, в Windows NT есть по крайней мере пять разных типов справочных баз данных. Главный справочник домена (NT Domain Directory Service) бережет информацию о пользователях, которая используется при организации их логического входа в сеть.

Hewlett-Packard, Sun Microsystems и DEC экспериментируют с объектами уже много лет. Теперь эти компании и много других объединились вместе, основав промышленную коалицию по названию OMG (Object Management Group), что разрабатывает стандарты для обмена объектами. OMG CORBA (Common Object Request Broker Architecture - Общая архитектура посредника обработки объектных запросов) закладывает фундамент распределенных вычислений с переносимыми объектами. CORBA задает средство поиска объектами других объектов и вызова их методов.

Распределенные вычисления имеют дело с понятиями более высокого уровня, чем физические носители, каналы связи и методы передачи по ним сообщений. Распределенная среда должна дать пользователям и приложениям прозрачный доступ к данному, вычислениям и другим ресурсам в гетерогенных системах, которые подают собой набор средств разных производителей. Стратегические архитектуры каждого значительного системного производителя базируются сейчас на той или другой форме распределенного вычислительного среды (DCE).

Итак, шлюз согласует коммуникационные протоколы одного стека с коммуникационными протоколами другого стека. Программные средства, которые реализуют шлюз, нет смысла устанавливать ни на одном с двух взаимодействующих компьютеров с разными стеками протоколов, намного рациональнее разместить их на некотором компьютере-посреднике. Когда-то, чем обгрунтувати это утверждения, рассмотрим принцип работы шлюза.

Рисунок 3.14 иллюстрирует принцип функционирования шлюза. В показанном примере шлюз, размещенный на компьютере 2, согласовывает протоколы клиентского компьютера 1 сети А с протоколами серверного компьютера 3 сети В.

Служба NDS представляет собой значительный шаг вперед в сравнении с предыдущими версиями за счет:

распределенности;

реплицируемости; прозрачности;

глобальности.

Распределенность заключается в том, что информация не хранится на одном сервере, а разделенная на части, называемые делениями (partitions). Netware бережет эти деления на нескольких серверах сети (рисунок 3.24). Это свойство значительно упрощает администрирование и управление большой сетью, потому что она рекомендуется администратору единой системой.

Служба NDS предназначена для управления такими сетевыми ресурсами, как серверы и потому Netware, но она не обеспечивает управления файловой системой. Файлы и каталоги не являются объектами службы NDS. Однако они рекомендуются в виде иконок при использовании графической утилиты Netware Administrator. Одним из атрибутов объекта-поэтому есть местоположение физического потому, что содержит файлы и каталоги. Таким образом, объект-том представляет собой связь между NDS и файловой системой.

Служба NDS предоставляет средства для поиска объектов в ее базе данных сетевых ресурсов.

В данное время именно операционные системы, построенные с использованием модели клиент-сервер и концепции микроядра, в найбольшей мерей удовлетворяют требованиям, предложенным к современным ОС.

Высокая степень переносимости обусловленный тем, что весь машинно-зависимый код изолирован в микроядре, поэтому для переноса системы на новый процессор нужно меньше изменений и все они логически сгруппированы вместе.

Технология микроядер является основой построения множественных прикладных сред, которые обеспечивают совместимость программ, написанных для разных ОС.

Поворачиваясь к принципам организации взаимодействия сетей, сравним два основных подхода - мультиплексирование протоколов и трансляцию протоколов (шлюзы).

Встроенные в сетевую ОС средства мультиплексирования протоколов дают все те преимущества, которые присущий встроенным средствам:

Эти средства не нужно отдельно получать;

Нет проблем их совместимости с другими продуктами.

Основным недостатком этого подхода является чрезмерность. Хотя средства мультиплексирования обычно позволяют загружать и выгружать по желанию пользователя разные стеки протоколов, но если нужно одновременно работать с тремя разными сетями, то в каждую рабочую станцию необходимо загрузить все трех стека одновременно.

Для пользователей Windows объектно-ориентированный подход оказывается при работе с программами, которые используют технологию OLE фирмы Microsoft. В первой версии OLE, что дебютировала в Windows 3.1, пользователи могли вставлять объекты в документы-клиенты. Такие объекты устанавливали ссылку на данные (в случае связывания) или содержали данные (в случае внедрения) в формате, распознаваемом программой-сервером. Для запуска программы-серверу пользователи делали двойной щелчок на объекте, с помощью чего передавали данные серверу для редактирования.


s#0

Теги сайта