Технология совместного использования сетевых ресурсов. Совместное использование ресурсов

Под ресурсами ПК будет пониматься любой из следующих элементов:

  • · логические диски, включая накопители на CD-ROM, DVD и другие аналогичные устройства;
  • · каталоги (папки) с подкаталогами (вложенными папками) или без них, а также содержащиеся в них файлы;
  • · подключенные к ПК устройства: принтеры, модемы и др.

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

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

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

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

1. Файловый сервер.

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

2. Сервер баз данных.

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

  • · с сервера последовательно пересылаются записи базы данных на рабочую станцию, где производится собственно фильтрация записей и отбор необходимых;
  • · сервер сам отбирает необходимые записи из БД (реализует запрос) и пересылает их на рабочую станцию.

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

3. Принт-сервер.

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

4. Почтовый сервер.

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

Доступ к сетевым ресурсам локальной вычислительной сети

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

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

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

Управление сетевым доступом к дискам, папкам, принтеру

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

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

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

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

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

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

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

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

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

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

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

Чтобы согласовать ресурсное планирование, нужно создать обычный файл проекта в формате *.mрр и поместить в него все данные о ресурсах. рис.40.

Рис.40. Файл с данными о ресурсах

Затем создаются проекты с планами, и в них указывается, что при планировании будут использоваться ресурсы из первого файла, который в терминах MS Project называется пулам ресурсов. В качестве примера мы создали файл пула resource pool.mpp и два файла с планами, где должны использоваться ресурсы пула —Проект1.mpp рис.41 и Проект2.mрр. Рис.42

Рис.41. Проект1.mpp

Рис.42. Проект2.mpp

Чтобы определить пул ресурсов для использования в плане проекта, нужно открыть и файл с планом, и файл с пулом. Затем, находясь в окне файла с планом, следует выбрать команду меню Сервис/ Общие ресурсы Доступ к ресурсам . После этого открывается диалоговое окно определения общего доступа к ресурсам, в котором настраиваются параметры работы с пулом рис.43.

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

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

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

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

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

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

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

Теперь попробуем выделить ресурс на задачу Разработка шаблонов. Для этого воспользуемся диалоговым окном назначения ресурсов Сервис /Назначить ресурсы . Чтобы отобрать только доступных в нужное нам время сотрудников, установим флажок Доступные не менее и в счетчике введем 112 часов, поскольку наша задача длится именно столько. Ресурс Иванов, на это время уже назначенный на задачу в другом проекте, сразу пропадает из списка, и программа не предлагает назначить его на исполнение задачи рис44.

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

Вы можете попробовать включить этот режим и назначить Иванова на исполнение задачи Разработка Шаблонов. Задача автоматически будет перенесена на время окончания задачи Проектирование дизайна в плане Проект1.mрр. Если же вы отключите автоматическое выравнивание ресурсов и затем откроете представление Лист ресурсов , то увидите, что MS Project определил превышение доступности у Иванова..

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

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

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


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

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

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

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

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

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

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

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

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

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

При выборе этой комады меню 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

В последнее время популярность Linux растет буквально каждый день. Linux является высокопроизводительной некоммерческой операционной системой, одной из разновидностей Unix. Как известно, она была создана выпускником Хельсинкского университета Линусом Торвальдсом. Основными преимуществами Linux являются открытость и мультипоточность, кроме того, в ней есть возможности четкого разграничения ресурсов и уровней доступа пользователей. На сегодняшний день многие производители программного обеспечения поддерживают эту операционную систему; среди них выделим Oracle и Informix.

В этой статье рассматривается, как организовать совместное использование ресурсов операционных систем Windows и Linux с помощью пакета программ Samba.

Что такое SAMBA?

