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

25.04.2019

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

Логические диски, включая накопители на CD-ROM, ZIP, DVD и другие аналогичные устройства;

Каталоги (папки) с подкаталогами (вложенными папками) или без них, а также содержащиеся в них файлы;

Подключенные к ПК устройства: принтеры, модемы и др.

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

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

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

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

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

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

С сервера последовательно пересылаются записи базы дан­ных на рабочую станцию, где производится собственно фильтрация записей и отбор необходимых;

Сервер сам отбирает необходимые записи из БД (реализует запрос) и пересылает их на рабочую станцию.

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

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

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

Топологии

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

Топология “звезда”

Звездообразная топология сети – разновидность сети, где каждый терминал соединен с центральной станцией (рис. 2).

Эта топология взята из области больших электронных вычислительных ма­шин. Здесь файловый сервер находится в “центре”.

Достоинства сети:

Повреждение кабеля является проблемой для одного конкретного ком­пьютера и в целом не сказывается на работе сети;

Просто выполняется подключение, так как рабочая станция должна со­единяться только с сервером;

Механизмы защиты против несанкционированного доступа оптимальны;

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

Недостатки:

В то время как передача данных от рабочей станции к серверу (и обрат­но) происходит быстро, скорость передачи данных между отдельными рабочими станциями мала;

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

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

Рис 2. Топология типа “звезда”

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

Кольцевая топология

Сеть типа “кольцо” – разновидность сети, в которой каждый терминал подключен к двум другим соседним терминалам кольца.

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

Рис. 3. Кольцевая топология

Достоинство сети типа “кольцо”:

Недостатки:

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

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

При подключении новых рабочих станций сеть должна быть кратковре­менно выключена.

Шинная топология

Такая сеть похожа на центральную линию, к которой подключены сервер и отдельные рабочие станции. Шинная топологии имела широкое распро­странение в прежние годы, что, прежде всего, можно объяснить небольшими потребностями в кабеле (рис. 4).

Рис. 4. Шинная топология

Достоинства шинной топологии:

Небольшие затраты на кабели;

Рабочие станции в любой момент времени могут быть установлены или отключены без прерывания работы всей сети;

Рабочие станции могут коммутироваться друг с другом без помощи сер­вера.

Недостатки:

При обрыве кабеля выходит из строя весь участок сети от места разрыва;

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

Комбинированная структура ЛВС

Наряду с известными топологиями вычислительных сетей: кольцо, звезда и шина – на практике применяется и комбинированная. Она образуется в основном в виде комбинаций вы­шеназванных топологий вычислительных сетей (рис. 5).

Рис 5. Комбинированная структура

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

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

Семиуровневая модель ЛВС

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

Единой передающей среды;

Единого метода управления;

Единых протоколов;

Гибкой модульной организации;

Информационной и программной совместимости.

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

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

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

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

Протокол – набор правил и процедур, регламентирующий обмен данными.

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

Для протокола передачи данных требуется следующая информация:

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

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

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

Адресация. Адресация обеспечивает идентификацию различного используемого оборудо­вания, которое обменивается друг с другом информацией во время взаимодей­ствия.

Обнаружение ошибок. Под обнаружением ошибок понимают установку и проверку контрольных битов.

Нумерация блоков. Текущая нумерация блоков позволяет установить ошибочно переда­ваемую или поте­рявшуюся информацию.

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

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

Разрешение доступа. Распределение, контроль и управление ограничениями доступа к данным вме­няются в обязанность пункта разрешения доступа (например, “только передача” или “только прием”).

Каждый уровень подразделяется на две части:

Спецификация услуг;

Спецификация протокола.

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

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

Международная организация по стандартизации предложила семиуровневую модель , которой соответствует и программная структура (рис. 6).

Рис 6. Уровни управления и протоколы ЛВС

Рассмотрим функции, выполняемые каждым уровнем программного обеспечения.

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

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

3. Сетевой – определяет маршрут передачи информации между сетями (ПЭВМ), обеспечивает обработку ошибок, а также управление потоками данных. Основная задача сетевого уровня - маршрутизация данных (передача данных между сетями). Специальные устройства – маршрутизаторы (Router) определяют для, какой сети предназначено то или другое сообщение, и направляют эту посылку в заданную сеть. Для определения абонента внутри сети используется адрес узла (Node Address). Для определения пути передачи данных между сетями на маршрутизаторах строятся таблицы маршрутов (Routing Tables) , содержащие последовательность передачи данных через маршрутизаторы. Каждый маршрут содержит адрес конечной сети, адрес следующего маршрутизатора и стоимость передачи данных по этому маршруту. При оценке стоимости могут учитываться количество промежуточных маршрутизаторов, время, необходимое на передачу данных, денежная стоимость передачи данных по линии связи. Для построения таблиц маршрутов наиболее часто используют либо метод векторов либо статический метод . При выборе оптимального маршрута применяют динамические или статические методы. На сетевом уровне возможно применение одной из двух процедур передачи пакетов:

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

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

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

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

