- •1. История
- •3.Эволюция ос
- •4.Классификация ос
- •5.Особенности областей использования
- •6.Система управления вводом/выводом
- •7.Прерывания, исключительные ситуации и системные вызовы
- •8.Система прерываний
- •9.Прямой доступ к памяти (Direct Memory Access – dma)
- •10.Буферизация и кэширование
- •11.Файловая система
- •12.Журналируемые файловые системы для Linux
- •13.Понятие процесса
- •14.Понятия «процесс» Процесс (задача) - программа, находящаяся в режиме выполнения.
- •15.Потоки
- •16.Планирование и диспетчеризация потоков
- •17.Алгоритмы планирования, основанные на приоритетах
- •18.Обеспечение информационной безопасности в современной ос
- •20.Технология защищенного канала
- •19.Аутентификация, авторизация, аудит
- •22.Планирование в системах пакетной обработки Процессы ставятся в очередь по мере поступления.
- •24.Планирование в системах реального времени
- •21.Технологии аутентификации
- •23.Планирование в интерактивных системах
- •25.Взаимоблокировка процессов
- •26.Управление памятью в ос
- •27.Организация виртуальной памяти
- •28.Управление виртуальной памятью
- •29.Архитектура операционной системы
- •30.Сервисы операционных систем:
- •31.Ядро и вспомогательные модули ос
- •32.Ядро и привилегированный режим
- •33.Многослойная структура ос
- •34.Аппаратная зависимость ос
- •35.Переносимость операционной системы
- •38.Микроядерная архитектура
- •36. Совместимость
- •37. Безопасность
- •39.Преимущества и недостатки микроядерной архитектуры
- •40.Способы реализации прикладных программных сред
- •41.Виртуальная память.
- •42.Файловая система. Управление файлами
- •43.Классификация ос
- •51.Области использования Windows nt
- •44.Управление внешней памятью
- •45.Способы распределения памяти на диске
- •46.Множественные прикладные среды
- •47.Характеристика и области применения современных операционных систем
- •48.История и общая характеристика семейства операционных систем unix
- •49История Windows nt
- •50.Версии Windows nt
15.Потоки
возникли в операционных системах как средство распараллеливания вычислений.
Конечно, задача распараллеливания вычислений в рамках одного приложения может быть решена и традиционными способами.
Во-первых, прикладной программист может взять на себя сложную задачу организации параллелизма, выделив в приложении некоторую подпрограмму- диспетчер, которая периодически передает управление той или иной ветви вычислений. Во-вторых, решением является создание для одного приложения нескольких процессов для каждой из параллельных работ
Кроме того, на создание каждого процесса ОС тратит определенные системные ресурсы, которые в данном случае неоправданно дублируются — каждому процессу выделяются собственное виртуальное адресное пространство, физическая память, закрепляются устройства ввода-вывода и т. п.
Создание потоков требует от ОС меньших накладных расходов, чем процессовВсе потоки одного процесса используют общие
файлы, таймеры, устройства, одну и ту же область оперативной памяти, одно и то же адресное пространство. Это означает, что они разделяют одни и те же глобальные переменные. Использование потоков связано не только со стремлением повысить производительность системы за счет параллельных вычислений, но и с целью создания более читабельных, логичных программ. Введение нескольких потоков выполнения упрощает программирование. Таким образом, использование потоков может сократить необходимость в прерываниях пользовательского уровня. Преимущества использования потоков
Упрощение программы в некоторых случаях, за счет использования общего адресного пространства.
Быстрота создания потока, по сравнению с процессом, примерно в 100 раз.
Повышение производительности самой программы, т.к. есть возможность одновременно выполнять вычисления на процессоре и операцию ввода/вывода. Пример: текстовый редактор с тремя потоками может одновременно взаимодействовать с пользователем, форматировать текст и записывать на диск резервную копию.
16.Планирование и диспетчеризация потоков
Работа по определению того, в какой момент необходимо прервать выполнение текущего активного потока и какому потоку предоставить возможность выполняться, называется планированием. Планирование потоков, по существу, включает в себя решение двух задач:
определение момента времени для смены текущего активного потока;
выбор для выполнения потока из очереди готовых потоков.
В большинстве операционных систем универсального назначения планирование осуществляется динамически (on-line), Другой тип планирования — статический Планировщик называется статическим (или предварительным планировщиком), если он принимает решения о планировании не во время работы системы, а заранее (off-line).
17.Алгоритмы планирования, основанные на приоритетах
Приоритетное обслуживание предполагает наличие у потоков некоторой изначально известной характеристики — приоритета, на основании которой определяется порядок их выполнения. Приоритет — это число, характеризующее степень привилегированности потока при использовании ресурсов вычислительной машины, в частности процессорного времени: чем выше приоритет, тем выше привилегии, тем меньше времени будет проводить поток в очередях.
Приоритет может выражаться целым или дробным, положительным или отрицательным значением. В некоторых ОС принято, что приоритет потока тем выше, чем больше (в арифметическом смысле) число, обозначающее приоритет. В других системах, наоборот, чем меньше число, тем выше приоритет.
В большинстве операционных систем, поддерживающих потоки, приоритет потока непосредственно связан с приоритетом процесса, в рамках которого выполняется данный поток. Приоритет процесса назначается операционной системой при его создании.
Существуют две разновидности приоритетного планирования: обслуживание с относительными приоритетами и обслуживание с абсолютными приоритетами. В обоих случаях выбор потока на выполнение из очереди готовых осуществляется одинаково: выбирается поток, имеющий наивысший приоритет.