761.78K

Ресурсы и процессы в ОС

1.

Ресурсы и
процессы в ОС

2.

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

3.

Программа - план действий
Процесс — это собственно действие.
Понятие процесса включает:
— программный код;
— данные;
— содержимое стека;
— содержимое адресного и других регистров процессора.
Для одной программы могут быть созданы несколько процессов в том
случае, если с помощью одной программы в CPU выполняется
несколько несовпадающих последовательностей команд.
За время существования
состояние.
процесс
многократно
Процесс и программа
изменяет
свое

4.


Состояния процессов при исполнении
на процессоре
порождение – подготовка для первого исполнения на процессоре;
• активное состояние, или состояние “Счет” – программа исполняется на
процессоре;
• ожидание – программа не исполняется на процессоре по причине
занятости какого-либо требуемого ресурса;
• готовность – программа не исполняется, но для исполнения
предоставлены все необходимые в текущий момент ресурсы, кроме
центрального процессора;
• окончание – нормальное или аварийное окончание исполнения
программы, после которого процессор и другие ресурсы ей не
предоставляются.

5.

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

6.

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

7.

Классификация процессов
По временным характеристикам :
интерактивные
время
существования
интерактивного процесса определяется реакцией
ЭВМ на запрос обслуживания и составляет
секунды.
пакетные процессы - запускаются один вслед за
другим и здесь время реакции минуты и даже
часы.
процессы
реального
времени
имеют
гарантированное время окончания работы и время
реакции порядка миллисекунд (мс).

8.

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

9.

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

10.

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

11.

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

12.

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

13.

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

14.

Понятие ресурса в ОС
Концепция процесса преследует цель выработки
механизма распределения и управления ресурсами.
При разработке первых систем ресурсами
считались:
• процессорное время,
• память,
• каналы ввода-вывода,
• периферийные устройства.
Сейчас данный список расширился.

15.

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

16.

Важнейшие ресурсы:
Процессор (для многопроцессорных систем) процессорное
время (для однопроцессорных)
Память и доступ к памяти
Внешние устройства
Программные модули
Данные (переменные в ОЗУ или файлы)

17.

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

18.

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

19.

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

20.

В операционной системе Windows существует файл подкачки, в котором
временно сохраняются процессы, для которых не хватает места в оперативной
памяти компьютера. Имеется возможность настроить режим работы этого файла.
Размер файла подкачки в 2-4 раза больше объема физической оперативной
памяти компьютера
Виртуальная память. Основная идея этого подхода состоит в том, что хотя общий
размер программы, данных и стека может превышать объем доступной
физической памяти, операционная система хранит части программы,
используемые в настоящий момент, в оперативной памяти, остальные – на диске.
Когда программа ждет перемещения в память очередной ее части, она находится
в состоянии ожидания ввода-вывода и не работает, поэтому центральный
процессор может быть отдан другому процессу тем же самым способом, как в
любой другой многозадачной системе.
Адреса виртуальной памяти формируются программным путем с использованием
для этой цели специальных регистров (базовых или сегментных). Программно
формируемые адреса, называемые виртуальными, образуют виртуальное
адресное пространство.

21.

При
применении виртуальной памяти виртуальные
адреса не передаются напрямую шиной памяти. Вместо
этого они направляются в блок управления памятью
(Memory Management Unit, MMU), который отображает
виртуальные адреса на физические адреса .
Большинство систем виртуальной памяти опираются на
прием,
называемый
замещение
страниц
(paging).
Пространство
виртуальных
адресов
разделено
на
единичные
блоки,
называемые
страницами.
Соответствующие блоки в физической памяти называются
страничными блоками (page frame). Размер страниц и их
блоков всегда одинаков.
Передача данных между
происходит постранично.
ОЗУ
и
диском
всегда

22.

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

23.

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

24.

Процессор взаимодействует с регистрами управления и буферами
данных устройств двумя способами. Первый предполагает назначение
каждому регистру номера порта ввода-вывода – 8-ми или 16-ти разрядного
числа. В других компьютерах регистры ввода-вывода являются частью
обычного адресного пространства памяти. Такая организация называется
вводом-выводом с отображением на память.
Каждому регистру управления назначается уникальный адрес памяти, с
которым обычная память не связана.
Процессор, желающий считать слово из регистра, выставляет его
адрес на адресные линии шины, а затем выдает сигнал чтения по линии
управления. Для того чтобы отличить обращение к пространству вводавывода от обращения к памяти, требуется вторая сигнальная линия.
Для управления каждым устройством ввода-вывода, подключенным к
компьютеру, требуется специальная программа. Эта программа,
называемая драйвером устройства

25.

Прерывания
Прерывание – это принудительная передача управления от
выполняемой программы к операционной системе (а через нее – к
соответствующей
программе
обработки
прерываний),
происходящая
при
возникновении
определенного
события.
Механизм прерываний реализуется аппаратно-программными
средствами. Прерывание непременно влечет за собой изменение
порядка выполнения команд процессором.
Функции механизма прерываний :
1. распознавание прерываний;
2. передача управления соответствующему обработчику
прерываний;
3. корректное возвращение к прерванной программе.

26.

Прерывания бывают внешние (асинхронные), внутренние (синхронные),
программные прерывания.
Внешние прерывания – это:
1.
прерывания от таймера;
2.
прерывания от внешних устройств (прерывания по вводу-выводу);
3.
прерывания по нарушению питания;
4.
прерывания с пульта оператора вычислительной системы;
5.
прерывания от другого процессора или другой вычислительной системы.
Внутренние прерывания вызываются событиями, которые связаны с работой
процессора и являются синхронными с его операциями.
Программные прерывания. Эти прерывания происходят по соответствующей
команде прерываний
Процессор может обладать средствами защиты от прерываний: отключение
системы прерываний, маскирование (запрет) отдельных сигналов прерывания.
English     Русский Правила