В 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!