Добавлен: 03.07.2023
Просмотров: 229
Скачиваний: 3
Именно уровне сети начинаются проблемы интеграции. В случае, отделы выбрали для типы компьютеров, оборудования и сетевых систем. Например, отдел может операционную систему и сетевое оборудование отдел продаж использовать операционные DOS/Novell и оборудование Ring. Очень сеть кампуса разнородные компьютерные в то время сети отделов однотипные компьютеры.
Корпоративная соединяет сети подразделений предприятия, в случае находящихся значительных расстояниях. Корпоративные используют глобальные (WAN links) соединения локальных или отдельных компьютеров.
Пользователям сетей требуются те приложения и которые имеются в отделов и кампусов, некоторые дополнительные и услуги, например, к приложениям мейнфреймов и и к глобальным связям. Когда разрабатывается для сети или группы, то главной обязанностью разделение файлов и сетевых ресурсов принтеров) между подключенными пользователями. Такой не применим уровня предприятия. Наряду с сервисами, связанными с файлов и принтеров, ОС, которая для корпораций, поддерживать более набор сервисов, в обычно входят служба, средства работы, поддержка пользователей, факс-сервис, голосовых сообщений, видеоконференций и др.
Кроме многие существующие и подходы к решению задач сетей масштабов для сети оказались непригодными. На план вышли задачи и проблемы, в сетях рабочих отделов и даже либо имели значение, либо не проявлялись. Например, для небольшой задача ведения информации о пользователях в сложную проблему сети масштаба предприятия. А глобальных связей от корпоративных поддержки протоколов, работающих на линиях, и отказа некоторых традиционно протоколов (например, которые активно широковещательные сообщения). Особое приобрели задачи гетерогенности - в сети многочисленные шлюзы, согласованную работу ОС и сетевых приложений.
К признакам ОС могут отнесены также особенности.
Поддержка приложений. В сетях выполняются приложения, требующие выполнения большой мощности. Такие разделяются на частей, например, одном компьютере часть приложения, с выполнением запросов к данных, на - запросов к файловому а на клиентских - часть, реализующая обработки данных и организующая интерфейс с пользователем. Вычислительная общих для программных систем быть слишком и неподъемной для станций клиентов, приложения будут более эффективно, их наиболее в вычислительном отношении перенести на предназначенный для мощный компьютер - приложений.
Сервер должен базироваться мощной аппаратной (мультипроцессорные системы, на базе специализированные кластерные архитектуры). ОС приложений должна высокую производительность а значит поддерживать обработку, вытесняющую мультипроцессирование, виртуальную и наиболее популярные среды (UNIX, MS-DOS, OS/2). В отношении сетевую NetWare трудно к корпоративным продуктам, как в ней почти все предъявляемые к серверу приложений. В же время поддержка универсальных в Windows NT и позволяет ей на место в корпоративных продуктов.
Справочная служба. Корпоративная должна обладать хранить информацию всех пользователях и таким образом, обеспечивалось управление из одной точки. Подобно организации, корпоративная нуждается в централизованном как можно полной справочной о самой себе с данных о пользователях, рабочих станциях и данными о кабельной системе). Естественно эту информацию в базы данных. Данные этой базы быть востребованы сетевыми системными в первую очередь управления и администрирования. Кроме такая база при организации почты, систем работы, службы службы инвентаризации и аппаратного обеспечения да и для любого крупного бизнес-приложения.
База хранящая справочную предоставляет все же многообразие и порождает все же множество что и любая крупная база данных. Она осуществлять различные поиска, сортировки, и т.п., что сильно облегчает как администраторам, и пользователям. Но эти удобства расплачиваться решением распределенности, репликации и синхронизации.
В сетевая справочная должна быть в виде единой данных, а не собой набор данных, специализирующихся хранении информации или иного как это бывает в реальных системах. Например, в NT имеется крайней мере различных типов баз данных. Главный домена (NT Directory Service) информацию о пользователях, используется при их логического в сеть. Данные о же пользователях содержаться и в другом используемом электронной Microsoft Mail. Еще базы данных разрешение низкоуровневых WINS - устанавливает Netbios-имен IP-адресам, DNS - сервер домена - оказывается при подключении к Internet, и наконец, протокола DHCP для автоматического IP-адресов компьютерам сети. Ближе к находятся справочные поставляемые фирмой (продукт Streettalk и фирмой Novell Directory Services), предлагающие единый справочник для всех сетевых приложений. Наличие единой справочной службы для сетевой операционной системы - один из важнейших признаков ее корпоративности.
Безопасность. Особую важность для ОС корпоративной сети приобретают вопросы безопасности данных. С одной стороны, в крупномасштабной сети объективно существует больше возможностей для несанкционированного доступа - из-за децентрализации данных и большой распределенности "законных" точек доступа, из-за большого числа пользователей, благонадежность которых трудно установить, а также из-за большого числа возможных точек несанкционированного подключения к сети. С другой стороны, корпоративные бизнес-приложения работают с данными, которые имеют жизненно важное значение для успешной работы корпорации в целом. И для защиты таких данных в корпоративных сетях наряду с различными аппаратными средствами используется весь спектр средств защиты, предоставляемый операционной системой: избирательные или мандатные права доступа, сложные процедуры аутентификации пользователей, программная шифрация.
Процессы и нити в распределенных системах
Понятие "нить"
В традиционных ОС понятие нити тождественно понятию процесса. В действительности желательно иметь несколько нитей управления, разделяющих единое адресное пространство, но выполняющихся квазипараллельно.
Предположим, например, что файл-сервер блокируется, ожидания выполнения операции с диском. Если сервер имеет несколько нитей управления, вторая нить может выполняться, пока первая нить находится в состоянии ожидания. Это повышает пропускную способность и производительность. Эта цель не достигается путем создания двух независимых серверных процессов, потому что они должны разделять общий буфер кэша, который требуется им, чтобы быть в одном адресном пространстве.
На рисунке 3.9,а показана машина с тремя процессами. Каждый процесс имеет собственный программный счетчик, собственный стек, собственный набор регистров и собственное адресное пространство. Каждый процесс не должен ничего делать с остальными, за исключением того, что они могут взаимодействовать посредством системных примитивов связи, таких как семафоры, мониторы, сообщения. На рисунке 3.9,б показана другая машина с одним процессом. Этот процесс состоит из нескольких нитей управления, обычно называемых просто нитями или иногда облегченными процессами. Во многих отношениях нити подобны мини-процессам. Каждая выполняется строго и имеет свой программный счетчик и стек. Нити процессор так, это делают (разделение времени). Только многопроцессорной системе действительно выполняются параллельно. Нити например, порождать могут переходить в ожидания до системного вызова, обычные процессы, одна нить другая нить же процесса выполняться.
Рис. 3.9. а) процесса с одной каждый
б) процесс с тремя
Нити делают сохранение идеи процессов, которые блокирующие системные (например, RPC обращения к диску), и в же время достичь параллелизма вычислений. Блокирующие вызовы делают программирование, а параллелизм производительность.
Различные организации вычислительного с использованием нитей
Один возможных способов вычислительного процесса на рисунке 3.10,а. Здесь читает приходящие на работу почтового ящика системы. После запроса диспетчер простаивающую (то блокированную) рабочую передает ей и активизирует ее, например, семафор, она ожидает.
Когда нить активизируется, проверяет, может быть выполнен с данными разделяемого кэша, к которому отношение все нити. Если она посылает к диску, чтобы нужный блок это READ), и в состояние блокировки, завершения дисковой операции. В момент происходит к планировщику, в результате которого активизируется нить, возможно, или некоторая нить, готовая к выполнению.
Структура с не единственный организации многонитевой обработки. В "команда" все эквивалентны, каждая и обрабатывает свои запросы. Иногда приходят, а нужная занята, особенно, каждая нить на выполнении вида работ. В случае может очередь незавершенных работ. При организации нити вначале просматривать работ, а затем ящик.
Нити быть также в виде конвейера. В случае первая порождает некоторые и передает их обработки следующей и т.д. Хотя организация и не для файл-сервера, других задач, задач типа это хорошее решение.
Нити полезны и для клиентов. Например, клиент хочет файл на серверов, он создать по нити для на каждом сервере. Другое нитей клиентами - управление сигналами, как прерывание с (del или break). Вместо сигнала прерывания нить назначается постоянного ожидания сигналов. Таким использование нитей сократить необходимое прерываний пользовательского уровня.
Рис. 3.10. Три организации нитей в
а - модель нити; б - модель в - модель конвейера
Другой в пользу нитей имеет отношения к удаленным вызовам, к коммуникациям. Некоторые задачи легче используя параллелизм, задачи типа "производитель-потребитель". Не важно параллельное сколь важна программы. А поскольку разделяют общий не стоит делать отдельными процессами.
Наконец, в системах нити одного адресного могут выполняться на разных процессорах. С стороны, правильно программы, которые нити, должны одинаково хорошо однопроцессорной машине в разделения времени нитями и на мультипроцессоре.
Вопросы нитей
Существует подхода к управлению статический и динамический. При подходе вопрос, будет нитей, уже на написания программы на стадии компиляции. Каждой назначается фиксированный стек. Этот простой, но негибкий. Более является динамический который позволяет и удалять нити по ходу выполнения. Системный для создания обычно содержится в главной программы в указателя на с указанием размера а также других например, диспетчерского приоритета. Вызов возвращает идентификатор который можно в последующих вызовах, с этой нитью. В модели процесс с одной нити, может создавать еще, когда необходимо.
Завершаться могут одним двух способов: своей инициативе, завершается работа, и извне. Во случаях, например, конвейерной модели, создаются сразу после старта и никогда не уничтожаются.
Поскольку разделяют общую они могут как правило, это) использовать для сохранения которые совместно множеством нитей, например, как в системе "производитель-потребитель". Доступ к данным обычно с использованием критических предотвращающих попытки нескольких нитей к одним и тем данным в одно и же время. Критическая наиболее легко с использованием семафоров, и аналогичных конструкций.
Нити быть реализованы в пользовательском пространстве, и в пространстве ядра. В случае нити на базе системы, управляющей операциями с нитями. Первым такого способа то, что реализовать нити в системе, которая не поддерживает. ОС среда, управляющая кажется одним процессом. Все (ПРИОСТАНОВИТЬ, ПРОВЕРИТЬ и т. д.) как вызовы этой прикладной среды. Она регистры и переключает счетчика команд и стека. В случае переключение быстрее, чем с ядра. Такая имеет еще преимущество - для процесса можно свою схему планирования. Однако подход связан с проблемами, одна которых состоит в следующем. При блокирующих системных приостанавливается весь нитей, принадлежащих процессу. Чтобы этого, можно все системные неблокирующими, но требует изменений в что нежелательно, как одной целей реализации в пользовательском пространстве их работа в операционных системах.
Такой не существует реализации нитей в ядра. Преимущество также и в том, ядро может диспетчеризации выбирать из другого процесса. Однако механизм управления аналогичен первому временные затраты переключение нитей так как время на из режима в режим ядра.
и RPC
Обычно в системах используются RPC, так и нити. Так нити были как дешевая стандартным процессам, естественно, что обратили особое в этом контексте RPC: нельзя их также облегченными. Было что в распределенных значительное количество обрабатывается на же машине, которой они вызваны (локально), вызовы к менеджеру окон. Поэтому предложена новая которая делает для нити процесса вызвать другого процесса этой же более эффективно, обычным способом.
Идея в следующем. Когда серверная нить то она свой интерфейс, о нем ядру. Интерфейс какие процедуры быть вызваны, их параметры и т.п. Когда клиентская нить то она интерфейс из в том случае, собирается вызвать и ей дается идентификатор для определенного вызова. Ядро знает, что C позже вызвать S и специальные структуры для подготовки к вызову.