6. Представительский – управляет представлением данных в необходимой для программы пользователя форме, генерацию и интерпретацию взаимодействия процессов, кодирование/декодирование данных, в том числе компрессию и декомпрессию данных. На рабочих станциях могут использоваться различные операционные системы: DOS, UNIX, OS/2. Каждая из них имеет свою файловую систему, свои форматы хранения и обработки данных. Задачей данного уровня является преобразование данных при передаче информации в формат, который используется в информационной системе. При приеме данных этот уровень представления данных выполняет обратное преобразование. Таким образом, появляется возможность организовать обмен данными между станциями, на которых используются различные операционные системы. Форматы представления данных могут различаться по следующим признакам:

Порядок следования битов и размерность символа в битах;

Порядок следования байтов;

Представление и кодировка символов;

Структура и синтаксис файлов.

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

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

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

Протоколы передачи данных

В различных сетях существуют различные протоколы обмена данными. Наибольшее распространение получила конкретная реализация методов доступа в сетях типа Ethernet, Arcnet и Token-Ring.

Метод доступа в сетях Ethernet

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

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

Метод доступа в сетях Ethernet является методом множественного доступа с прослушиванием несущей и разрешением коллизий (конфликтов) (CSMA/CD - Carrier Sense Multiple Access/Collision Detection)

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

Реально конфликты приводят к уменьшению быстродействия сети только в том случае, если в сети работают не менее 80-100 станций.

Метод доступа в сетях Arcnet

Этот метод доступа разработан фирмой Datapoint Corp. Он также получил широкое распространение в основном благодаря тому, что оборудование Arcnet дешевле, чем оборудование Ethernet или Token-Ring. Технология Arcnet используется в локальных сетях с топологией “звезда”. Один из компьютеров создает специальный маркер (сообщение специального вида), который последовательно передается от одного компьютера к другому.

Если станция желает передать сообщение другой станции, она должна дождаться маркера и добавить к нему сообщение, дополненное адресом отправителя и адресом станции назначения. Когда пакет дойдет до станции назначения, сообщение будет “отцеплено” от маркера и передано станции.