Samba - набор программ, которые предназначены для организации доступа клиентов к файловому пространству сервера и принтерам с помощью протоколов SMB (Server Message Block)и CIFS (Common Internet Filesystem). Первоначально написанный для Unix Samba теперь также работает под управлением и других ОС, в частности OS/2 и VMS. Это означает, что такие средства этих операционных систем, как файл-сервер и сервер печати, могут быть использованы для SMB- и CIFS-клиентов. В настоящее время существуют соответствующие клиенты для DOS, Windows NT, Windows 95, Linux smbfs, OS/2, Pathworks. Протокол SMB используется Microsoft Windows NT и 95 для организации доступа к дискам и принтерам.

При помощи SAMBA возможно:

  • предоставлять доступ к файловой системе под ОС Linux для Windows-машин;
  • получать доступ к файловой системе под ОС Windows для Linux-машин;
  • предоставлять доступ к принтерам под ОС Linux для Windows-машин;
  • получать доступ к принтерам под ОС Windows для Linux-машин.

Компоненты пакета Samba выполняют следующие функции:

  • Демон smbd предоставляет службы доступа к файлам и принтерам для клиентов протокола SMB, таких как Windows 95/98, Windows for Workgroups, Windows NT или LanManager. Конфигурация для этого демона задается в файле smb.cfg.
  • Демон nmbd обеспечивает поддержку сервера имен Netbios для клиентов. Он может запускаться в интерактивном режиме для опроса других демонов службы имен.
  • Программа smbclient является простым SMB-клиентом для UNIX-машин. Она используется для доступа к ресурсам на других SMB-совместимых серверах (таких как Windows NT), а также позволяет UNIX-станции воспользоваться удаленным принтером, подключенным к любому SMB-серверу (например, к компьютеру с WfWg).
  • Утилита testparm предназначена для проверки файла конфигурации smb.conf.
  • Утилита smbstatus позволяет выяснить, кто в данный момент использует сервер smbd.
  • Утилита nmblookup дает возможность запрашивать имена NetBios из UNIX-машин.
  • При помощи утилиты make smbcodepages создаются файлы для описания SMB кодовой страницы.
  • Утилита smbpasswd дает возможность шифровать пароли.

Каждый компонент детально описан на страницах руководства, поставляемого с пакетом Samba.

Установка

Пакет Samba очень прост в установке и настройке.

Итак, начнем.

Для работы пакета Samba необходим запуск двух демонов:

  • smbd (демон SMB);
  • nmbd (демон сервера имен NetBIOS).

Они устанавливаются в /usr/sbin и могут запускаться либо вручную, либо автоматически при загрузке из системных скриптов, либо из inetd.conf. Рассмотрим оба автоматических запуска.

Первый способ - из системных стартовых скриптов. Необходимо написать следующий скрипт в файл /etc/rc.d/init.d/smb и создать на него символические ссылки с именами файлов, указанных в комментариях.

#!/bin/sh # # /etc/rc.d/init.d/smb - запускает и останавливает SMB-сервисы # #Следующие файлы должны быть символическими ссылками на этот файл: # symlinks: /etc/rc.d/rc1.d/K35smb (Убивает SMB-сервисы при выключении) # /etc/rc.d/rc3.d/S91smb (Запускает SMB-сервисы # в мультипользовательском режиме) # /etc/rc.d/rc6.d/K35smb (Убивает SMB-сервисы при перезагрузке) # # Источник библиотеки функций. . /etc/rc.d/init.d/functions # Источник сетевой конфигурации. . /etc/sysconfig/network # Проверка сети. [ ${NETWORKING} = “no” ] && exit 0 # Смотрите, как мы здесь вызываем. case “$1” in start) echo -n “Starting SMB services: “ daemon smbd -D daemon nmbd -D echo touch /var/lock/subsys/smb ;; stop) echo -n “Shutting down SMB services: “ killproc smbd killproc nmbd rm -f /var/lock/subsys/smb echo “” ;; *) echo “Usage: smb {start|stop}” exit 1 esac

Второй способ. Запуск SMB-демонов из inetd. Для этого необходимо включить следующие строки в файл /etc/inetd.conf:

# SAMBA NetBIOS services (for PC file and print sharing) netbios-ssn stream tcp nowait root /usr/sbin/smod smod netbios-ns dgram upd wait root /usr/sbin/nmbd nmbd

