Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Сетевые операционные системы(Структура сетевой операционной системы)

Содержание:

Введение

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

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

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

Теперь обратимся к понятию сетевая ОС. Сетевая ОС - это операционная система со встроенными возможностями для работы в компьютерных сетях. К таким возможностям можно отнести:

  1. поддержку сетевых протоколов
  2. поддержку сетевого оборудования
  3. поддержку маршрутизации протоколов
  4. поддержку фильтра сетевого трафика
  5. поддержку доступа к удалённым ресурсам, таким как принтеры, диски и т. п. по сети
  6. поддержку сетевых протоколов авторизации
  7. а также наличие служб, предоставляющих пользователям удаленный доступ к различному оборудованию что очень удобно.

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

Глава 1. Сетевые операционные системы

1.1. Структура сетевой операционной системы

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

Опираясь на структуру, приведенную в приложении 1, в сетевой ОС отдельного компьютера можно рассмотреть несколько частей:

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

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

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

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

Рассматривая более пристально клиентское програмное обеспечение, стоит отметить, что для работы с сетью на клиентских рабочих серверах должно быть установлено программное обеспечение(ПО). Это ПО позволяет обеспечивать доступ к ресурсам, находящимся на сетевом сервере. Тремя самыми важными компонентами клиентского ПО являются редиректоры (redirector), распределители (designator) и имена UNC (UNC pathnames).

Остановимся подробнее. Редиректор – сетевое ПО, которое способно обеспечивать запросы ввода/вывода для удаленных файлов, именованных каналов или почтовых слотов, а также переназначает их сетевым сервисам другого компьютера. Редиректор перехватывает иходящие запросы, поступающие от приложений, и проверяет их. Всего существуют два типа редиректоров, используемых в сети:

- клиентский редиректор (client redirector),

- серверный редиректор (server redirector).

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

Распределитель (designator) является непосредственной частью программного обеспечения, отвечающей за присвоение букв накопителя (drive letter) как локальным, так и удаленным сетевым устройствам или разделяемым дисководам, что помогает во взаимодействии с сетевыми ресурсами. Когда между сетевым ресурсом и буквой локального накопителя создана схожесть, известная также как отображение дисковода (mapping a drive), распределитель отслеживает присвоение такой буквы дисковода сетевому ресурсу. Затем, пользователь или приложение получают доступ к диску и распределитель заменяет букву дисковода на сетевой адрес ресурса, прежде чем запрос будет послан редиректору.

Отметим, что редиректор и распределитель не единственные методы распределения ресурсов есть и другие, используемые для доступа к сетевым ресурсам. Большое количество современных сетевых ОС, так же как и Windows 95, 98, NT, распознают имена UNC (Universal Naming Convention). UNC - это стандартный способ наименования сетевых ресурсов. Такие имена имеют следующую форму: \\Имя_сервера\имя_ресурса. С UNC могут работать приложения и утилиты командной строки, использующие имена UNC вместо отображения сетевых дисков.

1.2.Классы сетей сетевых операционных систем

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

Если компьютер может давать свои ресурсы другим пользователям сети, то он играет роль сервера. При этом компьютер, обращающийся к ресурсам другого устройства, является клиентом. Как сказано ранее, компьютер, работающий в сети, должен выполнять функции либо клиента, либо сервера, либо выполнять сразу обе эти функции. Если выполнение каких-либо серверных функций является главным назначением компьютера (например, возможность предоставления файлов в общее пользование всем пользователям сети, или организация общего использования факса, или предоставление всем пользователям сети возможности запуска на данном компьютере своих приложений), то этот компьютер смело может называться выделенным сервером. Все будет зависеть от того, какой ресурс сервера является разделяемым: он может называться файл-сервером, факс-сервером, принт-сервером, сервером приложений и т.д. Из вышесказанного следует, что на выделенных серверах лучше устанавливать ОС, специально оптимизированную для выполнения тех или иных серверных задач. Именно поэтому в сетях с выделенными серверами, как правило, чаще используются сетевые ОС, в состав которых входит несколько различных вариантов ОС, отличающихся возможностями серверных частей. Например, сетевая ОС Novell NetWare имеет серверный вариант, предназначающийся для работы в качестве файл-сервера, а также варианты оболочек для рабочих станций с различными локальными ОС, причем эти оболочки выполняют исключительно функции клиента. Еще одним примером ОС, ориентированной на построение сети с выделенным сервером, может служить операционная система Windows NT. В отличие от NetWare, оба варианта данной сетевой ОС - Windows NT Server (для выделенного сервера) и Windows NT Workstation (для рабочей станции) - могут поддерживать функции и клиента и сервера. Но серверный вариант Windows NT имеет больше возможностей для предоставления ресурсов своего компьютера другим пользователям сети, потому что способен выполнять наиболее широкий набор функций, поддерживает большее количество одновременных соединений с клиентами, выполняет централизованное управление сетью и имеет более развитые технологии защиты.

