Операционные системы 1 презентация

Содержание

Слайд 2

Процессы и потоки

Процессы и потоки

Слайд 3

Мультипрограммирование

Мультипрограммирование

Слайд 4

Мультипрограммирование Мультипрограммирование, или многозадачность (multitasking) - это способ организации вычислительного

Мультипрограммирование

Мультипрограммирование, или многозадачность (multitasking) - это способ организации вычислительного процесса, при

котором на одном процессоре попеременно выполняются сразу несколько программ.
Слайд 5

Мультипрограммирование Эти программы совместно используют процессор и другие ресурсы компьютера: оперативную и внешнюю память, устройства ввода-вывода.

Мультипрограммирование

Эти программы совместно используют процессор и другие ресурсы компьютера: оперативную и

внешнюю память, устройства ввода-вывода.
Слайд 6

Мультипрограммирование Мультипрограммирование повышает эффективность использования вычислительных систем.

Мультипрограммирование

Мультипрограммирование повышает эффективность использования вычислительных систем.

Слайд 7

Мультипрограммирование Главными критериями эффективности вычислительных систем являются: пропускная способность -

Мультипрограммирование

Главными критериями эффективности вычислительных систем являются:
пропускная способность - количество задач,

выполняемых вычислительной системой в единицу времени;
Слайд 8

Мультипрограммирование удобство работы пользователей: например, пользователи имеют возможность интерактивно работать

Мультипрограммирование

удобство работы пользователей: например, пользователи имеют возможность интерактивно работать одновременно с

несколькими приложениями на одной машине;
Слайд 9

Мультипрограммирование реактивность системы - способность системы выдерживать заранее заданные интервалы

Мультипрограммирование

реактивность системы - способность системы выдерживать заранее заданные интервалы времени между

запуском программы и получением результата.
Слайд 10

Мультипрограммирование По способу организации мультипрограммирования ОС делятся на системы: пакетной обработки разделения времени реального времени

Мультипрограммирование

По способу организации мультипрограммирования ОС делятся на системы:
пакетной обработки
разделения

времени
реального времени
Слайд 11

Системы пакетной обработки

Системы пакетной обработки

Слайд 12

Системы пакетной обработки Системы пакетной обработки предназначаются для решения задач

Системы пакетной обработки

Системы пакетной обработки предназначаются для решения задач в основном

вычислительного характера, не требующих быстрого получения результатов.
Слайд 13

Системы пакетной обработки Главной целью и критерием эффективности систем пакетной

Системы пакетной обработки

Главной целью и критерием эффективности систем пакетной обработки является

максимальная пропускная способность, то есть решение максимального числа задач в единицу времени.
Слайд 14

Системы пакетной обработки При работе ИС задачи часто приостанавливаются по

Системы пакетной обработки

При работе ИС задачи часто приостанавливаются по внутренним

причинам, связанным, например, с ожиданием ввода данных для обработки.
Слайд 15

Системы пакетной обработки Данные могут храниться на диске, поступать от

Системы пакетной обработки

Данные могут храниться на диске, поступать от человека,

работающего за терминалом или от измерительной аппаратуры.
Слайд 16

Системы пакетной обработки При возникновении таких блокировок выполняемой задачи применяется

Системы пакетной обработки

При возникновении таких блокировок выполняемой задачи применяется переключение процессора

на выполнение другой задачи, у которой есть данные для обработки.
Слайд 17

Системы пакетной обработки Эта концепция мультипрограммирования положена в основу пакетных систем.

Системы пакетной обработки

Эта концепция мультипрограммирования положена в основу пакетных систем.

Слайд 18

Системы пакетной обработки Для этого в системах пакетной обработки формируется

Системы пакетной обработки

Для этого в системах пакетной обработки формируется пакет заданий.
Каждое

задание содержит требование к системным ресурсам, из этого пакета формируется мультипрограммная смесь, то есть множество «одновременно» выполняемых задач.
Слайд 19

Системы пакетной обработки Для «одновременного» выполнения выбираются задачи, предъявляющие разные

Системы пакетной обработки

Для «одновременного» выполнения выбираются задачи, предъявляющие разные требования к

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

Системы пакетной обработки Например, в мультипрограммной смеси желательно одновременное присутствие

Системы пакетной обработки