Kill –HUP 1

Выберите один из способов запуска демонов и примените его. Следует заметить, что при установке пакета SAMBA по умолчанию демоны всегда включаются в «автомат». Так что скрипты можно не редактировать.

После того как мы разобрались с запуском демонов, необходимо сконфигурировать SMB-сервер. Это операция заключается в настройке главного конфигурационного файла - /etc/smb.cnf.

Конфигурационный файл smb.cnf

Настройка Samba в Linux (или других UNIX-машинах) контролируется единственным файлом - /etc/smb.cnf. Этот файл определяет, к каким системным ресурсам вы намереваетесь дать доступ клиентам и какие ограничения собираетесь наложить на использование этих ресурсов.

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

‘имя = параметр’

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

Каждая секция в конфигурационном файле (кроме секции ) описывает ресурс доступа. Имя секции - это имя ресурса доступа. Ресурс доступа включает путь к директории доступа и описание прав доступа пользователей.

Например, создадим на диске директорию /common и выделим ее как сетевой ресурс для всех клиентов по записи и чтению:

Path = /common public = yes guest ok = yes writable = yes printable = no

Все записанные любым пользователем в этот ресурс файлы будут иметь права:

  • для создателя - все (чтение, запись, исполнение);
  • для группы (в которую входит пользователь) - чтение;
  • для всех остальных - чтение.

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

Create mask = 0777

Существует три специальные секции:

  1. Секция определяет некоторые переменные, которые Samba будет использовать для определения доступа ко всем ресурсам.
  2. Секция позволяет удаленным пользователям иметь доступ к своим (и только своим) домашним каталогам на Linux-машине. Так что если пользователи Windows попытаются подключиться к этому разделу со своих Windows-машин, то они будут подключены к своим персональным домашним директориям. Заметим, что для того, чтобы это сделать, они должны быть зарегистрированы на этой Linux-машине.
  3. Секция схожа с , но для принтеров.

Для понимания SMB-сервера верхнего и нижнего регистра в наименовании файлов в секции необходимо раскомментировать строку

Case sensitive = yes

Пример части файла:

; Раскомментируйте эту строку, если вы хотите дать доступ; пользователю “гость” ; guest account = nobody log file = /var/log/samba-log.%m ;путь лог-файла lock directory = /var/lock/samba share modes = yes ; В сети ресурс будет виден как имя пользователя;или будет отсутствовать, ; если пользователь не найден comment = Home ; В комментарии будет написано “Home” guest ok = no ; Запретим гостевой доступ browsable = no ; Не будем показывать другим read only = no ; Разрешим запись create mode = 700 ; Создаваемые файлы будут видны только пользователю ;Под таким именем ресурс будет виден path = /var/public ; Путь к ресурсу comment = Welcome! ; Что будет написано при детальном листинге force user = nobody ; Работа с файлами будет производиться; от лица nobody guest ok = yes ; Возможен ли доступ для любого пользователя browsable = yes ; Появится ли ресурс при листинге read only = no ; Не только для чтения. comment = Temporary file space path = /tmp read only = no public = yes

Доступ к дискам Linux из Windows

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

Доступ к дискам Windows из Linux

Программа клиента SMB для UNIX-машин включена в дистрибутив Samba. Она обеспечивает ftp-подобный интерфейс командной строки. Вы можете использовать эту утилиту для переноса файлов сервера под управлением Windows клиенту под управлением Linux. Для того чтобы увидеть, какие ресурсы доступны на данной машине, необходимо выполнить команду:

/usr/sbin/smbclient -L host

где «host» - это имя машины, доступные ресурсы которой вы хотите увидеть. Эта команда вернет список имен «сервисов» - то есть имен дисков или принтеров, к которым может быть получен доступ. До тех пор пока SMB-сервер не будет настроен для управления доступом, он будет запрашивать пароль. Введите в ответ на запрос пароль для пользователя «гость (guest)» или ваш персональный пароль на этой машине.

