Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемВалерия Донцова
1 Операционные системы Процессы и потоки Скрипов Сергей Александрович 2009
2 Мультипрограммирование Критерии эффективности вычислительных систем: Пропускная способность – количество задач, выполняемых за единицу времени Удобство работы пользователей – степень интерактивности вычислительной системы Реактивность системы – способность выдерживать заранее заданные интервалы между запуском программ и получением результата
3 Мультипрограммирование Классификация вычислительных систем по критериям эффективности: Системы пакетной обработки Системы разделения времени Системы реального времени
4 Мультипрограммирование Пропускная способность – количество задач, выполняемых за единицу времени Критична для решения задач вычислительного характера Используются системы пакетной обработки. Для увеличения пропускной способности необходимо минимизировать время простоя процессора
5 Мультипрограммирование Системы пакетной обработки Совмещение операций ввода-вывода: 1. Использование каналов - специальных процессоров для управления внешними устройствами
6 Мультипрограммирование Системы пакетной обработки Совмещение операций ввода-вывода: 2. Использование контроллеров устройств, автономно выполняющих команды центрального процессора
7 Мультипрограммирование Схема работы систем пакетной обработки Формируется пакет задач. Выбираются задачи, предъявляющие различные требования к ресурсам. (например задача вычислительного характера и задача с большим количеством операций ввода- вывода) Очередная задача выбирается так, чтобы максимально загрузить все ресурсы.
8 Мультипрограммирование Системы пакетной обработки Задачи выполняются одна за другой Под управлением системы пакетной обработки общее время работы уменьшилось
9 Мультипрограммирование Системы пакетной обработки Недостатки: 1.Такие системы неинтерактивны, пользователь не может вмешиваться в процесс вычисления 2.Одна задача способна надолго занять все ресурсы.
10 Мультипрограммирование Системы разделения времени Пользователю предоставляется возможность интерактивной работы сразу с несколькими приложениями Всем приложениям попеременно выделяется квант процессорного времени ОС ААА БББ
11 Мультипрограммирование Системы разделения времени + Интерактивность + Оптимальное использование ресурсов. (Возможность одновременно с вычислениями осуществлять ввод-вывод) - Накладные расходы на переключение между задачами - Интерактивность (когда системой управляет альтернативно-одаренный пользователь)
12 Мультипрограммирование Системы реального времени Мультипрограммная смесь состоит из фиксированного набора заранее разработанных программ Выбор программы на выполнение происходит или по прерываниям или по расписанию плановых работ При проектировании закладывается некоторый «запас» вычислительной мощности
13 Процессы и потоки Понятия «процесс» и «поток» Процесс – заявка на потребление всех видов ресурсов, кроме процессорного времени Поток – последовательность команд, работающих в рамках некоторого процесса
14 Процессы и потоки Понятия «процесс» и «поток» Процесс – память, файлы, сокеты, семафоры Поток – квант процессорного времени, контекст
15 Процессы и потоки
16 Понятия «процесс» и «поток» Процесс firefox.exe Память – Кб Окна – 321 шт Временный файл Сокет1 tcp/ip yandex.ru Coкет2 tcp/ip afisha.mail.ru Поток 1 – перемещение данных из сокета1 в память Поток 2 – перемещение данных из сокета1 в память Поток 3 – отображение содержимого активной закладки
17 Процессы и потоки Планирование и диспетчеризация потоков Планирование Определение момента времени для смены текущего активного потока Выбор для выполнения потока из очереди Диспетчеризация Сохранение контекста текущего потока Загрузка контекста нового потока Запуск нового потока на выполнение
18 Процессы и потоки Алгоритмы планирования потоков Невытесняющие – потоку позволяется выполняться, пока он сам, по собственной инициативе не отдаст управление операционной системе (файл-серверы Net Ware) Вытесняющие – решения о смене и выборе активного потока принимаются операционной системой (UNIX, Windows начиная с Windows 95, OS/2)
19 Процессы и потоки Состояние потока
20 Алгоритмы планирования Алгоритмы, основанные на квантовании Каждому потоку в порядке очереди предоставляются ограниченные непрерывные периоды процессорного времени - кванты Кванты могут быть одинаковыми для всех потоков, или различными
21 Алгоритмы планирования Алгоритмы, основанные на квантовании
22 Алгоритмы планирования Алгоритмы, основанные на приоритетах 1. Относительные приоритеты
23 Алгоритмы планирования Алгоритмы, основанные на приоритетах 1. Абсолютные приоритеты
24 Мультипрограммирование на основе прерываний Прерывание переводит процессор на выполнение потока команд, отличного от того, который в данный момент выполнялся с последующим возвратом к исходному. Прерывание происходит в произвольной точке потока команд, которую программист не может прогнозировать.
25 Мультипрограммирование на основе прерываний Типы прерываний Внешние (аппаратные). Возникают в результате действий пользователя или сигналов от внешних устройств. (нажатие клавиши на клавиатуре, передвижение мыши, сигнал от жесткого диска об окончании операции записи)
26 Мультипрограммирование на основе прерываний Типы прерываний Внутренние (исключения). Происходят при аварийной ситуации в ходе выполнении некоторой инструкции(деление на ноль, обращение по несуществующему адресу в памяти, попытка выполнить привилегированную инструкцию)
27 Мультипрограммирование на основе прерываний Типы прерываний Программные. Не являются «настоящими» прерываниями. По сути имитация прерывания (запрос на выделение памяти, запись данных в файл, открытие сетевого соединения, создание нового потока).
28 Мультипрограммирование на основе прерываний Аппаратные прерывания от таймера позволяют системе вмешиваться в вычислительный процесс и проводить перепланировку
29 Мультипрограммирование на основе прерываний Неупорядоченная обработка прерываний
30 Мультипрограммирование на основе прерываний Диспетчеризация и приоритезация прерываний в ОС Использование диспетчера прерываний Произошло Прерывание 1.Вызов диспетчера прерываний 2.Запрещение всех прерываний 3.Принятие решения: постановка прерывания в очередь либо выполнение прерывания
31 Мультипрограммирование на основе прерываний Диспетчер прерываний на примере Windows NT
32 Синхронизация процессов и потоков Критическая секция Критическая секция это часть программы, результат выполнения которой может непредсказуемо меняться, если переменные, относящиеся к этой части программы, изменяются другими потоками в то время, когда выполнение этой части еще не завершено. Критическая секция всегда определяется по отношению к определенным критическим данным
33 Синхронизация процессов и потоков Блокирующие переменные
34 Синхронизация процессов и потоков Семафоры Для объекта семафор вводятся две неделимые операции: V(S): переменная S увеличивается на 1 единым действием. P(S): уменьшение S на 1, если это возможно. Если S=0, то в этом случае поток, вызывающий операцию Р, ждет, пока это уменьшение станет возможным.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.