Выделенный сервер, как правило, не принято использовать в качестве компьютера для выполнения текущих задач, которые не могут быть связаны с его главным назначением, так как это заметно уменьшит производительность его работы как сервера. В связи с такими соображениями, в ОС Novell NetWare на серверной части возможность выполнения обычных прикладных программ вообще не предусмотрена, то есть сервер не содержит в себе клиентской части, а на рабочих станциях полностью отсутствуют серверные компоненты. Однако, в других сетевых ОС функционирование на выделенном сервере клиентской части вполне возможно. Так, например, под управлением Windows NT Server в идеале должны запускаться обычные программы локального пользователя, которые смело могут потребовать выполнения клиентских функций ОС при появлении запросов к ресурсам других компьютеров сети. Заметим, при этом рабочие станции, на которых установлена ОС Windows NT Workstation, могут выполнять функции невыделенного сервера. Важно знать, несмотря на то, что в сети с выделенным сервером все компьютеры в общем случае могут выполнять одновременно роли и сервера, и клиента, эта сеть функционально не симметрична: аппаратно и программно в ней реализованы два типа компьютеров - одни, в большей степени ориентированные на выполнение серверных функций и работающие под управлением специализированных серверных ОС, а другие - в основном выполняющие клиентские функции и работающие под управлением соответствующего этому назначению варианта ОС. Функциональная несимметричность, как правило, вызывает и несимметричность аппаратуры - для выделенных серверов используются более мощные машины с большими объемами ОЗУ. Таким образом, функциональная несимметричность в сетях с выделенным сервером сопровождается несимметричностью операционных систем (специализация ОС) и аппаратной несимметричностью (специализация компьютеров).

В одноранговых сетях все компьютеры равны в правах доступа к ресурсам друг друга. Каждый пользователь может по собственному желанию объявить какой-либо ресурс своего компьютера разделяемым, после чего остальные пользователи могут его использовать. В таких сетях на всех компьютерах устанавливается одна и та же ОС, которая предоставляет всем компьютерам в сети потенциально равные возможности. Одноранговые сети могут быть построены, например, на базе ОС LANtastic, Personal Ware, Windows for Workgroup, Windows NT Workstation. В одноранговых сетях тоже может возникнуть функциональная несимметричность: одни пользователи не хотят разделять свои ресурсы с другими (в таком случае их компьютеры выполняют роль клиента), а за другими компьютерами администратор установил только функции по организации совместного использования ресурсов, а значит, они являются серверами, в третьем случае, когда локальный пользователь не против использования его ресурсов и сам не исключает возможности обращения к другим компьютерам.

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

1.3. Сетевые операционные системы для предприятий

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

1) Сети предприятия или корпоративные сети – объединяют в себя все компьютеры абсолютно всех территорий отдельного предприятия. Они могут покрывать страну, город, регион и даже континент.

2) Сети кампусов – соединяют несколько сетей отделов внутри отдельного здания или на територии предприятия. Эти сети всё ещё являются локальными сетями, хотя способны покрывать огромную территорию, даже в несколько километров. Сервисы такой сети представляют собой взаимодействие между сетями отделов, доступ к базе данных предприятия, доступ к файл-серверам, высокоскоростным модемам и т.д.

Самой важной задачей ОС в сети масштаба отдела является разделение ресурсов. Зачастую сети отделов имеют один или два файловых сервера и не более тридцати пользователей. Такая сеть обычно использует одну или максимум две сетевых ОС. Обычно ею является сеть с выделенным сервером Net Ware 3.x или Windows NT. Или одноранговая сеть Windows for Workgroups.

Операционная система, работающая в сети кампуса должна обеспечивать всем сотрудникам одних отделов безоговорочный доступ к некоторым файлам и ресурсам других отделов. Её услуги не ограничиваются привычным разделением файлов и устройств. Важныем сервисом является соединение с корпоративными базами данных, независимо от того, размещаются они на серверах БД или на миникомпьютерах. Именно на уровне сети кампуса начинаются проблемы процесса объединения.

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

Признаками корпоративных сетевых ОС будут являться следующие:

1) Поддержка приложений. В корпоративных сетях исполняются тяжелые приложения, требующие для выполнения своей работы огромной вычислительной мощности. Такие приложения обычно разделяются на несколько частей, допустим, на одном компьютере выполняется часть приложения, связанная с выполнением запросов к БД, на другом - запросы к файловому сервису, а на клиентских машинах - часть, отвечающая за логику обработки данных приложения и интерфейс с пользователем. Вычислительная часть интегрированных для корпорации программных систем может быть очень объёмной и неосуществимой для рабочих станций клиентов, поэтому приложения будут выполняться более эффективно, если их, более сложные в вычислительном отношении части, перенести на специально предназначенный для этого мощный компьютер - сервер приложений. Он должен основываться на мощной аппаратной платформе. ОС сервера приложений должна давать высокую производительность вычислений. К примеру, ОС NetWare трудно отнести к корпоративным продуктам, т.к. в ней отсутствуют почти все требования, предъявляемые к серверу приложений. А в Windows NT, напротив, хорошая поддержка универсальных приложений.

2) Справочная служба. Корпоративная ОС должна уметь обладать способностью хранить информацию абсолютно обо всех пользователях и ресурсах. Таким образом обеспечивается управление ею из одной центральной точки. Само собой, организовать эту информацию в виде базы данных нельзя. Данные из этой базы могут быть востребованы многими сетевыми системными приложениями, в первую очередь системами управления и администрирования. Кроме того, такая БД может быть полезна при организации электронной почты, систем коллективной работы, службы безопасности и т.д. По идее, сетевая справочная информация должна быть выполнена в виде единой БД, а не представлять собой набор БД специализирующейся на информации того или иного вида, как это часто бывает в реальных ОС. Например, в Windows NT имеет, по крайней мере, 6 различных типов справочных БД. Наличие единой справочной службы для сетевой ОС является самым важныйм признаком её корпоративности.

3) Безопасность. С одной стороны в огромной сети объективно существует больше возможностей для несанкционированного доступа, а с другой стороны корпоративные бизнес приложения работают с данными, которые имеют жизненноважные значения. Для защиты этих данных в корпоративных сетях наряду с аппаратными средствами используется весть спектр средств защиты, предоставляемых ОС: избирательные или мандатные права доступа, сложные процедуры аутентификации пользователей, программная шифрация, пароли доступа и тд.

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

Глава 2. Характеристика операционной системы, процессы и нити ОС.

2.1 Требования к современным операционным системам.

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

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

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

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

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

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

4) Предсказуемость. Требования, которые пользователь может предъявить к системе, в большинстве случаев непредсказуемы, но со своей стороны, пользователь предпочитает, чтобы обслуживание не очень сильно менялось в течение предположительного времени. В частности, запуская свою программу в системе, пользователь должен иметь основанное на опыте работы с этой программной системе представление, когда будут готовы результаты.

