В 90 – е годы практически все ОС стали сетевыми.



В настоящее время сетевые функции встроены в состав обычных ОС (W95, W98, WME, W2000, W/XP ).

Одноранговые и серверные СОС

 

В настоящее время в соответствии с архитектурой существующих сетей выделяют и соответствующие СОС:

Одноранговые СОС.

2. Серверные СОС (двухранговые).

Серверные СОС в свою очередь могут быть:

Файл - серверные.

2.2. Клиент – серверные.

 

Одноранговые

 

В одноранговых СОС в каждом ПК сети (обычно ЛВС) содержится клиентская и серверная части.   

К ним можно отнести W95, W98, WME.

В них нет выделенного компьютера в качестве сервера.

В них файлы и дисковое пространство каждого ПК могут быть общими.

Каждый ПК сети равноправен и может быть и клиентом (рабочей станцией) и файл - сервером.

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

В таких сетях обычно устанавливаются одинаковые ОС.

Такими ОС могут быть Windows for Workgroup, Windows NT for Workgroup и др.

 

Серверные СОС

В файл – серверных СОС для работы с приложением, находящемся на сервере оно передается на компъютер клиента.

Функции сервера – хранение данных и кода.

Функции клиента – обработка данных на стороне клиента.

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

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

Сервер обслуживает запросы.

На сервере устанавливается серверная сетевая ОС.

Клиенты посылают запросы через интерфейс.

Сами приложения остаются на сервере.

Такая дисциплина существенно снижает трафик сети и увеличивает ее производительность.

Можно устанавливать большое число рабочих станций.

Этот режим в настоящее время является основным.

 

Управление процессами в многозадачных операционных системах

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

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

Не вытесняющие ( non-preemptive ).

Вытесняющие ( preemptive ).

Им соответствуют алгоритмы вытесняющей и не вытесняющей многозадачности.

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

Для запуска другого процесса он должен быть активизирован.

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

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

Для создания дружественных условий для других программистов пользователь должен предусмотреть частые передачи управления операционной системе.

Такая дисциплина используется в NetWare 3.Х и 4.Х. и в W/3, W/95 и W/ME.

Основной неприятностью в не вытесняющих ОС – возможное зависание задачи.

Однако нет состояния прерывания в неудобное время.

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

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

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

Он может быть выполнен даже между двумя командами одного процесса.

Распределение времени выполняет планировщик ОС.

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

В таком режиме работают W/ NT, W2000, OS/2, Unix и др.

Многозадачность в ОС Windows появилась с первых ее версий.

Но она была не вытесняющей (W3.x, виртуальные DOS машины, W95\ 98).

W95\ 98 были не надежны из-за слабой защиты памяти.

В линии ОС W/NT реализована вытесняющая многозадачность.

 

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

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

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

 

Для операционной системы процесс – это заявка на потребление системных ресурсов.

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

В многозадачной системе процесс может находиться в одном из трех состояний:

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

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

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

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

Выполнение – активное состояние, имеет все ресурсы и выполняется.

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

Новый квант прерванному процессу по исчерпании кванта времени выделяется в соответствии с алгоритмом выборки из очереди (FIFO, LIFO и др.).

В процессе жизненного цикла процесс проходит эти стадии.

Могут быть многократные переходы в эти состояния.

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

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

Эта информация находится в дескрипторе процесса.

Дескриптор – это оперативная информация, необходимая планировщику.

Очереди процессов представляют дескрипторы процессов, объединенные в списки.

Каждый дескриптор имеет указатель на другой соседний дескриптор в очереди.

Такая система позволяет оперативно перераспределять очередь, переводить процесс в разные состояния.

Перевод код в состояние выполнения осуществляется при создании процесса.

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

Планирование предполагает решение следующих задач:

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

Существует множество алгоритмов.

Большинство базируется на понятиях кванта времени и приоритете.

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

Величина квант может меняться для процесса.

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

Теоретической базой анализа различных дисциплин обслуживания операционных систем является теория систем массового обслуживания (СМО).

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

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

СМО характеризуется: законом распределения входного потока, законом распределения времени обслуживания, числом обслуживаемых приборов, дисциплиной обслуживания (FIFO,…).

СМО могут быть одноканальные и многоканальные, с бесконечными и конечными, приоритетными и бес приоритетными очередями и др.

В некотором обобщенном виде систему массового обслуживания (СМО) можно представить в виде:

Обслуживающими приборами для операционной системы являются ресурсы компъю- тера (процессорное время , память , УВВ, файлы, менеджеры подсистем и т.п.).

В современных ОС понятие ресурса – это некоторая абстракция с перечнем параметров, характеризующих способы доступа к ним – объект и правила и права доступа.

В очередях находятся процессы и потоки.

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

Этот поток имеет различные вероятностные характеристики.

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

Каждый ресурс может быть в двух состояниях: занят или свободен.

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

Дисциплины обслуживания могут быть приоритетные и бесприоритетные.

Эффективность работы ОС в значительной степени зависит от выбранной дисциплины диспетчеризации процессов и потоков в очередях.

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

1. Коэффициент загрузки обслуживающих приборов.

Для компъютера – это в первую очередь % загрузки процессора.

2. Обеспечение максимальной пропускной способности системы.

Например, число задач, обслуженных в единицу времени.

3. Минимальное среднее время ожидания обслуживания в очереди .

4. Минимальное среднее время обслуживания одной заявки.

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

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

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

Дисциплины обслуживания

Выделяют следующие основные дисциплины обслуживания:

1. Бесприоритетные (FCFS-first come first served или FIFO –first input first output, LIFO – last input first output ) и др.

 

2. Приоритетные (с  фиксированными и динамическими приоритетами).

Они в свою очередь могут быть абсолютными и относительными.

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

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

В этом случае приоритет называется относительным.  

Планирование в ОС с разделением времени

 

Базируется на выделяемых потокам или процессам квантов времени.

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

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

 

Наиболее распространенным алгоритмом планирования в таких системах – кольцевой (round robin).

В этом случае каждому процессу поочередно выделяется одинаковый квант времени.


Дата добавления: 2018-08-06; просмотров: 324; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!