Совместное использование ресурсов в лвс. Совместное использование ресурсов

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

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

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

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

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

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

Основные топологии лвс

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

Топология ЛВС - это усредненная геометрическая схема соединений узлов сети.

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

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

Любую компьютерную сеть можно рассматривать как совокупность узлов.

Узел - любое устройство, непосредственно подключенное к передающей среде сети.

Топология усредняет схему соединений узлов сети. Так, и эллипс, и замкнутая кривая, и замкнутая ломаная линия относятся к кольцевой топологии, а незамкнутая ломаная пиния - к шинной.

Кольцевая топология предусматривает соединение узлов сети замкнутой кри­вой - кабелем передающей среды (рис. 2). Выход одного узла сети соединяется со вхо­дом другого. Информация по кольцу передается от узла к узлу. Каждый промежуточный узел между передатчиком и приемником ретранслирует посланное сообщение. Принимаю­щий узел распознает и получает только адресованные ему сообщения.

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

Рис. 2 . Сеть кольцевой топологии

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

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

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

Рис. 3 . Сеть шинной топологии.

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

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

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

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

Звездообразная топология базируется на концепции центрального узла, называемого хабом (hub) (рис. 4), к которому подключаются периферийные узлы. Каждый периферийный узел имеет свою отдельную линию связи с хабом. Вся информация передается через центральный узел, который ретранслирует, переключает и маршрутизирует информационные потоки в сети.

Рис. 4 . Сеть звездообразной топологии

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

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

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

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

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

Published on Февраль 18, 2009 by · Комментариев нет

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

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

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

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

Прежде чем начать

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

Создание файлового ресурса (File Share)

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

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

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

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

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

Рисунок A: Вкладка «Доступ» дает вам возможность разрешить общий доступ к папке

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

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

Теперь взгляните на раздел «Ограничения пользователей». Вы заметите на рисунке, что по умолчанию значение этого параметра является «Максимально допустимый». Всякий раз, когда вы устанавливаете Windows сервер, у вас должны быть в наличии лицензии клиентского доступа. У вас есть возможность либо приобрести лицензии для каждого отдельного клиента, либо создать лицензию сервера, который будет поддерживать определенное количество соединений. Предположим, у вас есть несколько серверов, в таких ситуациях обычно дешевле лицензировать клиентов, нежели отдельные серверы. В любом случае, когда ограничения пользователя имеют параметр «Максимально допустимый», неограниченное количество клиентов сможет подключаться к ресурсу до тех пор, пока количество соединений будет соответствовать количеству лицензий, которые вы приобрели. Если вы используете модель лицензирования каждого клиента по отдельности, то доступ к ресурсу технически неограничен, но у каждого клиента обязательно должна быть лицензия.

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

Заключение

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

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

Вы освоите удобные приемы работы с группами файлов проектов и узнаете, как сохранять рабочую область, создавать базы данных проектов и готовить шаблоны для создания новых планов проектов на их основе. Кроме того, вы узнаете, как настраивать Консультанта MS Project 2002 и как работать с программными надстройками.

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

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

Настройка пула ресурсов

Чтобы согласовать ресурсное планирование, нужно создать обычный файл проекта в формате *.mрр и поместить в него все данные о ресурсах. Затем создаются проекты с планами, и в них указывается, что при планировании будут использоваться ресурсы из первого файла, который в терминах MS Project называется пулам ресурсов (resource pool ). В качестве примера мы создали файл пула pool .mpp и два файла с планами, где должны использоваться ресурсы пула - 1.mpp и 2.mрр.

Чтобы определить пул ресурсов для использования в плане проекта, нужно открыть и файл с планом, и файл с пулом (в нашем случае - открыть файлы 1.mрр и pool.mрр). Затем, находясь в окне файла с планом, следует выбрать команду меню Tools › Resource Sharing › Share Resources (Сервис › Общие ресурсы › Доступ к ресурсам). После этого открывается диалоговое окно определения общего доступа к ресурсам, в котором настраиваются параметры работы с пулом (рис. 23.1).

Чтобы включить режим использования пула ресурсов, в этом диалоговом окне необходимо выбрать переключатель Use resources (Использовать ресурсы), а затем выбрать название файла проекта в раскрывающемся списке. Например, для файла 1.mpp мы указали файл pool.mрр как пул ресурсов.

Рис. 23.1 . Настройка использования пула ресурсов

Примечание
Файл, в котором используются ресурсы из пула, называется клиентом пула (sharer ). Клиент пула не может быть пулом ресурсов для другого плана проекта
.

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

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

