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

Содержание

Слайд 2

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

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

Слайд 3

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

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

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

Слайд 4

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

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

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

Слайд 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

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

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

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

Слайд 38

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

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

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

Слайд 39

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

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

Слайд 40

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

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

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

Слайд 41

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

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

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

Слайд 42

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

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

Мультипроцессорная обработка Функции мультипроцессорной обработки данных имеются во всех популярных ОС: Sun
2.x, Santa Crus Operations Open Server 3.x, IBM OS/2, Microsoft Windows NT и Novell NetWare, начиная с 4.1.

Слайд 43

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

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

Слайд 44

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

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

Слайд 45

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

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

Потоки и процессы Потоки и процессы — это связанные понятия в вычислительной
Оба понятия представляют из себя последовательность инструкций, которые должны выполняться в определенном порядке.

Слайд 46

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

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

Потоки и процессы Поток, с другой стороны, существует внутри процесса, по этой
потоки иногда называются "облегченные процессы".
Каждый процесс состоит из одного или более потоков.

Слайд 47

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

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

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

Слайд 48

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

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

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

Слайд 49

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

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

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

Слайд 50

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

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

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

Слайд 51

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

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

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

Слайд 52

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

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

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

Слайд 53

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

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

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

Это состояние называется взаимоблокировкой.

Слайд 54

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

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

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

Слайд 55

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

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

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

Слайд 56

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

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

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

Слайд 57

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

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

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

Слайд 58

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

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

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

Слайд 59

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

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

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

Слайд 60

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

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

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

Слайд 61

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

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

Планирование процессов и потоков Вытесняющие (preemptive) алгоритмы - решение о переключении процессора
выполнения одного потока на выполнение другого потока принимается ОС, а не активной задачей.

Слайд 62

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

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

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

Слайд 63

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

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

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

Слайд 64

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

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

Слайд 65

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

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

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

Слайд 66

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

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

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