Например:

Smbclient -L redfox

Вывод этой команды должен выглядеть примерно так:

Server time is Sat Aug 10 12:01:11 1998 Timezone is UTC+3.0 Password: Domain= OS= Server= Server= User= Workgroup= Domain= Sharename Type Comment ---- -- ---- ADMIN$ Disk Remote Admin public Disk Public C$ Disk Default share IPC$ IPC Remote IPC OReilly Printer OReilly print$ Disk Printer Drivers This machine has a browse list: Server Comment ---- ---- ALEX Samba 1.9.15p8 MARRY Samba 1.9.15p8 VASER Samba 1.9.15p8 REDFOX

Browse list показывает другие SMB-серверы в сети с доступными ресурсами.

Для использования клиента выполните следующую команду:

/usr/sbin/smbclient service

где «service» - имя машины и сервиса. Например, если вы пытаетесь обратиться к директории, которая доступна под именем «public» на машине, названной «redfox», то имя сервиса должно звучать как \\redfox\public. Однако вследствие ограничений оболочки вам необходимо спрятать обратный слэш, так что в итоге эта командная строка будет выглядеть следующим образом:

/usr/sbin/smbclient \\\\redfox\\public mypasswd

где «mypasswd» - символьная строка вашего пароля.

Вы получите приглашение smbclient:

Server time is Sat Aug 10 12:01:11 1998 Timezone is UTC+3.0 Password: Domain= OS= Server= Server= User= Workgroup= Domain= smb: \>

Чтобы получить помощь по использованию smbclient, напечатайте «h»:

Smb: \> h ls dir lcd cd pwd get mget put mput rename more mask del rm mkdir md rmdir rd prompt recurse translate lowercase print printmode queue cancel stat quit q exit newer archive tar blocksize tarmode setmode help ? ! smb: \>

Доступ к принтеру Linux для клиентов Windows

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

Добавьте настройку принтера в ваш файл smb.cnf:

Printing = bsd printcap name = /etc/printcap load printers = yes log file = /var/log/samba-log.%m lock directory = /var/lock/samba comment = All Printers security = server path = /var/spool/lpd/lp browseable = no printable = yes public = yes writable = no create mode = 0700 security = server path = /var/spool/lpd/lp printer name = lp writable = yes public = yes printable = yes print command = lpr -r -h -P %p %s

Убедитесь, что путь к принтеру (в этом случае для ) соответствует буферной директории, указанной в файле /etc/printcap!

Следует заметить, что существуют некоторые проблемы с доступом к принтерам на UNIX-машинах для машин с Windows NT с применением Samba. Одна из них состоит в том, что NT неправильно видит сетевой принтер, другая связана с проблемой пароля. Для решения этих вопросов ознакомьтесь с файлом docs/WinNT.txt дистрибутива Samba.

Доступ к принтеру Windows для клиентов Linux

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

  • Вы должны иметь правильные записи в файле /etc/printcap, которые должны соответствовать локальной структуре директорий (для буферной директории и т.п.).
  • У вас должен быть скрипт /usr/bin/smbprint. Он поставляется вместе с исходными текстами Samba, но не со всеми двоичными дистрибутивами Samba. Его слегка модифицированная копия обсуждается ниже.
  • Если вы хотите преобразовывать ASCII-файлы в Postscript, то вы должны иметь программу nenscript или ее эквивалент. nenscript - это конвертор Postscript, он обычно устанавливается в директорию /usr/bin.
  • Вы можете упростить процесс печати через Samba, используя программы-надстройки. Простой скрипт на perl, который обрабатывает ASCII, Postscript или преобразованный Postscript, приведен ниже.
  • Запись в файле /etc/printcap, приведенном ниже, сделана для принтера HP 5MP на сервере Windows NT. Используются следующие поля файла /etc/printcap:

cm - комментарий

lp - имя устройства, открываемого для вывода

sd - директория спула принтера (на локальной машине)

af - файл учета использования принтера