Внимание
Данные о назначениях ресурсов пула всегда переносятся из файла клиента в файл пула, независимо от преимущества
.

Чтобы определить, какой файл будет иметь преимущество при конфликтах, в диалоговом окне нужно выбрать либо переключатель Pool takes precedence (Преимущество имеет пул), либо переключатель Sharer takes precedence (Преимущество имеет клиент пула). Обычно выбирается первый переключатель, поскольку он исключает возможность внесения в пул несогласованных или случайных изменений. Часто пул размещается на сетевом диске и права на его изменение есть у ограниченного круга лиц. В таком случае, если у вас нет прав на изменение пула, вам подходит только первый вариант.

Чтобы в дальнейшем изменить настройки использования пула, нужно снова открыть это диалоговое окно. Выбрав переключатель Use own resources (Использовать собственные ресурсы), можно будет отказаться от использования пула. После этого в проекте останутся только те ресурсы, которые назначены на его задачи, а остальные будут удалены.

Можно изменить и настройки относительного преимущества файлов при конфликтах. Например, если вы отредактировали данные о ресурсе в файле клиента пула и хотите, чтобы они сохранились в пуле при синхронизации, следует открыть диалоговое окно и выбрать переключатель Sharer takes precedence (Преимущество имеет клиент пула). После синхронизации, когда измененные данные сохранились в пуле, нужно вновь открыть диалоговое окно и выбрать переключатель Pool takes precedence (Преимущество имеет пул), чтобы в дальнейшем пул вновь имел приоритет.

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

Вы освоите удобные приемы работы с группами файлов проектов и узнаете, как сохранять рабочую область, создавать базы данных проектов и готовить шаблоны для создания новых планов проектов на их основе. Кроме того, вы узнаете, как настраивать Консультанта MS Project 2002 и как работать с программными надстройками.

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

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

Настройка пула ресурсов

Чтобы согласовать ресурсное планирование, нужно создать обычный файл проекта в формате *.mрр и поместить в него все данные о ресурсах. Затем создаются проекты с планами, и в них указывается, что при планировании будут использоваться ресурсы из первого файла, который в терминах MS Project называется пулам ресурсов (resource pool). В качестве примера мы создали файл пула pool. mpp и два файла с планами, где должны использоваться ресурсы пула -1.mpp и 2.mрр.

Чтобы определить пул ресурсов для использования в плане проекта, нужно открыть и файл с планом, и файл с пулом (в нашем случае - открыть файлы 1.mрр и pool.mрр). Затем, находясь в окне файла с планом, следует выбрать команду меню Tools > Resource Sharing > Share Resources (Сервис > Общие ресурсы > Доступ к ресурсам). После этого открывается диалоговое окно определения общего доступа к ресурсам, в котором настраиваются параметры работы с пулом (рис. 23.1).

Чтобы включить режим использования пула ресурсов, в этом диалоговом окне необходимо выбрать переключатель Use resources (Использовать ресурсы), а затем выбрать название файла проекта в раскрывающемся списке. Например, для файла 1.mpp мы указали файл pool.mрркак пул ресурсов.

Рис. 23.1. Настройка использования пула ресурсов

ПРИМЕЧАНИЕ

Файл, в котором используются ресурсы из пула, называется клиентом пула (sharer). Клиент пула не может быть пулом ресурсов для другого плана проекта.

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

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

ВНИМАНИЕ

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

Чтобы определить, какой файл будет иметь преимущество при конфликтах, в диалоговом окне нужно выбрать либо переключатель Pool takes precedence (Преимущество имеет пул), либо переключатель Sharer takes precedence (Преимущество имеет клиент пула). Обычно выбирается первый переключатель, поскольку он исключает возможность внесения в пул несогласованных или случайных изменений. Часто пул размещается на сетевом диске и права на его изменение есть у ограниченного круга лиц. В таком случае, если у вас нет прав на изменение пула, вам подходит только первый вариант.

Чтобы в дальнейшем изменить настройки использования пула, нужно снова открыть это диалоговое окно. Выбрав перключатель Use own resources (Использовать собственные ресурсы), можно будет отказаться от использования пула. После этого в проекте останутся только те ресурсы, которые назначены на его задачи, а остальные будут удалены.

Можно изменить и настройки относительного преимущества файлов при конфликтах. Например, если вы отредактировали данные о ресурсе в файле клиента пула и хотите, чтобы они сохранились в пуле при синхронизации, следует открыть диалоговое окно и выбрать переключатель Sharer takes precedence (Преимущество имеет клиент пула). После синхронизации, когда измененные данные сохранились в пуле, нужно вновь открыть диалоговое окно и выбрать переключатель Pool takes precedence (Преимущество имеет пул), чтобы в дальнейшем пул вновь имел приоритет.