5) Расширяемость. В отличие от аппаратных средств компьютера, полезная жизнь ОС измеряется десятками лет. Примером может служить ОС UNIX и можно включить сюда еще и MS-DOS. Операционные системы со временем, как правило, изменяются. Например, поддержки новых типов внешних устройств или новых сетевых технологий. Если программный код модулей ОС написан таким образом, что дополнения и изменения могут вноситься без нарушения целостности системы, то такую ОС называют современной. Операционная система должна быть расширяемой, если при ее создании руководствовались принципами модульности, функциональной избыточности, функциональной избирательности и параметрической универсальности.

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

6) Совместимость. Существует несколько "долгоживущих" популярных видов ОС (разновидности UNIX, MS-DOS, Windows3.x, Windows NT, OS/2), для которых наработана широкая база приложений. Для пользователя, переходящего с одной ОС на другую, является очень привлекательной возможность использовать свои приложения в новой ОС. Если ОС имеет средства для выполнения прикладных программ, написанных для других операционных систем, то она совместима с этими системами. Нужно различать совместимость на уровне двоичных кодов и совместимость на уровне исходных текстов. Помимо того, понятие совместимости включает также поддержку пользовательских интерфейсов других ОС.

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

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

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

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

2.2 Процессы и нити

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

- Процессы Windows NT использованы в форме объектов, и доступ к ним осуществляется посредством службы объектов.

- Процесс Windows NT имеет многонитевую организацию. Как объекты-процессы, так и объекты-нити имеют встроенные средства синхронизации.

- Менеджер процессов Windows NT не поддерживает между процессами отношений типа "родитель-потомок".

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

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

- Идентификатор процесса - уникальное значение, которое идентифицирует процесс в рамках операционной системы.

- Токен доступа - выполняемый объект, содержащий всю информацию о безопасности.

- Базовый приоритет – главная часть для исполнительного приоритета нитей процесса.

- Процессорная совместимость - набор процессоров, на которых могут выполняться нити процесса.

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

- Время исполнения - то количество времени, в которое выполняется процесс исполнения.

Так вот напомним, что нить сама по себе является выполняемой единицей, которая находится в адресном пространстве процесса и реализует ресурсы, выделенные процессу. Аналогично процессу, нить в Windows NT выполненна в форме объекта и управляется менеджером объектов.

Объект - нить имеет следующие атрибуты тела: идентификатор клиента - уникальное значение, которое идентифицирует нить при ее обращении к серверу, контекст нити - информация, которая нужна ОС для того, чтобы продолжить выполнение процесса прерванной нити. Контекст нити может содержать в себе текущее состояние регистров, стеков и индивидуальной области памяти, которая используется подсистемами и библиотеками. Динамический приоритет - значение приоритета нити на данный момент. Базовый приоритет - нижний предел динамического приоритета нити. Процессорная совместимость нитей - список типов процессоров, на которых должна выполняться нить. Время выполнения нити - суммарное время выполнения нити в пользовательском режиме и в режиме ядра, накопленное за период существования нити. Состояние предупреждения - флаг, который показывает, что нить обязана выполнять вызов асинхронной процедуры. Счетчик приостановок - текущее количество приостановок выполнения нити. Кроме перечисленных, существуют и другие значения.

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

2.3 Алгоритм планирования процессов и нитей

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

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

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

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

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

Ожидание. Нить должна входить в состоянии ожидание различными спосабами а именно: нить по своей инициативе ожидает некоторый объект для того, чтобы синхронизировать свое выполнение; операционная система (например, подсистема ввода-вывода) может ожидать в интересах нити; подсистема окружения может непосредственно заставить нить приостановить себя. Когда ожидание нити подходит к концу, она начинает возвращаться в состояние готовности.

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

Завершение. Когда выполнение нити закончилось, она входит в состояние завершения. Когда нить находится в этом состоянии, она может быть либо удалена, либо не удалена. Это зависит от алгоритма работы менеджера объектов, в сравнении с которым он и решает, когда удалять объект. Если executive имеет указатель на объект-нить, то она может быть инициализирована и использована снова.

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

