Операционные системы. Часть 1. Основы управления ресурсами. Рощин А.В. - 92 стр.

UptoLike

Составители: 

92
возможность разработчику приложений самому проектировать алгоритм
планирования, наиболее подходящий для данного фиксированного набора
задач. Так как разработчик сам определяет в программе момент возвращения
управления, то при этом исключаются нерациональные прерывания программ
в «неудобные» для них моменты времени. Кроме того, легко разрешаются
проблемы совместного использования данных: задача во время каждого
цикла выполнения использует их монопольно и уверена, что на протяжении
этого периода никто другой не изменит данные. Существенным
преимуществом невытесняющего планирования является более высокая
скорость переключения с потока на поток.
Почти во всех современных операционных системах, ориентированных
на высокопроизводительное выполнение приложений (UNIX, Windows
NT/2000, OS/2, VAX/VMS), реализованы вытесняющие алгоритмы
планирования потоков (процессов). В последнее время дошла очередь и до
ОС класса настольных систем, например OS/2 Warp и Windows 95/98.
Примером эффективного использования невытесняющего
планирования являются файл-серверы NetWare 3.x и 4.x, в которых в
значительной степени благодаря такому планированию достигнута высокая
скорость выполнения файловых операций. В соответствии с концепцией
невытесняющего планирования, чтобы не занимать процессор слишком
долго, поток в NetWare сам отдает управление планировщику ОС, используя
следующие системные вызовы:
ThreadSwitch – поток, вызвавший эту функцию, считает себя готовым
к немедленному выполнению, но отдает управление для того, чтобы
могли выполняться и другие потоки;
ThreadSwitchWithDelay – функция аналогична предыдущей, но поток
считает, что будет готов к выполнению только через определенное
количество переключений с потока на поток;
                                        92



возможность разработчику приложений самому проектировать алгоритм
планирования, наиболее подходящий для данного фиксированного набора
задач. Так как разработчик сам определяет в программе момент возвращения
управления, то при этом исключаются нерациональные прерывания программ
в «неудобные» для них моменты времени. Кроме того, легко разрешаются
проблемы совместного использования данных: задача во время каждого
цикла выполнения использует их монопольно и уверена, что на протяжении
этого    периода     никто   другой    не    изменит    данные.    Существенным
преимуществом невытесняющего планирования является более высокая
скорость переключения с потока на поток.
        Почти во всех современных операционных системах, ориентированных
на высокопроизводительное выполнение приложений (UNIX, Windows
NT/2000,     OS/2,    VAX/VMS),       реализованы      вытесняющие     алгоритмы
планирования потоков (процессов). В последнее время дошла очередь и до
ОС класса настольных систем, например OS/2 Warp и Windows 95/98.
        Примером       эффективного          использования        невытесняющего
планирования являются файл-серверы NetWare 3.x и 4.x, в которых в
значительной степени благодаря такому планированию достигнута высокая
скорость выполнения файловых операций. В соответствии с концепцией
невытесняющего планирования, чтобы не занимать процессор слишком
долго, поток в NetWare сам отдает управление планировщику ОС, используя
следующие системные вызовы:
        − ThreadSwitch – поток, вызвавший эту функцию, считает себя готовым
           к немедленному выполнению, но отдает управление для того, чтобы
           могли выполняться и другие потоки;
        − ThreadSwitchWithDelay – функция аналогична предыдущей, но поток
           считает, что будет готов к выполнению только через определенное
           количество переключений с потока на поток;