Планирование с использованием пула

После того как списки ресурсов клиента и пула синхронизированы, выделение ресурсов на задачи в файле клиента осуществляется обычным способом. При этом MS Project учитывает данные о назначениях ресурсов в других проектах. Рассмотрим работу с одним ресурсом в двух проектах на примере наших файлов 1.mpp и 2.mрр, использующих ресурсы пула pool.mрр. В первом проекте мы создали задачу длительностью 5 дней, назвали ее 1_1 и выделили на ее исполнение Иванова А.А. Затем во втором проекте мы также создали задачу длительностью 5 дней и назвали ее 2_1. Оба проекта начинаются в один день, и поэтому эта задача запланирована на то же время, что и задача 1_1.

Теперь попробуем выделить ресурс на задачу 2_1. Для этого воспользуемся диалоговым окном назначения ресурсов (см. раздел «Замена ресурсов») , которое открывается с помощью одноименной кнопки стандартной панели инструментов или команды меню Tools > Assign Resources (Сервис > Назначить ресурсы). Чтобы отобрать только доступных в нужное нам время сотрудников, установим флажок Available to work (Доступные не менее) и в счетчике введем 40 часов, поскольку наша задача длится именно столько. Ресурс Иванов А.А., на это время уже назначенный на задачу в другом проекте, сразу пропадает из списка, и программа не предлагает назначить его на исполнение задачи (рис. 23.2).

Если в проекте включен режим автоматического выравнивания ресурсов (см. раздел«Анализ и выравнивание загрузки ресурсов»), то MS Project автоматически перенесет задачу на другое время, если назначенный на ее исполнение ресурс уже выделен в это время на исполнение другой задачи в другом проекте, подключенном к пулу.

Вы можете попробовать включить этот режим в файле 2.mррназначить Иванова А.А. на исполнение задачи 2_1. Задача автоматически будет перенесена на неделю вперед, то есть на время окончания задачи 1_1 в плане проекта 1.mрр. Если же вы отключите автоматическое выравнивание ресурсов и затем откроете представление Resource Sheet (Лист ресурсов), то увидите, что MS Project определил превышение доступности у Иванова А.А.

Как программа определяет, в какое время ресурс загружен в других проектах? Дело в том, что сводные данные о загрузке ресурсов во всех клиентах пула содержатся в пуле, и когда он открыт, эти сведения доступны.

Чтобы просмотреть информацию о загрузке ресурса и учесть ее при планировании, нужно открыть представление Resource Usage (Использование ресурсов) в файле клиента пула (при этом файл пула также должен быть открыт в MS Project). В нем для каждого ресурса указаны все задачи, в которых он задействован. Чтобы определить, к какому проекту относится та или иная задача, в таблицу необходимо добавить столбец Project (Проект).

Рис. 23.2. Программа определяет, кого можно назначить на исполнение задачи

Этот столбец может относиться как к ресурсам, так и к задачам. В файле 2.mрр(рис. 23.3) мы добавили его в таблицу, и в нем видно, что ресурсы относятся к проекту poo1.mpp, а задача 1_1, в которой задействован Иванов А.А. - к проекту 1.mрр. Мы просматриваем данные в файле 2.mрр, но на диаграмме видно, что в нем хранятся данные, относящиеся к загрузке ресурса в файле 1.mрр. В списке отображаются и не назначенные задачи во всех клиентах пула, например не назначена задача 2_1 из файла 2.mрр

Рис. 23.3. Данные о загрузке ресурса в других проектах - клиентах пула отображаются в каждом проекте, если загружен пул

Использование пула

При открытии файла плана проекта, использующего ресурсы из пула, появляется диалоговое окно, с помощью которого вместе с файлом можно открыть и файл пула (рис. 23.4).

Рис. 23.4. Диалоговое окно для открытия файла пула вместе с планом проекта

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

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

ПРИМЕЧАНИЕ

При открытии пула с помощью верхнего переключателя, представленного на рис. 23.4, пул открывается в режиме для чтения.

Совместная работа с пулом

Если один файл будет одновременно редактироваться несколькими пользователями, это приведет к конфликту при его сохранении, и данные одного из пользователей, скорее всего, пропадут. Поэтому MS Project не позволяет открывать пул ресурсов для записи одновременно двум пользователям.

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