Например, в мультипрограммной смеси желательно одновременное присутствие вычислительных задач

и задач с интенсивным вводом-выводом.
Слайд 21

Системы пакетной обработки Таким образом, выбор нового задания из пакета

Системы пакетной обработки

Таким образом, выбор нового задания из пакета заданий зависит

от внутренней ситуации, складывающейся в системе, то есть выбирается «возможное выгодное» задание.
Слайд 22

Системы пакетной обработки Следовательно, в вычислительных системах, работающих под управлением

Системы пакетной обработки

Следовательно, в вычислительных системах, работающих под управлением пакетных ОС,

невозможно гарантировать выполнение того или иного задания в течение определенного периода времени.
Слайд 23

Системы пакетной обработки Совмещение операций ввода-вывода и вычислений может достигаться разными способами.

Системы пакетной обработки

Совмещение операций ввода-вывода и вычислений может достигаться разными

способами.
Слайд 24

Организация операций ввода-вывода в вычислительных системах

Организация операций ввода-вывода в вычислительных системах

Слайд 25

Системы пакетной обработки Специализированный процессор ввода-вывода. В компьютерах класса мэйнфреймов такие процессоры называют каналами.

Системы пакетной обработки

Специализированный процессор ввода-вывода.
В компьютерах класса мэйнфреймов такие процессоры

называют каналами.
Слайд 26

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

Системы пакетной обработки

Канал имеет систему команд, отличающуюся от системы команд центрального

процессора.
Слайд 27

Системы пакетной обработки Команды канала специально предназначены для управления внешними

Системы пакетной обработки

Команды канала специально предназначены для управления внешними устройствами, например

«проверить состояние устройства», «установить магнитную головку», «установить начало листа», «напечатать строку».
Слайд 28

Системы пакетной обработки Канальные программы могут храниться в той же оперативной памяти, что и программы ЦП.

Системы пакетной обработки

Канальные программы могут храниться в той же оперативной памяти,

что и программы ЦП.
Слайд 29

Системы пакетной обработки Центральный процессор и канал работают параллельно.

Системы пакетной обработки

Центральный процессор и канал работают параллельно.

Слайд 30

Системы пакетной обработки Компьютеры с управлением контроллерами внешних устройств.

Системы пакетной обработки

Компьютеры с управлением контроллерами внешних устройств.

Слайд 31