Windows NT поддерживает 32 уровня приоритетов, разделенных на два класса: класс реального времени и класс переменных приоритетов. Нити реального времени, приоритеты которых находятся в диапазоне от 16 до 31, являются наиболее приоритетными процессами и используются для выполнения задач, критичных ко времени.

Каждый раз, когда требуется выбрать нить для выполнения задач, диспетчер прежде всего просматривает очередь готовых нитей реального времени и обращается к другим нитям, только когда очередь нитей реального времени пуста. Большинство нитей в системе попадают в класс нитей с переменными приоритетами, диапазон приоритетов которых от 0 до 15. Этот класс обычно называют переменными приоритетами, потому что диспетчер настраивает систему, выбирая (понижая или повышая) приоритеты нитей этого класса.

Алгоритм планирования нитей в Windows NT соединяет в себе обе базовых концепции - квантование и приоритеты. Как и во всех других алгоритмах, основанных на квантовании, каждой нити назначается квант, в течение которого она может реализовываться. Нить освобождает процессор, только в некоторых случаях а именно:

- блокируется, уходя в режим ожидания;

- завершается;

- исчерпан квант;

- в очереди готовых появляется более приоритетная нить.

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

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

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

2.4 Вытесняющие, и невытесняющие планирование процессов

В сетевых операционных системах есть два вида процедур спланирования

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

1) определение момента времени для смены выполняемого процесса

2) выбор процесса на выполнение из очереди готовых процессов

3) переключение контекстов "старого" и "нового" процессов

Есть очень много разных алгоритмов спланирования процессов которыми по разному можно решить вышестоящие задачи. Они ищут разные цели и выполняют отличное качество мультипрограммирования . Среди этого огромного количества алгоритмов важными являются 2 группы которые чаще всего встречаются в алгоритмах, а именно : алгоритмы, основанные на квантовании, и алгоритмы, основанные на приорететах (преимуществах).

В соответветствии с алгоритмами, основанными на квантовании, происходит

смена активного процеса если:

1) процесс завершился и был вынужден покинуть систему.

2) выявленна ошибка в системе

3) процесс перешел в состоянии ождиния

4) кончился квант процесорного времени, отведенный данному процессу

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

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

Существует два разных приорететных алгоритмов, а именно: алгоритмы,которые используют относительные приорететы, и алгоритмы пользующиеся абсолютными приорететами.

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

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

Теперь мы подошли к двум основным видам планирования процессов а именно вытесняющие и не вытесняющие рассмотрим их.

Невытесняющая многодазачность — это один из способов распланирования процессов, в которм активный процесс вополняется до той поры, пока он сам, по собственной логике, не решит отдать управление планировщику ОС для того чтобы тот смог самостоятельно выбрать из очереди другой, готовый к реализации процесс. Програмисст поддерживать «дружественное» отношение своей программы к другим выполненым единовременнос ней программам, всегда довльно часто отдавая им управление . Жестким проявление «недружествености» прилoжения является егo зaвисание, котoрое привoдит к большому крaху системы. В систeмах с вытесняющeй мнoгозадачностью такие ситуации, обычно как прaвило нe дoпускаются, потому что цeнтральный планирующeй мeханизм снимeт зависшую задачу с выполнeния.

Вытесняющая многзадaчность - это такой способ пpи кoтором решeние о пeреключении процеccора с использованием однoго процеcса на испoльзование другoво процесcа принимаeтся планирoвщиком OС, а нe самoй активнoй задачей.

Для сeтевых OС наиболее важным является вытeсняющая многозадaчность, которая дает гарантию на oбработку сeтевого взаимoдействия сo вpеменем pеакции приближeнным к систeмам реaльного вpемени.

Совмeстное эксплуатация ресурсов нeсколькими oдновременно работающие

процессы, в pамках лoкальных OС создaет проблeмы как синхрoнизации, так и взаимнoй блoкировки рeсурсов.

Заключение

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

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

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

