Билет 62

Эффективность операционных систем. Показатели эффективности. Требования, предъявляемые к операционным системам.

Вытесняющие и невытесняющие алгоритмы планирования. Алгоритмы, основанные на квантовании. Схемы алгоритма планирования с квантованием.

1)Эффективность – степень соответствия своему назначению, техническое совершенство и экономическая целесообразность.

Показатели эффективности:

Общие:

Производительность (пропускная способность)

Относительная пропускная способность

Время ответа (реакции системы)

Коэффициент задержки выполнения работ

Время решения заданного набора функциональных задач

Частные:

Характеризующие ресурсоемкость

Показатели надежности

Характеризующие качество выполнения функций

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

Затраты времени и средств

Требования, предъявляемые к операционным системам:

Эффективность

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

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

Предсказуемость

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

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

Совместимость. Существует несколько «долгоживущих» популярных ОС (разновидности UNIX, MS-DOS, Windows 3.x, Windows NT, OS/2), для которых наработана широкая номенклатура приложений. Поэтому для пользователя, переходящего по тем или иным причинам с одной ОС на другую, очень привлекательна возможность запуска в новой ОС привычного приложения. Если ОС имеет средства для выполнения прикладных программ, написанных для других ОС, то про неё говорят, что она обладает совместимостью с этими ОС.

Удобство

Масштабируемость

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

2)

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

· Вытесняющие (preemptive) алгоритмы — это такие способы планирования потоков, в которых решение о переключении процессора с выполнения одного потока на выполнение другого потока принимается операционной системой, а не активной задачей. При вытесняющем мультипрограммировании функции планирования потоков целиком сосредоточены в операционной системе и программист пишет свое приложение, не заботясь о том, что оно будет выполняться одновременно с другими задачами (например, используется в UNIX, Windows NT/2000, OS/2, VAX/VMS и в некоторых настольных системах таких, как OS/2 Warp и Windows 95/98).

Проблемы связанные с использование невытесняющих алгоритмов планирования:

· Для пользователей: управление системой теряется на произвольный период времени, который определяется приложением (а не пользователем).

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

Преимущества использования невытесняющих алгоритмов планирования:

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

· более высокая скорость переключения с потока на поток.

Алгоритмы планирования, основанные на квантовании

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

Смена активного потока происходит, если:

· поток завершился и покинул систему;

· произошла ошибка;

· поток перешел в состояние ожидания;

· исчерпан квант процессорного времени, отведенный данному потоку.

Рис. 1. Граф состояний потока в системе с квантованием

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

· Чем больше квант, тем меньше суммарные накладные расходы, связанные с переключением потоков.

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

Задача

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

Рассмотрим однопоточный сервер:

· Если данные находятся в кэше (вероятность 4/5), то запрос займет 15 мс

· Если данные не находятся в кеше (вероятность 1/5), то запрос займёт 15 мс + 125 мс в режиме ожидания

Пусть x – число запросов в секунду.

(4/5)x * 15 + (1/5)x * (15+125) = 1000

x=25 запр/сек

Рассмотрим многопоточный сервер:

· Если данные находятся в кэше (вероятность 4/5), то запрос займет 15 мс

· Если данные не находятся в кеше (вероятность 1/5), то запрос займёт 15 мс + 125 мс в режиме ожидания, в течение которого может выполняться диспетчеризация и обработка остальных запросов

· Двух одновременных операций по чтению с диска выполняться не может

Тогда:

1000 / 15 = 66 диспетчеризаций и обработок запросов может выполнить сервер за секунду

Если 4/5 из них лежат в кеше, то 4/5 * 66 = 53 запроса сервер выполнит без чтения с диска

Остаются 66-53=13 запросов, требующих чтения с диска. Т.к. одновременное чтение из двух областей диска происходить не может, то из этих 13 запросов смогут выполниться только 1000/125=8 запросов.

Итого многопоточный сервер выполнит 53+8=61 запрос.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: