logo
FoxPro / Методички АСВТ / Информатика

Особенности алгоритмов управления ресурсами

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

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

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

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

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

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

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

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

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

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4