Для открытия файла в режиме чтения предназначен верхний переключатель диалогового окна, представленного на рис. 23.5, а для открытия в режиме записи - средний.

Если пул открыт в режиме записи, то данные в нем можно редактировать обычным способом. Если же вы открыли пул для чтения, то его нужно обновить после того, как вы изменили план проекта, иначе данные о новых назначениях ресурсов не попадут в пул и не будут доступны в других файлах - клиентах пула. Для обновления пула с учетом проектных данных предназначена команда меню Tools > Resource Sharing > Update Resource Pool (Сервис > Общие ресурсы > Обновить пул ресурсов). Эта команда доступна, только когда файл пула открыт для чтения. Если файл пула открыт на запись, то он обновляется автоматически и эта команда меню не используется.

При выборе этой комады меню MS Project открывает файл пула на запись, обновляет данные пула, а затем снова открывает его на чтение. Такой режим позволяет вносить изменения в пул нескольким пользователям попеременно.

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

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

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

Обновление экрана пула осуществляется с помощью команды меню Tools > Resource Sharing > Refresh Resource Pool (Сервис > Общие ресурсы > Обновить экран пула ресурсов).

При выборе этой команды меню MS Project заново открывает файл пула, и вам оказываются доступны изменения, внесенные в него другими пользователями. Обычно после обновления экрана пула в плане происходят изменения: некоторые ресурсы оказываются перегруженными или изменяются затраты на проект. Чтобы найти изменения, можно перед обновлением экрана пула сохранить версию плана а затем, используя автоматизированное сравнение (см. раздел «Файлы MS Project»), сравнить ее с той, что получилась после обновления экрана пула.

Совместное использование ресурсов и управление ими

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

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

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

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

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

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

Рис. 2.11. Ключевые элементы многозадачной операционной системы

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

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

Структура системы

С добавлением в операционные системы все новых функций, а также с рос­том возможностей управляемого операционными системами аппаратного обеспе­чения и его разнообразия возрастает степень их сложности. Операционная сис­тема CTSS, введенная в эксплуатацию в Массачусетском технологическом инсти­туте в 1963 году, занимала в памяти около 32000 36-битовых слов. Операционная система OS/360, выпущенная фирмой IBM через год, содержала более миллиона машинных команд. Система Multics, совместная разработка ко­торой была завершена специалистами Массачусетского технологического инсти­тута и компанией Bell Laboratories к 1975 году, разрослась до 20 миллионов ко­манд. Ради справедливости отметим, что впоследствии на меньших машинах стали появляться операционные системы и попроще, но и они неуклонно услож­нялись с развитием аппаратного обеспечения и ростом требований со стороны пользователей. Так, современная система UNIX по своей сложности намного превосходит свой почти игрушечный первоначальный вариант, разработанный несколькими талантливыми программистами в начале 70-х годов. То же самое произошло с простой системой MS-DOS, со временем переросшей в сложные и мощные операционные системы OS/2 и Windows 2000. Так, операционная сис­тема Windows NT содержит около 16 миллионов строк кода, а в Windows 2000 этот показатель увеличен более чем в два раза.

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

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

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

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

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

Уровень 1. В него входят электронные схемы; объектами данного уровня
являются регистры, ячейки памяти и логические элементы. Над этими объектами выполняются различные действия, такие, как очистка содержимого
регистра или считывание ячейки памяти.

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

Уровень 3. Содержит концепцию процедуры (подпрограммы), а также операции вызова и возврата.

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

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

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

Уровень 6. Компоненты этого уровня взаимодействуют со вспомогательны­ми запоминающими устройствами компьютера. На этом уровне происходит
позиционирование считывающих головок и физическая передача блоков
данных. Для планирования работы и уведомления процесса о завершении
запрошенной операции уровень 6 использует компоненты уровня 5.

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

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

Уровень 8. Отвечает за обмен информацией и сообщениями между процессами.
На этом уровне происходит более богатый обмен информацией, чем на уровне 5,
который обеспечивает работу первичного сигнального механизма для синхрони­зации процессов. Одним из наиболее мощных инструментов подобного типа является конвейер, представляющий собой логический канал передачи данных
между процессами. Конвейер определяется как канал, передающий вывод одно­го процесса на вход другого; кроме того, он может быть использован и для свя­зи с процессом внешних устройств или файлов. Эта концепция рассматривается в главе 6, "Взаимоблокировка и голодание".

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

Уровень 10. Предоставляет доступ к внешним устройствам с помощью
стандартных интерфейсов.

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

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

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

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

Таблица 2.4. Иерархическая модель операционной системы2