Корпоративная сетевая операционная система должна поддерживать значительно более сложные сервисы. Подобно сетевой операционной системе рабочих групп, сетевая ОС масштаба предприятия обязательно должна предоставлять пользователям возможность разделять файлы, приложения устройства, причем делать это для огромного количества сотрудников и объема данных и с более высокой производительностью. Помимо того, сетевая операционная система масштаба предприятия организовывает возможность соединения разных систем - как рабочих станций, так и серверов. Например, даже если ОС работает на платформе Intel, она должна поддерживать рабочие станции UNIX, работающие на RISC-платформах. Также и серверная ОС, работающая на RISC-компьютере, должна поддерживать DOS, Windows и OS/2. Сетевая ОС масштаба предприятия обязана поддерживать несколько сетевых протоколов (таких как TCP/IP, IPX/SPX, NetBIOS, DECnet и OSI), организовать простой доступ к удаленным компьютерам, удобные процедуры управления сервисами, включая агентов для систем управления сетью.

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

Главным свойством справочной службы является ее масштабируемость, организовывает распределенностью базы данных о пользователях и ресурсах. Такие сетевые ОС, как Banyan Vines, Microsoft NetWare 4.x, Net LAN Server, Sun NFS, Microsoft LAN Manager и Windows NT Server, могут служить в качестве операционной системы предприятия, в то время как ОС NetWare 3.x, Personal Ware, Lunux Server больше подходят для небольших рабочих групп.

Свойства для выбора операционной системы масштаба предприятия являются следующие критерии: ограничная поддержка многосерверной сети; большая эффективность файловых операций; возможность быстрого объединения с другими ОС; наличие централизованной масштабируемой справочной службы; отличные перспективы развития; быстрая работа удаленных пользователей; различные сервисы: файл-сервис, принт-сервис, безопасность данных и отказоустойчивость, архивирование данных, обмен сообщениями, множество баз данных и тд. Разные программно-аппаратные хост-платформы: IBM SNA, WSA, NSA, UNIX; разные транспортные протоколы: TCP/IP, IPX/SPX, NetBIOS, AppleTalk; поддержка многих ОС конечных пользователей: DOS, UNIX, OS/2, Mac; поддержка сетевого оборудования стандартов Ethernet, Token Ring, FDDI, ARCnet; наличие знаменитых прикладных интерфейсов и механизмов вызова удаленных процедур NPC; осуществимость взаимодействия с системой контроля и управления сетью, поддержка стандартов управления сетью SNMP.

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

Библиография

1. Эви Немет, Гарт Снайдер,Трент Р.Хейн, Бэн Уэйли Название: «Unix и Linux. Руководство системного администратора» 2003г.

2.Р.Гильдебрандт,П.Кеттер Название: «Postfix. Подробное руководство»1999г.

3.Джеймс Армстронг “Секркты UNIX” Санкт-Петербург, 1998 г.

4.БрайанУ.Керниган,РобПайк Название: «Unix. Программное окружение» 2006г.

5.Кепли М., Сипплес Т.Ф. “Ответы на актуальные вопросы OS/2 Warp” 352 c. ДиаСофт 1996 г.

6.Компьютерный журнал Игромания #01/99 “ Последние десять минут”

7.Журнал Системный администратор “ Linux - возвращаясь к напечатанному”

8.Журнал "Мир ПК" #12/98 Издательство "Открытые Системы “ Unix против NT: есть ли чего бояться?”

9.LAN/ЖУРНАЛ СИСТЕМЫНЫЙ АДМИНИСТРАТОР #09/98 “ Построение сетей с серверами NetWare и NT”

10.LAN/ЖУРНАЛ СЕТЕВЫХ РЕШЕНИЙ #07/96 “ Сетевые ОС в гетерогенной среде”

11.COMPUTEUNIVERSAL РОССИЯ #10/99 “ Что больше подходит корпоративным юзерам: Linux или Windows NT?”

12.Ссылка в Internet ресурсах : https://ru.wikipedia.org

13.Ссылка в Internet ресурсах : www.ossp

Приложения

Приложение 1. Структура ОС.

Приложение 2. Одноранговые, двухранговые ОС

Одноранговая сеть

Двухранговая сеть

Приложение 3. Нити ОС