Метод доступа в сетях Token-Ring

  • Анализ состояния и эффективности образования и использования запасов сырья и материалов на предприятии: цель, информационная база, система показателей, методика проведения.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    На рис. 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

    Project Professional 2019 Project Professional 2016 Project 2010 Project 2007 Project Online Desktop Client Project Professional 2013 Project Standard 2007 Project Standard 2010 Project Standard 2013 Project Standard 2016 Project Standard 2019 More... Less

    Knowing who’s available to work on your project can become a challenge when you’re working across multiple projects.

    If you assign the same people to several projects or use shared resources in your project, it helps to combine all the resource information into a single central file called a resource pool. The resource pool is also useful for identifying assignment conflicts, and viewing time allocation for each project.

    Create a resource pool

    Note: If you use Project Professional and resources exist in your organization"s enterprise resource pool, you don"t need to create another resource pool. See for more information.

    Open Project, click Blank Project > Resource tab.

    Click the arrow next to Team Planner and click Resource Sheet .

    Click Add Resources and import existing resource information.

    To type in new people information, click Work Resource and add Resource Name and details.

    Note: In Project 2007, choose View > Resource Sheet , and then add resources with the type Work .

    Note: If you’re using Project Professional with Project Server, you’ll have access to the enterprise resources. To learn more about Project versions, see Project Version Comparison . The enterprise resource list is usually managed by an administrator, and each project manager can add from these resources to their projects.

    After you create a shared resource pool, the information for each shared project comes from this resource pool, and all information like assignments, cost rates and availability are in this central location.

    Use the resource pool Working with resource usage information

    You can view and update the resource pool file from your current project (sharer file). It’s a good practice to periodically update and view resources to get the latest information on allocations and its impact on your projects.

    Note: To directly edit a resource pool file, you’ll need read/write access to that file. Otherwise you can only view resource usage and make changes to your project’s resources.

    Stop sharing resources

    If your project shares resources from a resource pool or from another project file, you can disconnect it from that other file. Resources with assignments in your project file remain in the project after the file is disconnected from the resource pool or other project file, but the other resources from the resource pool or other file are no longer available.

    Note: Usually you don"t want the task assignments to be retained within the resource pool after you disconnect the sharer file. However, assignments will be retained if you disconnect your sharer file from the resource pool when the resource pool isn"t open, or if you don"t save the resource pool after you disconnect the sharer file. To remove the retained assignments from the pool, disconnect the sharer file from within the resource pool file, and all task assignment information is deleted from the resource pool without affecting the former sharer file. If there are already leftover tasks in your resource pool, reconnect the sharer file to the resource pool and disconnect it again.

    Disconnect the active sharing file from its resource pool

    You can disconnect the active project file from the resource pool or other file that it is connected to and sharing resources with.

    Open the resource pool that contains the resources that you are sharing.

    In the Open Resource Pool dialog box, click Open resource pool read/write so that you can change resource information . Keep in mind that opening the pool with read/write permission keeps others from updating the pool with new information.

    Open your project.

    Choose Resource > Resource Pool > Share Resources . (In Project 2007, choose Tools > Resource Sharing > Share Resources .)

    Click Use own resources , and then click OK .

    Save both project files.

    Learn more about resource pools

    A resource pool makes it easier for you to administer people or equipment assigned to tasks in more than one project file. The resource pool centralizes resource information, such as the resource name, calendar used, resource units, and cost rate tables.

    Each project that uses resources from the resource pool is called a sharer file.

    Tip: Create a new (separate) project file just for resource information. This will make it easier for you to manage resource information and task assignments between the sharer files and the resource pool.

    Before a resource pool is created, each project contains its own resource information. Some of this information may overlap or even conflict with information about the same resources used in other projects.

    After a shared resource pool is created, the resource information in each project comes from the single resource pool. Assignment information, as well as cost rates and availability for all resources, reside in one central location.

    It is also easier to see resource overallocations caused by conflicting assignments across more than one project.

    Многозадачность.

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

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

    Вместе с тем, в MS DOS существует понятие резидентных программ. Это программы, которые после запуска остаются в памяти компьютера и продолжают там работать даже после запуска других программ. С помощью резидентных программ, например, выполняют переключение между русскоязычной и англоязычной раскладками клавиатуры, обслуживание мыши и других внешних устройств (в MS DOSMS DOS считается однозадачной. Это связано с тем, что резидентные программы в своей работе не опираются на операционную систему, а напрямую общаются с процессором, т.е. MS DOS не управляет работой этих программ. Они функционируют автономно. драйверы устройств – это как правило резидентные программы). Специальные резидентные программы служат для расширения свойств операционной системы и улучшения ее интерфейса. Их называют программами-оболочками. С помощью резидентных отладчиков хакеры просматривают код работающих программ и вносят в него изменения. Вирусы, «живущие своей жизнью» на нашем компьютере, - это тоже примеры резидентных программ. Несмотря на существование целого класса резидентного программного обеспечения, все-таки операционная система

    Операционные системы Windows 95 и Windows 98 – действительно многозадачные. Они реально управляют одновременной работой нескольких приложений, среди которых, кстати, могут быть и приложения MS DOS. При этом важной чертой систем Windows 9х является так называемая концепция внедрения и связывания объектов (Object Linking and Embedding, OLE). Е смысл состоит в том, что выделенные объекты (блоки текста, графические иллюстрации, звуковые и видеоклипы и т.д.) можно копировать и перемещать между приложениями. Так создают комплексные и мультимедийные документы.

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

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



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

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

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

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

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

    Запуск операционной системы MS DOS.

    Три системных файла MS DOS.

    Если на компьютере установлена операционная система MS DOS, то ее запуск начинается с двух системных файлов IO.sys и Msdos.sys, после чего загружается третий системный файл command.com. Фактически, эти три файла и представляют собой ядро операционной системы MS DOS.

    Обратите внимание на то, что эти три файла представляют собой «святая святых» операционной системы. Если внести в них какие-либо изменения, система (а вместе с ней и компьютер) перестанет работать. Файлы IO.sys и Msdos.sys нельзя не только изменять, но даже и перемещать. Дело в том, что они должны находиться в строго определенных секторах системной дорожки диска, иначе компьютер не сможет их найти.