Системы пакетной обработки Каждое внешнее устройство (или группа внешних устройств

Системы пакетной обработки

Каждое внешнее устройство (или группа внешних устройств одного типа)

имеет свой собственный контроллер, который автономно отрабатывает команды, поступающие от ЦП.
Слайд 32

Системы пакетной обработки При этом контроллер и центральный процессор работают

Системы пакетной обработки

При этом контроллер и центральный процессор работают асинхронно, поскольку

многие внешние устройства включают электромеханические узлы, контроллер выполняет свои команды управления устройствами существенно медленнее, чем ЦП.
Слайд 33

Системы пакетной обработки Это используется для организации параллельного выполнения вычислений

Системы пакетной обработки

Это используется для организации параллельного выполнения вычислений и операций

ввода-вывода: в промежутке между передачей команд контроллеру ЦП может выполнять вычисления.
Слайд 34

Системы пакетной обработки Контроллер может «сообщить» ЦП о том, что

Системы пакетной обработки

Контроллер может «сообщить» ЦП о том, что он готов

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

Системы пакетной обработки

Системы пакетной обработки

Слайд 36

Системы пакетной обработки Пока одна задача ожидает какого-либо события (завершение

Системы пакетной обработки

Пока одна задача ожидает какого-либо события (завершение ввода-вывода, наступление

определенного момента времени, разблокирование файла или загрузка с диска недостающей страницы программы), процессор выполняет другую задачу.
Слайд 37

Системы разделения времени

Системы разделения времени

Слайд 38

Системы разделения времени В системах разделения времени пользователям (или одному

Системы разделения времени

В системах разделения времени пользователям (или одному пользователю)

предоставляется возможность интерактивной работы сразу с несколькими приложениями.
Слайд 39

Системы разделения времени Каждое приложение должно регулярно получать возможность «общения»

Системы разделения времени

Каждое приложение должно регулярно получать возможность «общения» с пользователем.


Для этого ОС принудительно периодически приостанавливает приложения, не дожидаясь, когда они добровольно освободят процессор.
Слайд 40

Системы разделения времени Всем приложениям попеременно выделяется квант процессорного времени,

Системы разделения времени

Всем приложениям попеременно выделяется квант процессорного времени, таким образом

пользователи, запустившие программы на выполнение, получают возможность поддерживать с ними диалог.
Слайд 41

Системы разделения времени Так как в системах разделения времени каждой

Системы разделения времени

Так как в системах разделения времени каждой задаче выделяется

только квант процессорного времени, задачи не занимают процессор надолго.
Слайд 42

Системы разделения времени Поскольку квант выбирается небольшим, то у всех

Системы разделения времени

Поскольку квант выбирается небольшим, то у всех пользователей, одновременно

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

Системы разделения времени Системы разделения времени обладают меньшей пропускной способностью,

Системы разделения времени

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

пакетной обработки, так как на выполнение принимается каждая запущенная пользователем задача, а не та, которая «выгодна» системе.
Слайд 44

Системы разделения времени Кроме того, производительность системы снижается из-за более

Системы разделения времени

Кроме того, производительность системы снижается из-за более частого переключение

процессора с задачи на задачу.
Слайд 45

Системы разделения времени Это соответствует тому, что критерием эффективности систем

Системы разделения времени

Это соответствует тому, что критерием эффективности систем разделения времени

является не максимальная пропускная способность, а удобство и эффективность работы пользователя.
Слайд 46

Системы реального времени

Системы реального времени

Слайд 47

Системы реального времени Системы реального времени, предназначаются для управления техническими

Системы реального времени

Системы реального времени, предназначаются для управления техническими объектами

(например, станком, спутником, научной экспериментальной установкой и т. п.) или технологическими процессами (гальванической линией, доменным процессом и т. п.).
Слайд 48

Системы реального времени При таком управлении существует понятие предельно допустимого

Системы реального времени

При таком управлении существует понятие предельно допустимого времени, в

течение которого должна быть выполнена та или иная управляющая объектом программа.
Слайд 49

Системы реального времени В противном случае может произойти авария: спутник

Системы реального времени

В противном случае может произойти авария: спутник выйдет из

зоны видимости, данные, поступающие с датчиков, будут потеряны, толщина гальванического покрытия не будет соответствовать норме и т.п.
Слайд 50

Системы реального времени Т.О., критерием эффективности здесь является способность выдерживать

Системы реального времени

Т.О., критерием эффективности здесь является способность выдерживать заранее заданные

интервалы времени между запуском программы и получением результата (управляющего воздействия).
Слайд 51

Системы реального времени Это время называется временем реакции системы, а соответствующее свойство системы — реактивностью.

Системы реального времени

Это время называется временем реакции системы, а соответствующее свойство

системы — реактивностью.
Слайд 52

Системы реального времени В системах реального времени мультипрограммная смесь представляет

Системы реального времени

В системах реального времени мультипрограммная смесь представляет собой фиксированный

набор заранее разработанных программ, а выбор программы на выполнение осуществляется или по прерываниям (исходя из текущего состояния объекта) или в соответствии с расписанием запланированных работ.
Слайд 53

Системы реального времени Способность аппаратуры компьютера и ОС к быстрому

Системы реального времени

Способность аппаратуры компьютера и ОС к быстрому ответу зависит

от скорости переключения с одной задачи на другую и от скорости обработки сигналов прерывания.
Слайд 54

Системы реального времени Время обработки прерывания в системах реального времени

Системы реального времени

Время обработки прерывания в системах реального времени определяет требования

к производительности процессора даже при небольшой его загрузке.
Слайд 55

Системы реального времени Если при возникновении прерывания процессор должен опросить

Системы реального времени

Если при возникновении прерывания процессор должен опросить сотни потенциальных

источников прерывания, то реакция системы будет слишком медленной.
Слайд 56

Системы реального времени В системах реального времени не стремятся максимально

Системы реального времени

В системах реального времени не стремятся максимально загружать все

устройства, наоборот, при проектировании ИС обычно закладывается резерв вычислительной мощности на случай пиковой нагрузки.
Слайд 57

Системы реального времени Например, в системе управления атомной электростанцией в

Системы реального времени

Например, в системе управления атомной электростанцией в случае возникновения

крупной аварии атомного реактора многие аварийные датчики сработают одновременно и создадут повышенную нагрузку.
Слайд 58

Системы реального времени Если система реального времени не спроектирована для

Системы реального времени

Если система реального времени не спроектирована для поддержки пиковой

нагрузки, то может случиться так, что система не справится с работой именно тогда, когда она нужна в наибольшей степени.
Слайд 59

Системы реального времени Основной особенностью таких систем является строго регламентированное время отклика на внешние события.

Системы реального времени

Основной особенностью таких систем является строго регламентированное время отклика

на внешние события.
Слайд 60

Системы реального времени Другим важным параметром является «одновременная» обработка -

Системы реального времени

Другим важным параметром является «одновременная» обработка - даже если одновременно

происходит несколько событий, реакция системы на них не должна запаздывать.
Слайд 61

Системы реального времени Компьютеры для управления самолетами, ядерными реакторами и

Системы реального времени

Компьютеры для управления самолетами, ядерными реакторами и подобными сложными

системами обычно работают под управлением специализированных ОС реального времени.
Слайд 62

Системы реального времени ОС реального времени принято делить на два класса: жесткого и мягкого реального времени.

Системы реального времени

ОС реального времени принято делить на два класса: жесткого

и мягкого реального времени.
Слайд 63

Системы реального времени Признаки систем жёсткого реального времени: недопустимость никаких

Системы реального времени

Признаки систем жёсткого реального времени:
недопустимость никаких задержек

ни при каких условиях;
бесполезность результатов при опоздании;
катастрофа при задержке реакции;
цена опоздания бесконечно велика.
Слайд 64

Системы реального времени Пример системы жесткого реального времени — бортовая

Системы реального времени

Пример системы жесткого реального времени — бортовая система управления самолетом.

Среди систем с жестким реальным временем можно выделить распространённую коммерческую операционную систему QNX, которая основывается на UNIX.
Слайд 65

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

Системы реального времени

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

результатов не возникает катастрофических последствий;
снижение производительности системы, вызванное запаздыванием реакций, приемлемо.
Слайд 66

Системы реального времени ОС мягкого реального времени могут использоваться в

Системы реального времени

ОС мягкого реального времени могут использоваться в мобильных и

коммуникационных системах — там, где цена опоздания не так велика.
Слайд 67

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

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

Слайд 68

Мультипроцессорная обработка Мультипроцессорная обработка — это способ организации вычислительного процесса

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

Мультипроцессорная обработка — это способ организации вычислительного процесса в системах

с несколькими процессорами, при котором несколько задач (процессов, потоков) могут одновременно выполняться на разных процессорах системы.
Слайд 69

Мультипроцессорная обработка Мультипроцессорная обработка отличается от мультипрограммной обработки.

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

Мультипроцессорная обработка отличается от мультипрограммной обработки.

Слайд 70

Мультипроцессорная обработка В мультипрограммных системах параллельная работа разных устройств позволяет

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

В мультипрограммных системах параллельная работа разных устройств позволяет одновременно

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

Мультипроцессорная обработка В мультипроцессорных системах несколько задач выполняются действительно одновременно,

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

В мультипроцессорных системах несколько задач выполняются действительно одновременно, так как

имеется несколько обрабатывающих устройств — процессоров.
Слайд 72

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

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

Мультипроцессирование не исключает мультипрограммирования: на каждом из процессоров может

попеременно выполняться некоторый закрепленный за данным процессором набор задач.
Слайд 73

Мультипроцессорная обработка Функции мультипроцессорной обработки данных имеются во всех популярных

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

Функции мультипроцессорной обработки данных имеются во всех популярных ОС, таких

как Sun Solaris 2.x, Santa Crus Operations Open Server 3.x, IBM OS/2, Microsoft Windows NT и Novell NetWare, начиная с 4.1.
Слайд 74

Планирование процессов и потоков

Планирование процессов и потоков

Слайд 75

Потоки и процессы

Потоки и процессы

Слайд 76

Потоки и процессы Потоки и процессы — это связанные понятия

Потоки и процессы

Потоки и процессы — это связанные понятия в вычислительной

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

Потоки и процессы Процессы существуют в ОС и соответствуют тому,

Потоки и процессы

Процессы существуют в ОС и соответствуют тому, что пользователи

видят как программы или приложения.
Слайд 78

Потоки и процессы Поток, с другой стороны, существует внутри процесса,

Потоки и процессы

Поток, с другой стороны, существует внутри процесса, по этой

причине потоки иногда называются "облегченные процессы".
Каждый процесс состоит из одного или более потоков.
Слайд 79

Процессы и потоки Потоки выполнения (англ. Thread — нить) отличаются

Процессы и потоки

Потоки выполнения (англ. Thread — нить) отличаются от процессов многозадачной

ОС тем, что:
процессы независимы, тогда как потоки существуют как составные элементы процессов ;
Слайд 80

Процессы и потоки несколько потоков выполнения внутри процесса совместно используют

Процессы и потоки

несколько потоков выполнения внутри процесса совместно используют информацию о

состоянии, а также память и другие вычислительные ресурсы процесса;
Слайд 81

Процессы и потоки процессы имеют отдельные адресные пространства, тогда как

Процессы и потоки

процессы имеют отдельные адресные пространства, тогда как потоки выполнения

совместно используют адресное пространство процессов;
Слайд 82

Процессы и потоки процессы взаимодействуют только через предоставляемые ОС механизмы связей между процессами;

Процессы и потоки

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

процессами;
Слайд 83

Процессы и потоки переключение контекста между потоками выполнения в одном

Процессы и потоки

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

быстрее, чем переключение контекста между процессами.
Слайд 84

Процесс содержащий два потока выполнения

Процесс содержащий два потока выполнения

Слайд 85

Потоки и процессы Существование нескольких процессов позволяет компьютеру "одновременно" выполнять несколько задач.

Потоки и процессы

Существование нескольких процессов позволяет компьютеру "одновременно" выполнять несколько задач.


Слайд 86

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

Потоки и процессы

Существование нескольких потоков позволяет разделять работу процесса для параллельного

выполнения.
Слайд 87

Потоки и процессы На многопроцессорном компьютере процессы или потоки могут

Потоки и процессы

На многопроцессорном компьютере процессы или потоки могут работать на

разных процессорах.
Это позволяет выполнять параллельную работу.
Слайд 88

Потоки и процессы Возникающие проблемы синхронизации являются причиной ошибок в

Потоки и процессы

Возникающие проблемы синхронизации являются причиной ошибок в многопоточных приложениях:


Один поток может ожидать результата другого потока;
одному потоку может понадобиться монопольный доступ к ресурсу, который используется другим потоком;
Слайд 89

Потоки и процессы Поток может закончиться, ожидая ресурс, который никогда

Потоки и процессы

Поток может закончиться, ожидая ресурс, который никогда не будет

доступен.
Это состояние называется взаимоблокировкой.
Слайд 90

Планирование процессов и потоков Одной из основных подсистем ОС, является

Планирование процессов и потоков

Одной из основных подсистем ОС, является подсистема управления

процессами и потоками, которая
занимается их созданием и уничтожением,
поддерживает взаимодействие между ними,
распределяет процессорное время между несколькими одновременно существующими в системе процессами и потоками.
Слайд 91

Планирование процессов и потоков ОС для реализации мультипрограммирования выполняет планирование

Планирование процессов и потоков

ОС для реализации мультипрограммирования выполняет планирование и диспетчеризацию

потоков (в ОС, не поддерживающих потоков, — диспетчеризацию процессов).
Слайд 92

Планирование процессов и потоков Планирование включает определение момента времени для

Планирование процессов и потоков

Планирование включает определение момента времени для смены текущего

потока, а также выбор нового потока для выполнения.
Слайд 93

Планирование процессов и потоков Диспетчеризация заключается в реализации найденного в

Планирование процессов и потоков

Диспетчеризация заключается в реализации найденного в результате планирования

решения, то есть в переключении процессора с одного потока на другой.
Слайд 94

Планирование процессов и потоков Планирование бывает динамическим, когда решения принимаются

Планирование процессов и потоков

Планирование бывает динамическим, когда решения принимаются во время

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

Планирование процессов и потоков Динамический планировщик ОС может реализовывать различные

Планирование процессов и потоков

Динамический планировщик ОС может реализовывать различные алгоритмы планирования,

которые делятся на классы:
вытесняющие алгоритмы
невытесняющие алгоритмы
алгоритмы квантования
приоритетные алгоритмы.
Слайд 96

Планирование процессов и потоков Используемый алгоритм планирования зависит от назначения

Планирование процессов и потоков

Используемый алгоритм планирования зависит от назначения ОС.
Применяются

также смешанные алгоритмы, объединяющие достоинства нескольких классов.
Слайд 97

Планирование процессов и потоков Невытесняющие (non-preemptive) алгоритмы основаны на том,

Планирование процессов и потоков

 Невытесняющие (non-preemptive) алгоритмы основаны на том, что активному

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

Планирование процессов и потоков Вытесняющие (preemptive) алгоритмы - решение о

Планирование процессов и потоков

 Вытесняющие (preemptive) алгоритмы - решение о переключении процессора

с выполнения одного потока на выполнение другого потока принимается ОС, а не активной задачей.
Слайд 99

Планирование процессов и потоков В основе многих вытесняющих алгоритмов планирования лежит концепция квантования.

Планирование процессов и потоков

В основе многих вытесняющих алгоритмов планирования лежит концепция

квантования.
Слайд 100

Планирование процессов и потоков В соответствии с этой концепцией каждому

Планирование процессов и потоков

В соответствии с этой концепцией каждому потоку поочередно

для выполнения предоставляется ограниченный непрерывный период процессорного времени - квант.
Слайд 101

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

Планирование процессов и потоков

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

покинул систему;
 произошла ошибка;
 поток перешел в состояние ожидания;
 исчерпан квант процессорного времени, отведенный данному потоку.
Слайд 102

Вытесняющий алгоритм

Вытесняющий алгоритм

Слайд 103

Планирование процессов и потоков Поток, который исчерпал свой квант, переводится

Планирование процессов и потоков

Поток, который исчерпал свой квант, переводится в состояние

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

Планирование процессов и потоков Другой важной концепцией, лежащей в основе

Планирование процессов и потоков

Другой важной концепцией, лежащей в основе многих вытесняющих

алгоритмов планирования, является приоритетное обслуживание (приоритетный алгоритм).
Слайд 105

Планирование процессов и потоков Приоритетное обслуживание предполагает наличие у потоков

Планирование процессов и потоков

Приоритетное обслуживание предполагает наличие у потоков некоторой изначально

известной характеристики — приоритета, на основании которой определяется порядок их выполнения.
Слайд 106

Планирование процессов и потоков Приоритет - это число, характеризующее «важность»

Планирование процессов и потоков

Приоритет - это число, характеризующее «важность» потока при

использовании ресурсов вычислительной машины (в частности процессорного времени): чем выше приоритет, тем выше привилегии, тем меньше времени будет проводить поток в очередях.
Слайд 107

Планирование процессов и потоков В большинстве ОС, поддерживающих потоки, приоритет

Планирование процессов и потоков

В большинстве ОС, поддерживающих потоки, приоритет потока непосредственно

связан с приоритетом процесса, в рамках которого выполняется данный поток.
Слайд 108

Планирование процессов и потоков Приоритет процесса назначается ОС при его

Планирование процессов и потоков

Приоритет процесса назначается ОС при его создании.
Значение

приоритета включается в описатель процесса и используется при назначении приоритета потокам этого процесса.
Слайд 109

Стандарты POSIX

Стандарты POSIX

Слайд 110

Стандарт POSIX POSIX Threads — стандарт реализации потоков (нитей) выполнения,

Стандарт POSIX

POSIX Threads — стандарт реализации потоков (нитей) выполнения, определяющий API для

создания и управления ими.
Слайд 111

Что такое API Интерфейс программирования приложений (иногда интерфейс прикладного программирования)

Что такое API

Интерфейс программирования приложений (иногда интерфейс прикладного программирования) (англ. application programming

interface, API [эй-пи-ай]) — набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах.
Используется программистами для написания всевозможных приложений.
Слайд 112

POSIX® POSIX® (Portable Operating System Interface for Unix — Переносимый

POSIX®

POSIX® (Portable Operating System Interface for Unix — Переносимый интерфейс операционных систем

Unix) — набор стандартов, описывающих интерфейсы между ОС и прикладной программой.
Слайд 113

POSIX® Стандарт создан для обеспечения совместимости различных UNIX-подобных ОС и

POSIX®

Стандарт создан для обеспечения совместимости различных UNIX-подобных ОС и переносимости прикладных

программ на уровне исходного кода, но может быть использован и для не-Unix систем.
Слайд 114

POSIX® Серия стандартов POSIX была разработана комитетом 1003 IEEE. Международная

POSIX®

Серия стандартов POSIX была разработана комитетом 1003 IEEE.
Международная организация по

стандартизации (ISOМеждународная организация по стандартизации (ISO) совместно c Международной электротехнической комиссией (IEC) приняли данный стандарт (POSIX) под названием ISO/IEC 9945.
Слайд 115

POSIX® Название «POSIX» было предложено Ричардом Столлманом. Введение в POSIX.1

POSIX®

Название «POSIX» было предложено Ричардом Столлманом.
Введение в POSIX.1 гласит: «Ожидается

произношение „поз-икс“ как „позитив“, а не „по-сикс“. Произношение опубликовано в целях обнародования стандартного способа ссылки на стандартный интерфейс операционной системы».
«POSIX» является зарегистрированным товарным знаком IEEE.
Слайд 116

Стандарт POSIX Библиотеки, реализующие этот стандарт (и функции этого стандарта),

Стандарт POSIX

Библиотеки, реализующие этот стандарт (и функции этого стандарта), обычно называются

Pthreads (функции имеют приставку «pthread_»).
Ниболее известны варианты для Unix-подобных ОС, таких как Linux или Solaris, но существует и реализация для Microsoft Windows (Pthreads-w32)
Pthreads определяет набор типов и функций на языке программирования Си.
Слайд 117

Система прерываний

Система прерываний

Слайд 118

Система прерываний Прерывание ( interrupt) — сигнал, сообщающий процессору о наступлении какого-либо события.

Система прерываний

Прерывание ( interrupt) — сигнал, сообщающий процессору о наступлении какого-либо события.

Слайд 119

Система прерываний Выполнение текущей последовательности команд приостанавливается и управление передаётся

Система прерываний

Выполнение текущей последовательности команд приостанавливается и управление передаётся обработчику прерывания,

который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный процесс.
Слайд 120

Система прерываний В зависимости от источника возникновения сигнала прерывания делятся

Система прерываний

В зависимости от источника возникновения сигнала прерывания делятся на:
асинхронные или

внешние (аппаратные) — события, которые исходят от внешних источников (например, периферийных устройств)
Слайд 121

Система прерываний Такие прерывания могут произойти в любой произвольный момент:

Система прерываний

Такие прерывания могут произойти в любой произвольный момент: сигнал от

таймера, сетевой карты или дискового накопителя, нажатие клавиш клавиатуры, движение мыши.
Факт возникновения в системе такого прерывания называется запрос на прерывание (Interrupt request, IRQ);
Слайд 122

Система прерываний синхронные или внутренние — события в самом процессоре

Система прерываний

синхронные или внутренние — события в самом процессоре как результат нарушения

каких-то условий при исполнении машинного кода: деление на ноль или переполнение, обращение к недопустимым адресам или недопустимый код операции;
Слайд 123

Система прерываний программные (частный случай внутреннего прерывания) — инициируются исполнением специальной инструкции в коде программы.

Система прерываний

программные (частный случай внутреннего прерывания) — инициируются исполнением специальной инструкции в

коде программы.
Слайд 124

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

Система прерываний

Программные прерывания используются для обращения к функциям встроенного программного обеспечения

(firmware), драйверов и ОС.
Слайд 125

Система прерываний Прерывания являются основной движущей силой любой ОС.

Система прерываний

Прерывания являются основной движущей силой любой ОС.

Слайд 126

Система прерываний Прерывания от таймера вызывают смену процессов в мультипрограммной

Система прерываний

Прерывания от таймера вызывают смену процессов в мультипрограммной ОС, а

прерывания от устройств ввода-вывода управляют потоками данных, которыми вычислительная система обменивается с внешним миром.
Слайд 127

Система прерываний Механизм прерываний поддерживается аппаратными средствами компьютера и программными

Система прерываний

Механизм прерываний поддерживается аппаратными средствами компьютера и программными средствами ОС

и состоит из след. действий:
Слайд 128

Система прерываний При возникновении сигнала (для аппаратных прерываний) или условия

Система прерываний

При возникновении сигнала (для аппаратных прерываний) или условия (для внутренних

прерываний) прерывания происходит первичное аппаратное распознавание типа прерывания.
Слайд 129

Система прерываний Если прерывание данного типа в настоящий момент запрещены

Система прерываний

Если прерывание данного типа в настоящий момент запрещены (маскированы), то

процессор игнорирует его и продолжает естественный ход выполнения команд.
Слайд 130

Система прерываний Иначе происходит автоматический вызов процедуры обработки прерывания, адрес

Система прерываний

Иначе происходит автоматический вызов процедуры обработки прерывания, адрес которой находится

в специальной таблице ОС, размещаемой либо в регистрах процессора, либо в определенном месте ОЗУ.
Слайд 131

Система прерываний Автоматически сохраняется контекст прерванного потока (значения счетчика команд,

Система прерываний

Автоматически сохраняется контекст прерванного потока (значения счетчика команд, слова состояния

машины, а также регистров общего назначения), который позволит ОС возобновить исполнение этого потока после обработки прерывания.
Слайд 132

Система прерываний Может быть сохранен и полный контекст процесса, если

Система прерываний

Может быть сохранен и полный контекст процесса, если ОС обслуживает

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

Система прерываний Решение о перепланировании процессов может быть принято в

Система прерываний

Решение о перепланировании процессов может быть принято в ходе обработки

прерывания, например, если это прерывание от таймера и после наращивания значения системных часов выясняется, что процесс исчерпал выделенный ему квант времени.
Слайд 134

Система прерываний Прерывание может выполняться и без смены процесса, например,

Система прерываний

Прерывание может выполняться и без смены процесса, например, прием очередной

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

Система прерываний Одновременно с загрузкой адреса процедуры обработки прерываний в

Система прерываний

Одновременно с загрузкой адреса процедуры обработки прерываний в счетчик

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

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

Система прерываний

Прерывания практически во всех мультипрограммных ОС обрабатываются в привилегированном режиме

модулями ядра.
Слайд 137

Система прерываний Временно запрещаются прерывания данного типа, чтобы не образовалась

Система прерываний

Временно запрещаются прерывания данного типа, чтобы не образовалась очередь вложенных

друг в друга потоков одной и той же процедуры.
Слайд 138

Система прерываний После того как прерывание обработано ядром ОС, прерванный

Система прерываний

После того как прерывание обработано ядром ОС, прерванный контекст

восстанавливается и работа потока возобновляется с прерванного места.
Слайд 139

Система прерываний Часть контекста восстанавливается аппаратно по команде возврата из

Система прерываний

Часть контекста восстанавливается аппаратно по команде возврата из прерываний (например,

адрес следующей команды и слово состояния машины), а часть — программным способом, с помощью явных команд извлечения данных из стека.
Слайд 140

Система прерываний При возврате из прерывания блокировка повторных прерываний данного типа снимается.

Система прерываний

При возврате из прерывания блокировка повторных прерываний данного типа снимается.


Слайд 141

Система прерываний Существуют два способа обработки прерывания: векторный (vectored), когда

Система прерываний

 Существуют два способа обработки прерывания:
векторный (vectored), когда в процессор

передается номер вызываемой процедуры обработки прерывания,
опрашиваемый (polled), когда процессор вынужден последовательно опрашивать потенциальные источники прерывания.
Слайд 142

Система прерываний Для упорядочивания процессов обработки прерываний применяется система приоритетов:

Система прерываний

 Для упорядочивания процессов обработки прерываний применяется система приоритетов: прерывания распределяются

по нескольким приоритетным уровням, а роль арбитра выполняет диспетчер прерываний ОС.
Слайд 143

Система прерываний Для синхронизации процессов и потоков, решающих общие задачи

Система прерываний

Для синхронизации процессов и потоков, решающих общие задачи и совместно

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

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

Система прерываний

Отсутствие синхронизации может приводить к таким нежелательным последствиям, как гонки

и тупики.
Имя файла: Операционные-системы-1.pptx
Количество просмотров: 64
Количество скачиваний: 0