mx - максимальный размер файла (ноль - без ограничений)

if - имя входного фильтра (скрипта)

Для более детальной информации о печати смотрите Printing HOWTO или справочные страницы по printcap.

# /etc/printcap # # //redfox/oreilly via smbprint # lp:\ :cm=HP 5MP Postscript OReilly on redfox:\ :lp=/dev/lp1:\ :sd=/var/spool/lpd/lp:\ :af=/var/spool/lpd/lp/acct:\ :mx#0:\ :if=/usr/bin/smbprint:

Убедитесь, что буферная директория и директория, используемая для учета пользования, существуют и имеют право на запись. Убедитесь, что строка «if» содержит правильный путь к скрипту smbprint (дан ниже) и что записи указывают на правильное устройство вывода (специальный файл /dev).

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

#!/bin/sh -x # Этот скрипт является входным фильтром для основанной на printcap # печати на UNIX-машинах. Он использует программу smbclient для # печати файла на указанный smb-сервер и сервис. # Например, вы можете иметь запись в printcap, подобную этой # # smb:lp=/dev/null:sd=/usr/spool/smb:sh:if=/usr/local/samba/smbprint # # которая создает UNIX-принтер, названный “smb”, который будет # печатать с помощью этого скрипта. Вам необходимо создать директорию # спула /usr/spool/smb с соответствующими правами и владельцем # Установите здесь сервер и сервис, на который вы хотите печатать. # В этом примере я имею PC с WfWg PC, названную “lapland”, которая # имеет экспортируемый принтер, называемый “printer” без пароля # # Далее скрипт был изменен [email protected] (Michael Hamilton) # так что сервер, сервис и пароль могут быть считаны из файла # /usr/var/spool/lpd/PRINTNAME/.config # # Для того чтобы это работало, запись в /etc/printcap должна # включать файл учета использования (af=...): # # cdcolour:\ # :cm=CD IBM Colorjet on 6th:\ # :sd=/var/spool/lpd/cdcolour:\ # :af=/var/spool/lpd/cdcolour/acct:\ # :if=/usr/local/etc/smbprint:\ # :mx=0:\ # :lp=/dev/null: # # Файл /usr/var/spool/lpd/PRINTNAME/.config должен содержать # server=PC_SERVER # service=PR_SHARENAME # password=”password” # # Например, # server=PAULS_PC # service=CJET_371 # password=”” # # Debugging log file, change to /dev/null if you like. # logfile=/tmp/smb-print.log # logfile=/dev/null # # The last parameter to the filter is the accounting file name. # spool_dir=/var/spool/lpd/lp config_file=$spool_dir/.config # Should read the following variables set in the config file: # server # service # password # user eval ‘cat $config_file‘ # # Some debugging help, change the >> to > if you want to same space. # echo “server $server, service $service” >> $logfile (# NOTE You may wish to add the line ‘echo translate’ if you want automatic # CR/LF translation when printing. echo translate echo “print -” cat) | /usr/bin/smbclient “\\\\$server\\$service” $password -U $user -N -P >> $logfile

Большинство дистрибутивов linux поставляется с программой nenscript для преобразования ASCII-документов в Postscript. Следующий скрипт на perl делает жизнь пользователя легче, обеспечивая простой интерфейс для печати путем использования smbprint.

Использование: print [-a|c|p] -a печатает как ASCII -c печатает отформатированный как исходный код -p печатает как Postscript Если опции не заданы, программа попробует определить тип файла и печатать соответственно

Используя smbprint для печати ASCII-файлов, скрипт следит за длинными строками. Если возможно, этот скрипт разрывает длинную строку на пробеле (вместо разрыва в середине слова).

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

Русификация и тестирование файла конфигурации

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

Character set = KOI8-R client code page = 866

Оттестировать файл конфигурации smb.cnf можно при помощи утилиты testparm. Если в файле конфигурации нет ошибок, testparm сообщит об этом и выдаст список используемых служб, в противном случае вы получите сообщение об ошибке.

КомпьютерПресс 10"1999