Управление процессами в ос windows презентация

1.

1

2. Тема 3. Управление процессами

2

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

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

4. Процесс

• Процесс –
– Это программа в состоянии выполнения
– Некоторый объект, который выполняется на
процессоре
По сути своей все ПО, которые работает под
управлением ОС на нашем ПК, даже включая
иногда и саму ОС организованно в виде
множества процессов. Процессы это
минимальный примитив, который позволяет
организовать некоторую многозадачность.
• Как исполняемый объект, процесс позволяет
параллельное выполнение нескольких программ в
системе (ЦП переключается между программами)
• Все ПО, работающее на компьютере, включая
саму ОС, организованно в виде множества
4
процессов.

5. Мультизадачность

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

6.

При работе системы
запускается
множество
процессов,
о
которых
пользователь зачастую не
подозревает.
Например:
6

7.

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

8.

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

9.

9

10.

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

11.

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

12.

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

13.

13

14. Процесс – это

Выполняемый код в ОП
Область данных в ОП
Ресурсы
• Файлы
• Другие программы
• Прочие ресурсы
Служебная информация
14

15.

ОС ведет некоторый список процессов
Таблица процессов – на каждый
процесс приходится одна запись в этой
таблице;
Для каждого процесса нужна некая
структура данных, которая содержала
бы в себе все то, что относится к
процессу (некий контекст). Для этого в
ОС в используется
Блок управления процессом
(Process Control Block – PCB) –
который описывает свой процесс,
которому он принадлежит и его текущее
состояние
15

16.

Блок управления процессом (Process Control
Block – PCB).
Данный блок постоянного размера для любого процесса в ОС.
Содержит всю информацию, необходимую для выполнения над
процессом любых действий (приостановки, последующего
восстановления процесса, выгрузки на диск и загрузки с
диска):
Идентификаторы процесса или Номер процесса (так
называемый PID — Process IDentificator)
Информация о пользователе
Состояние процесса
Приоритет которым обладает данные процесс (информация
для планировщика)
Привилегии – доступ к памяти, допустимые инструкции
Информация о виртуальной памяти, присвоенной процессу
Статистическая информация и ограничения (ограничения по
времени выполнения, статистика о затраченном времени ЦП)
Вв/выв – владение ресурсами, открытые файлы, выделенные
устройства.
16

17.

Диспетчер – отправляет процессы на
выполнение, выделяет время ЦП и
переключает ЦП с одного процесса на
другой.
В любой момент времени любой процесс
может находиться в каком-либо состоянии:
Выполнение
Готовность к выполнению
Ожидание освобождения ресурса
Ожидание завершения операции вв/выв.
17

18.

• На протяжении существования процесса его
выполнение может быть многократно
прервано и продолжено.
18

19. Фоновые процессы

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

20. Фоновые процессы

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

21. Фоновые процессы

Фоновые процессы, предназначенные для
обработки какой-либо активной деятельности,
связанной, например, с электронной почтой, вебстраницами, новостями, выводом информации
на печать и т. д., называются демонами. Обычно
у больших систем насчитываются десятки
демонов.
21

22. Создание процессов

1. Инициализация системы.
2. Выполнение работающим процессом
системного вызова, предназначенного для
создания процесса.
3. Запрос пользователя на создание нового
процесса..
22

23.

а
Вычисления
А
А
В
А
Ввод-вывод
В
В
б
Вычисления
Ввод-вывод
Готовность
(ожидание
процесса)
А
B
А
B
B
А
A
B
B
Время выполнения 2-х задач: в однопрограммной системе (а), в
мультипрограммной системе(б)

24. Состояния процесса

24

25. Состояния процесса

процесса;
— активное состояние
— пассивное состояние процесса,
процесс заблокирован;
— также пассивное состояние
процесса.
25

26. Выполнение — активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и выполняется

Состояния процесса
— активное состояние
процесса, во время которого процесс
обладает всеми необходимыми ресурсами
и выполняется процессором.
26

27. Ожидание — процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого

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

28. Готовность — процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него

Состояния процесса
— процесс заблокирован в
связи с внешними по отношению к нему
обстоятельствами: процесс имеет все
требуемые для него ресурсы, он готов
выполняться, однако процессор занят
выполнением другого процесса.
28

29. В состоянии «выполнение» в однопроцессорной системе может находиться только один процесс. А в состояний «ожидание» и

Состояния процесса
В
состоянии
«
»
в
однопроцессорной
системе
может
находиться
только
один
процесс.
А
в
состояний
«
»
и
«
» — может одновременно
находиться несколько процессов и эти
процессы образуют очереди соответственно
ожидающих и готовых процессов.
29

30. В операционных системах совместно работающие процессы могут использовать какое-нибудь общее хранилище данных, доступное каждому

Планирование процессов
1. определение момента времени для смены
выполняемого процесса;
2. выбор процесса на выполнение из очереди
готовых процессов;
3. переключение контекстов «старого» и
«нового» процессов (аппаратно).

31. Планирование процессов

Исходя из трех основных состояний процесса «готов», «выполнение»
«заблокирован» планировщик должен знать, какой процесс находится в
каком состоянии. Все усложняется, если ЦП содержит несколько
вычислительных ядер.
Поэтому в ОС вводятся различные очереди (списки) для планирования
процессов.
Исходя из трех состояний процесса вводятся 3 очереди:
1. Очередь задач: множество всех процессов, которые есть в системе
2. Очередь готовых: множество всех процессов, готовых для выполнения, им
можно в любой момент дать квант процессорного времени и они будут
выполняться.
3. Очередь ожидающих: множество всех заблокированных процессов.
В процессе жизненного цикла процессы перемещаются между этими
32
очередями.

32.

Управление процессами
Поступление
Очередь “готовых “
Диспетчинг
Освобождение
ЦП
Произошло
событие
Таймаут
Очередь “ заблокированных “
Ожидание события
33

33.

Модель состояния процесса 2
диспетчеризация
новый
готов
Событие
произошло
выполняется
таймаут
завершение
Ожидание
события
заблокирован
34

34. Модель состояния процесса 2

Модель состояния процесса №2
Новая модель, состояшая из 5 состояний, очень близка к сегодняшним ОС
1. «Новый» – процесс создан, но он еще не помещен ОС в пул выполняемых
процессов. Создана структура РСВ, но процесс еще не загружен в память
(т.е. создан РСВ и пустое адресное пространство)
2. Если новый процесс принимается ОС, если соблюдается, все права доступа,
то процесс помещается в состояние «Готовность»: процесс полностью готов
к выполнению, т.е. может получить управление и непосредственно начать
работать. Все загружено в память, инициализированы данные, стек, куча.
3. «Выполнение» — процесс исполняется.
4. «Блокировка» — процесс ожидает внешнего события (может быть вв/выв).
5. «Завершение» — процесс удаляется из пула выполненных процессов, он
закончил работу. Процесс помечается как «завершенный». Диспетчер будет
выполнять работу по очистке процесса. На данном этапе проходит работа по
освобождению памяти, закрытию ресурсов процесса (вв/выв, файлов…).35

35. Модель состояния процесса №2

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

36. Задачи динамического планирования, т.е. наиболее эффективного распределения ресурсов, возникающие практически при каждом

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

37. Долгосрочный планировщик решает, какой из процессов, находящихся во входной очереди, должен быть переведен в очередь готовых к

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

38. Краткосрочный планировщик решает, какая из задач, находящихся в очереди готовых к выполнению, должна быть передана на

Основные стратегии планирования:
• по возможности заканчивать вычисления в
том же порядке, в котором он были начаты;
• отдавать предпочтение более коротким
задачам;
• предоставлять всем пользователям
одинаковые услуги, в том числе и одинаковое
время ожидания.

39. Основные стратегии планирования:

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

40. В соответствии с алгоритмами, основанными на квантовании, смена активного процесса происходит, если:

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

41. ОС выполняет следующие функции:

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

42. Операционная система поддерживает обособленность процессов: у каждого процесса имеется свое виртуальное адресное пространство,

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

43. Обособленность нужна для защиты одного процесса от другого, поскольку они, совместно используя все ресурсы машины, конкурируют

Процесс
(физическое представление)
Внизу 0 адрес, сверху максимальный.Макс.
На максимуме расположен стек,
затем куча, которые растут в
противоположных направлениях,
данные и код программы.
Важно понимать, что каждый процесс
обладает своим адресным
пространством. На схеме
виртуальное адресное
пространство начинается в нуля и
заканчивается неким
максимумом, которое состоит из
сегментов : кода, данных и стека.
Стек
Сегмент
стека
Сегмент
данных
куча
данные
0
Код
программы
Сегмент
кода
44

44. Процесс (физическое представление)

При запуске программы (например MS Word) в ОС происходит
следующее:
1. Выделяется место в памяти.
Каждый процесс выполняется в собственном виртуальном
адресном пространстве, которое состоит:
1. Сегмента стека –используется для вызовов функций и
системных вызовов
2. Сегмента данных – переменные статические и динамические,
выделяемые из кучи(все что нужно для работы)
3. Сегмента кода – код программы, обычно предоставляется
доступ «только для чтения»
Запуск одной и той же программы несколько раз порождает новые
процессы, у каждой из которых свое виртуальное адресное
пространство и окружение. Т.е. эта схема будет у каждого запущенного
процесса.
45

45. Процесс (физическое представление)

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

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

47

47.

Этапы создания процесса
Чтобы создать процесс надо:
1) Присвоить уникальный идентификатор новому
процессу
2) Выделить ему место в памяти (для программы,
данных и стека) – физически в памяти выделяются
некоторые страницы (создается образ процесса на
диске)
3) Инициализировать РСВ (блок управления
процессом)
4) Добавить процесс в очередь «готовых» к
выполнению.
48

48.

Потоки
49

49. Потоки

ПОТОКИ (НИТИ)
Процесс состоит как минимум из:
— 1) Адресное пространство (набор инструкций – код программы, данные)
— 2) Состояние процесса выполнения
Характеризуется состоянием регистров ЦП:
— Счетчик команд (регистр IP)
— Указатель стека (SP)
— Др.регистры ЦП

3) Множество ресурсов ОС, которыми процесс владеет в данное время
(открытые файлы, сетевые соединения) .
Все это находится в одном понятии процесса. Но не всегда это хорошо. Для
трех несвязанных между собой процессов надо выделять 3 различные
области.
Приходит на помощь понятие ПОТОК.
50

50. ПОТОКИ (НИТИ)

Потоки нужны для двух вещей – для параллелизма и одновременности.
Параллелизм – это физически одновременное выполнение для достижения
наибольшей производительности (например, между двумя ядрами)
Одновременность – логическое и/или физическое одновременное
выполнение (есть один ЦП, на нем одновременно выполняется несколько
программ – многозадачная ОС).
Потоки нужны в обоих случаях для эффективного использования. В самом
простом варианте, чтобы достичь параллелизма – использование
множества процессов – программы изолированы друг от друга в разных
процессах, поэтому параллелизм есть.
Потоки – другой способ достичь параллелизма. Потоки работают внутри
одного процесса. Все потоки процесса
имеют одно адресное
пространство и те же ресурсы ОС. У каждого потока есть свой стек и свое
состояние ЦП.
51

51. ПОТОКИ (НИТИ)

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

52. Параллелизм

В каждом из этих примеров параллелизма есть общее:
• Один код
• Доступ к одним данным
• Один уровень доступа
• Одно множество ресурсов.
разное:
• Стэк и указатель стэка (регистр SP)
• Счетчик инструкций (регистр IP), указывающий на следующую
инструкцию в коде программы
• Множество регистров ЦП
53

53. Параллелизм

Как достичь параллелизма?
Используя знания о процессах, можно:
• Можно породить сразу несколько процессов
• Заставить каждый из них создавая свое адресное пространство
копировать в него одну и ту же информацию
Неэффективно: Затраты на PCB, таблицы страниц, создание ОС структур
данных, копирование адресного пространства, синхронизировать доступ.
Решение – ввести понятие Потока
Отделить понятие процесса (адресного пространства, ресурсов ОС) от
минимальной нити, потока управления, т.е. состояния стека и регистров
ЦП.
Иногда такое состояние называют «легким» процессом или потоком.
54

54. Параллелизм

Процессы и потоки
Большинство современных ОС поддерживает два объекта:
Процесс, который определяет адресное пространство и общие атрибуты
процесса.
Поток, который определяет последовательный поток выполнения в рамках
процесса.
Поток привязывается к одному процессу (одному адресному пространству)
— Может быть много потоков в одном адресном пространстве
— Легкий доступ к общим данным
— Создание потоков занимает очень мало времени
ПОТОКИ стали единицей планирования ОС
Процессы – всего лишь контейнер, в котором выполняются потоки.
Процесс – это непосредственно контейнер, а поток – это нити выполнения, которые
у него есть внутри.
55

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

Многопоточность
Многопоточность полезна для :
— обработки одновременных событий
— построение параллельных программ.
Поддержка многопоточности – разделение понятие процесса
от минимального потока управления.
— Для параллельного потока выполнения не нужно создавать
новые процессы.
— Работает быстрее, меньше требования к памяти.
Без потоков: «Процесс»= адресное пространство + ресурсы ОС+
подразумевался единственный поток
С потоками: «Процесс»= адресное пространство + ресурсы ОС+
все потоки принадлежащие процессу
56

56. Многопоточность

Отличие потоков от процессов
Отличия
потоков
от
традиционных
многозадачной операционной системы:
процессов
• процессы, как правило, независимы, тогда как потоки
существуют как составные элементы процессов
• процессы несут значительно больше информации о состоянии,
тогда как несколько потоков внутри процесса совместно
используют информацию о состоянии, а также память и другие
вычислительные ресурсы
• процессы имеют отдельные адресные пространства, тогда как
потоки совместно используют их адресное пространство
• процессы взаимодействуют только через предоставляемые
системой механизмы связей между процессами
• переключение контекста между потоками в одном процессе, как
правило, быстрее, чем переключение контекста между
процессами.
• Такие системы, как Windows
и OS/2, как говорят, имеют
«дешёвые» потоки и «дорогие» процессы. В других
операционных системах разница между потоками и процессами
не так велика, за исключением расходов на переключение
адресного пространства.
58

57. Какие бывают потоки?

Стратегии обслуживания процессов
59

58. Отличие потоков от процессов

Дисциплина FCFS (first come – first served)
реализует стратегию обслуживания «по
возможности заканчивать вычисления в
порядке их появления».
Задачи обслуживаются в порядке очереди,
т.е. в порядке их появления.
Задачи, приостановленные для ожидания
какого-либо ресурса, после перехода в
состояние готовности становятся в эту
очередь перед задачами, которые еще не
выполнялись.

59. Стратегии обслуживания процессов

Образуются две очереди:
новые задачи;
ранее выполнявшиеся, но попавшие в
состояние ожидания.

60. Дисциплина FCFS (first come – first served) реализует стратегию обслуживания «по возможности заканчивать вычисления в порядке

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

61. Образуются две очереди:

Дисциплина обслуживания SJN (shortest job
next) требует, чтобы пользователи
указывали предположительное время
выполнения. Диспетчер задач сравнивал
указанное время с реальным временем
выполнения и, если время выполнения
превышало указанное, то помещал это
задание в конец очереди.

62. Дисциплина FCFS не требует внешнего вмешательства в ход вычислений и перераспределения процессорного времени. По классу

Дисциплина обслуживания SRT
(shortest remaining time), основана
на том, что выбираемое на
исполнение задание требует
меньше всего времени для своего
завершения.

63. Дисциплина обслуживания SJN (shortest job next) требует, чтобы пользователи указывали предположительное время выполнения.

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

64. Дисциплина обслуживания SRT (shortest remaining time), основана на том, что выбираемое на исполнение задание требует меньше

Для интерактивной работы надо
обеспечить приемлемое время
реакции системы и равенство в
обслуживании, если система
мультитерминальная.
Интерактивные задания должны
иметь преимущество перед
фоновыми. Эти условия решены в
дисциплине RR (round robin –
круговая, карусельная).

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

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

66. Для интерактивной работы надо обеспечить приемлемое время реакции системы и равенство в обслуживании, если система

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

67. Дисциплина обслуживания RR предполагает, что каждая задача получает процессорное время порциями (квантами). После окончания

Диспетчеризация без перераспределения
процессорного времени, не вытесняющая
многозадачность, – это такой способ
диспетчеризации процессов, при котором
активный процесс выполняется до тех пор,
пока он сам, по своей инициативе, не
отдаст управление диспетчеру задач для
выбора из очереди другого, готового к
исполнению процесса.
Дисциплины обслуживания FCFS, SJN, SRT
относятся к не вытесняющим.

68. Величина кванта времени выбирается как компромисс между приемлемым временем реакции системы на запросы пользователей и

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

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

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

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

Критерии для сравнения алгоритмов
диспетчеризации:
использование (загруженность)
центрального процессора;
• пропускная способность –
количество процессов,
выполняющихся в единицу времени;

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

Критерии для сравнения алгоритмов
диспетчеризации
(продолжение):
время оборота – интервал времени от
момента появления процесса во входной
очереди до момента его завершения (время
ожидания во входной очереди + время
ожидания в очереди готовых к выполнению
процессов + время ожидания в очередях к
оборудованию + время выполнения в
процессоре + время ввода/вывода);

72. Критерии для сравнения алгоритмов диспетчеризации:

Критерии для сравнения алгоритмов
диспетчеризации
(продолжение):
время ожидания – суммарное время
нахождения процесса в очереди готовых к
выполнению процессов;
время отклика – время от момента
попадания процесса во входную очередь до
момента первого обращения к терминалу

73. Критерии для сравнения алгоритмов диспетчеризации (продолжение):

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

74. Критерии для сравнения алгоритмов диспетчеризации (продолжение):

Каждый процесс имеет два атрибута
приоритета, с учетом которого
распределяется процессорное время
между исполняющимися задачами:
• p_cpu — текущий приоритет, на основе
которого осуществляется планирование;
• p_ nice — заказанный относительный
приоритет (nice number).

75. Главные причины уменьшения производительности системы:

p_nice назначается пользователем
явно или формируется по
умолчанию с помощью системы
программирования.

76. Методы повышения производительности:

p_cpu формируется диспетчером
задач (планировщиком
разделения времени) и называется
системной составляющей или
текущим приоритетом.

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

Текущий приоритет процесса
варьируется в диапазоне от 0 (низкий
приоритет) до 127 (высокий
приоритет).
Процессы, выполняющиеся в режиме
задачи, имеют более низкий приоритет
(0 – 65), чем в режиме ядра (66 – 95,
системный диапазон).
Приоритеты в диапазоне 96 – 127
относятся к процессам с
фиксированным приоритетом.

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

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

79. p_nice назначается пользователем явно или формируется по умолчанию с помощью системы программирования.

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

80. p_cpu формируется диспетчером задач (планировщиком разделения времени) и называется системной составляющей или текущим

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

81.

85

Управление процессами и потоками в Microsoft Windows


Download


Report


Transcript Управление процессами и потоками в Microsoft Windows

Управление процессами и
потоками в Microsoft Windows
Представление процессов
Диспетчеризация процессов и потоков
Планирование процессов и потоков
Характеристики процесса
Процесс как самостоятельная сущность
рассматривается на уровне архитектуры
ЭВМ и на уровне ОС.
На уровне архитектуры ЭВМ процесс
характеризуется:
- контекстом;
- адресным пространством.
На уровне ОС процесс описывается
специальной структурой уровня ядра – PCB
(Process Control Block)
Представление процесса в
защищенном режиме процессора Intel
Дескриптор TSS
активного процесса
TR
LDTR
CS
Селектор сегмента кода
LDT
Дескриптор сегмента кода
активного процесса
Дескриптор доп. сегмента
основной
Копия
дескриптора
TSS
TSS
Селектор
TSS
Сегмент
кода
Доп. сегмент
Доп. сегмент
сегменты кода,
данных, стека
GDTR
GDT
Оперативная память
Адресное пространство процесса в
защищенном режиме процессора Intel
Сегмент
Описание
Адресация
TSS
Task Status Segment –
сегмент состояния
задачи
Хранит полное
описание контекста
задачи
-Через
Сегмент
кода
Каждая задача
обязательно должна
иметь хотя бы один
сегмент кода
-Через
Другие
сегменты
Могут содержать код и
данные, в т.ч.
собственные стеки
процесса (задачи)
-Через
специальный системный
дескриптор, который хранится в
таблице GDT
-Селектор дескриптора и копия
самого дескриптора хранятся в
регистре TR
дескриптор в таблице LDT
-Селектор дескриптора всегда
хранится в регистре CS
дескрипторы в таблице LDT
-Селекторы дополнительных
сегментов хранятся в сегментных
регистрах DS, ES, FS, GS, SS
Контекст процесса в защищенном
режиме процессора Intel
-
Регистры общего назначения (EAX, EBX, ECX, EDX,
EDI, ESI, ESP, EBP);
Регистры состояния (EIP, EFLAGS);
Регистры состояния процессора (CR0-CR4);
Сегментные регистры (CS, DS, ES, FS, GS, SS);
Регистры управления памятью (LDTR, TR);
Значение поля селектора TSS из регистра TR для
процесса, который запустил данный процесс;
Содержимое таблицы LDT;
Содержимое каталогов и таблиц страниц;
Адрес битовой карты ввода/вывода.
Представление процесса на уровне ОС
В общем случае – информация о
процессе (контекст процесса) ОС
хранят в структурах PCB – Process
Control Block (блок управления
процессом)
Структура PCB и состав контекста
процесса различен для каждой
конкретной ОС
Представление процессов в ОС
Windows XP




Процесс – абстрактная
структура, определяющая
единое адресное
пространство и контекст
одного или нескольких
взаимосвязанных потоков
Поток – системный объект
операционной системы,
реально выполняющийся в
процессоре.
При создании любого
процесса всегда создается
первичный поток
Потоки могут порождать
новые потоки
Основной
поток
Порожденный
поток
Порожденный
поток
Процесс
Структуры Windows для управления
процессами и потоками (обобщенная
схема)
Структура EPROCESS
Блок процесса ядра (PCB)
Блок переменных окружения процесса
(PEB)
Структура ETHREAD
Структура KTHREAD
Блок переменных окружения потока
(TEB)
Уровни управления процессами
Аппаратный уровень
Реализуются примитивные операции по
управлению процессами:
-прерывания;
-переключение контекстов задач.
Диспетчеризация процессов
(уровень ядра)
Реализуются примитивы перевода процессов из
одного состояния в другое – запуск, приостановка,
возобновление, остановка (завершение)
Планирование процессов
(уровень менеджера
процессов)
Реализуется строгий и сложный алгоритм
управления состояниями процессов с учетом
различных факторов, условий функционирования
процессов, особенностей аппаратной части и
операционной системы
Механизмы управления процессами,
реализуемые аппаратно
Базовые аппаратные механизмы
Прерывания
Переключение задач
Все механизмы, реализуемые
аппаратно, в ОС Microsoft Windows
замаскированы уровнем HAL
Представление процесса на
аппаратном уровне (CPU Intel)
GDTR
Дескриптор TSS
активного процесса
TR
LDTR
CS
Селектор сегмента кода
LDT
Дескриптор сегмента кода
активного процесса
Дескриптор доп. сегмента
основной
TSS
Селектор
TSS
Сегмент
кода
Доп. сегмент
Доп. сегмент
сегменты кода,
данных, стека
Копия
дескриптора
TSS
Оперативная память
Реализация переключения задач в
защищенном режиме CPU Intel
 Для команд CALL и JMP проверяет привилегии (CPL текущей
задачи и RPL селектора новой задачи не могут быть больше,
чем DPL шлюза или TSS, на который передается управление).
 Проверяется дескриптор TSS (его бит присутствия и лимит).
 Проверяется, что новый TSS, старый TSS и все дескрипторы
сегментов находятся в страницах, отмеченных как
присутствующие.
 Сохраняется состояние задачи.
 Загружается регистр TR. Если на следующих шагах происходит
исключение, его обработчику придется доделывать
переключение задач, вместо того чтобы повторять ошибочную
команду.
 Тип новой задачи в дескрипторе изменяется на занятый и
устанавливается флаг TS в CR0.
 Загружается состояние задачи из нового TSS: LDTR, CR3,
EFLAGS, EIP, регистры общего назначения и сегментные
регистры.
Механизмы диспетчеризации
процессов уровня ядра Windows
Создание процесса
Создание потока
Приостановка процесса
Приостановка потока
Активизация процесса
Активизация потока
Завершение процесса
Завершение потока
Создание процесса в Windows и
функция CreateProcess
 Открытие файла-образа процесса (имя.exe или
имя.com)
 Создание объекта процесс исполнительной системы
(PCB)
 Создание первичного потока
 Уведомление о создании процесса и первичного
потока
 Начать выполнение первичного потока
 Инициализировать адресное пространство процесса
в контексте нового процесса и потока, подгрузить
динамические библиотеки (*.dll)
 Начать выполнение программы
Предварительные действия при
запуске процесса
 Перед запуском процесса CreateProcess проверяет параметр
CreationFlags, который указывается при запуске нового
процесса и задает приоритеты процесса. Если задано несколько
приоритетов, Windows выберет самый низкий из них
 Если приоритеты процесса не заданы, то Windows установит
приоритет Normal
 Если приоритет процесса-создателя Idle или Bellow Normal, а
приоритет нового процесса не указан, то Windows установит
приоритет нового процесса равный приоритету процесса
создателя
 Если создается процесс с приоритетом Real-Time, а создатель
не имеет привилегий на создание таких процессов и/или
привилегии Increase Scheduling Priority, то новый процесс будет
создан с приоритетом High, что ниже приоритета Real-Time
 Происходит сопоставление окна процесса с объектом «рабочий
стол»
Этап 1. Открытие файла-образа
 Поиск Windows-образа, который будет выполнять
указанный процесс, и создание объекта «раздел» для
последующего проецирования его на адресное
пространство нового процесса
 В качестве имени Windows-образа выбирается
первый параметр командной строки
 Проверка политики безопасности (не запрещает ли
она запуск данного процесса)
 Если запускается программа Windows, то она
используется напрямую
 Если запускается не-Windows приложение, то ОС
ищет специальный образ поддержки (support image)
для запуска данной программы
Этап 1. Открытие файла-образа
Этап 1. Открытие файла-образа:
завершение
 Запускаемый файл успешно открыт
 Для него создан объект «раздел», но этот
раздел еще не спроецирован в память
 Если в процессе открытия файла возникают
проблемы, то Windows находит в реестре
информацию об отладчике для данного типа
приложений и повторно запускает
CreateProcess
Этап 2. Создание объекта «процесс»
 Формируется блок EPROCESS
 Создается начальное адресное пространство
процесса
 Инициализируется блок процесса ядра (KPROCESS)
 Инициализируется адресное пространство процесса,
в т.ч. список рабочего набора и дескрипторы
виртуального адресного пространства
 Образ процесса проецируется на адресное
пространство
 Формируется блок PEB
 Завершается инициализация объекта «процесс»
исполнительной системы Windows
Этап 2а: Формирование блока
EPROCESS
 Создание блока EPROCESS
 От родительского процесса наследуется привязка к
процессорам
 Устанавливаются минимальное и максимальное значения
рабочего набора
 Настраивается блок квот нового процесса (устанавливается
ссылка на блок квот родительского процесса и увеличивается
счетчик ссылок последнего)
 Наследуется пространство имен устройств Windows
 Для нового процесса сохраняется идентификатор родительского
процесса
 Настраивается маркер доступа
 Наследуется от родителей
 Если используется функция CreateProcessAsUser создается новый
маркер
 Инициализируется таблица описателей
 Статус нового процесса заменяется на STATUS_PENDING
Этап 2b: создание начального
адресного пространства процесса
 В соответствующих таблицах страниц
формируются записи, позволяющие
подкачивать начальные страницы процесса
 Значение максимально доступного
количества резидентных страниц процесса
уменьшается на значение количества
страниц в рабочем наборе по умолчанию
 На адресное пространство проецируются
страницы таблицы страниц для
неподкачиваемого системного адресного
пространства и системного кэша
Этап 2c: создание блока процесса ядра
(KPROCESS)
 Инициализация блока KPROCESS
 Устанавливаются ссылки на блоки потоков ядра
(KTHREAD)
 Устанавливаются ссылки на таблицы страниц
процесса
 Инициализируются поля блока KPROCESS,
хранящие информацию о времени выполнения
процесса
 Устанавливается базовый приоритет процесса
 Устанавливается привязка процесса к процессорам
 Определяется базовое значение кванта времени для
данного процесса
Этап 2d: инициализация адресного
пространства процесса
 Диспетчер виртуальной памяти присваивает времени
последнего усечения рабочего набора процесса
текущее время
 Инициализируется список страниц рабочего набора
 Раздел проецируется на адресное пространство
процесса, и базовый адрес раздела процесса
приравнивается базовому адресу образа
 На адресное пространство процесса проецируется
ntdll.dll
 На адресное пространство процесса проецируются
таблицы NLS (National Language Support)
Этап 2е: инициализация блока PEB
Формируется блок PEB
Заполняются поля блока PEB
Этап 2f: завершение инициализации блока
«процесс» исполнительной системы
 Если разрешен аудит, то факт создания процесса
фиксируется в журнале безопасности
 Если родительский процесс входил в задание, то и новый
процесс включается в задание
 Если для процесса был указан флаг создания,
отмечающий, что данный процесс может выполняться
только в однопроцессорной системе, то для выполнения
всех потоков процесса выбирается один процессор
 Привязка процесса к процессору копируется в PEB и в
дальнейшем используется как привязка по умолчанию
 Блок процесса помещается в конец списка активных
процессов
 Устанавливается время создания процесса
 Возвращается дескриптор созданного процесса
Этап 3. Создание первичного потока
 К началу этого этапа процесс полностью
создан, но не может ничего делать, т.к. у него
нет ни одного потока
 Для создания потока необходимо создать
стек и контекст, в котором он будет
выполняться
 Первичный поток создается системным
вызовом NtCreateThread с параметром PEB
 Поток будет создан в приостановленном
состоянии и не будет ничего делать до
окончания инициализации процесса
Этап 3. Создание первичного потока:
NtCreateThread
Увеличивает счетчик потоков для данного процесса
Создает и инициализирует блок потока ETHREAD
Генерирует идентификатор нового потока
В пользовательском адресном пространстве
формируется TEB
 Стартовый адрес потока пользовательского режима
сохраняется в блоке ETHREAD




 Для Windows-потоков это адрес системной стартовой
функции потока в kernel32.dll
 Стартовый адрес, указанный пользователем, также
сохраняется в ETHREAD, но в другом месте, что позволяет
системной функции вызвать пользовательскую стартовую
функцию
Этап 3. Создание первичного потока:
NtCreateThread (продолжение)
Инициализируется блок KTHREAD, в
который заносятся параметры,
необходимые для диспетчеризации и
планирования потоков
Вызываются общесистемные функции
для уведомления о создании потока
Настраиваются маркеры доступа потока
Поток готов к выполнению
Этап 4. Уведомление подсистемы
Windows о новом процессе
 К данному моменту созданы и процесс, и его
первичный поток
 Kernel32.dll отправляет подсистеме Windows
уведомление:
Описатели процесса и потока
Флаги создания
Идентификатор родительского процесса
Флаг принадлежности процесса к Windowsприложениям
 Получив уведомление Windows должна
подготовиться к выполнению нового процесса
и потока
Этап 4. Уведомление подсистемы
Windows о новом процессе
 CreateProcess дублирует описатели процесса и
потока, в результате чего количество пользователей
процесса становится равным 2
 Устанавливается класс приоритета процесса
 Создается и инициализируется блок процесса Csrss
 Настраивается порт исключений процесса как общий
порт функций для подсистемы Windows. Таким
образом, она сможет получать сообщения о
возникновении исключений
 Если процесс в данный момент отлаживается, то в
качестве порта функций выбирается отладочный
порт
 Создается и инициализируется блок потока Csrss
Этап 4. Уведомление подсистемы
Windows о новом процессе
(продолжение)
 CreateProcess включает поток в список потоков
процесса
 Увеличивается счетчик процессов в данном сеансе
 Устанавливается уровень завершения процесса по
умолчанию 0х280
 Блок нового процесса включается в список
общесистемных процессов Windows
 Создается и инициализируется структура
W32PROCESS, индивидуальная для каждого
процесса и используемся той частью процесса,
которая выполняется в режиме ядра
 Выводится курсор в виде стрелки с песочными
часами – система ждет от процесса GUI-вызова
Этап 5. Запуск первичного потока
Для завершения инициализации
процесса необходимо возобновить его
первичный поток (который был создан,
как приостановленный), если при этом
не указан флаг CREATE_SUSPENDED
Этап 6. Инициализация в контексте
нового процесса
 Начинается выполнение первичного потока нового
процесса
 Происходит системный вызов KiThreadStartup,
который понижает уровень IRQL с DPC/dispatch до
APC
 Вызывается системная функция
PspUserThreadStartup, параметром которой являтся
стартовый адрес потока
 Функция PspUserThreadStartup проверяет, разрешена
ли в системе предвыборка и, если да, то производит
предвыборку страниц процесса, которые он запускал
в течении первых 10 сек при предыдущем запуске
 Затем функция PspUserThreadStartup ставит APC
пользовательского режима в очередь для запуска
процедуры инициализации потока
Этап 6. Инициализация в контексте
нового процесса (продолжение)
 Когда поток вернется в пользовательский режим, APC
будет доставлен
 После завершения PspUserThreadStartup
управление передается KiThreadStartup, которая
возвращается из режима ядра, доставляет APC,
инициализирует загрузчик, кучи, таблицы NLS,
массивы локальной памяти потока и структуры
критической секции
 Функция KiThreadStartup загружает необходимые dll и
вызывает их точки входа
 Управление возвращается диспетчеру APC
пользовательского режима
 Начинается выполнение образа в пользовательском
режиме
Создание потока в Windows и функция
CreateThread
 Создание стека пользовательского режима в
адресном пространстве процесса
 Инициализация аппаратного контекста потока
 Создать объект потока исполнительной
системы (в приостановленном состоянии)
 Уведомление Windows о создании нового
потока
 Вернуть порождающему процессу (потоку)
идентификатор и дескриптор (HANDLE)
созданного потока
 Начать выполнение потока
Планирование потоков в Windows
 Дисциплина планирования Windows реализована на
основе вытесняющего планирования
 В системе используются приоритеты
 Всегда первым вытесняется готовый к выполнению
поток, обладающий наибольшим приоритетом
 На выбор потоков к выполнению также влияет
привязка потоков (а точнее – процессов) к
процессору
 Для управления временем выполнения потока
используется система квантования времени
 Величина кванта не постоянна и зависит от
 Конфигурационных параметров системы
 Статуса процесса (активный или фоновый)
 Использованием объекта «задание»
Диспетчеризация на уровне ядра –
диспетчер ядра
 Диспетчеризация может быть вызвана одним
из следующих событий:
Поток готов к выполнению – только что создан или
вышел из состояния ожидания
Поток вышел из состояния Running (истек квант
времени или поток переходит в состояние ожидания)
Изменяется приоритет процесса из-за системного
вызова или самой Windows
Изменена привязка к процессорам, из-за чего
процесс не может больше выполняться на данном
процессоре
Уровни приоритета
Назначение приоритетов с точки
зрения WindowsAPI
 По приоритету
процесса
Real-time
High
Above normal
Normal
Bellow normal
Idle
 По относительному
приоритету потоков
в рамках процесса
Time-critical
Highest
Above normal
Normal
Bellow normal
Lowest
Idle
Связь между приоритетами
WindowsAPI и ядра Windows
Установка базового приоритета
процессов и потоков
 Базовый приоритет процесса устанавливается при
его создании (параметром CreationFlags функции
CreateProcess)
 Если базовый приоритет процесса не указан, то он
наследуются от родительского процесса (как
правило, он устанавливается в Normal)
 Базовый приоритет потока устанавливается в
соответствии с унаследованным приоритетом
процесса и собственным относительным
приоритетом
 Кроме базового приоритета, каждый поток имеет
текущий приоритет, на основании которого
принимаются все решения относительно
планирования потока
Состояния потоков в ОС
Windows 2000/XP
Состояния потоков в OC
Windows Server 2003
Для каждого уровня приоритетов –
своя очередь
База данных диспетчера ядра
32-битна маска
Бит устанавливается
в 1, если в
соответствующей
очереди есть поток
Квант
 Квант – интервал процессорного времени,
отводимый Windows для выполнения потока
 По истечении кванта Windows пытается передать
управление потоку с тем же приоритетом. Если
такого нет, очередной квант отводится тому же
потоку, что и выполнялся
 В Windows 2000/XP величина кванта по умолчанию
составляет 2 интервала таймера
 В Windows Server 2003 – 12 интервалов (увеличен,
чтобы минимизировать переключения контекста)
 Длительность интервала таймера определяется HAL,
а не ядром
Учет квантов
 Величина кванта для каждого процесса хранится в
блоке процесса ядра в виде количество_интервалов
*3
 Это значение кванта используется при запуске
потоков
 Во время выполнения потока величина кванта
уменьшается по таймеру, каждый раз на 3
 Если поток прерывается, квант выполнения потока
все равно уменьшается на 3 при каждом прерывании
таймера
 Для ожидающих потоков (WaitForSingleObject или
WaitForMultileObjects) величина кванта уменьшается
всегда, даже если они сразу получили доступ к
ожидаемому объекту (при этом квант уменьшается на
1)
Изменение величины кванта
 Пользователь может изменить величину
кванта, указав одно из двух значений –
короткий (2) или длинный (12) в оснастке
Performance Options
 Начиная с Windows NT 4.0 Workstation
система использует алгоритм динамического
изменения квантов для активных процессов
(со статусом выше Idle). Если хотя бы один
поток процесса использует активное окно, то
его квант времени увеличивается в 3 раза
 Управление квантами возможно через реестр
Windows
Сценарии планирования
Самостоятельное переключение
Вытеснение
Завершение кванта
Завершение потока
Самостоятельное переключение
Поток самостоятельно
переходит в состояние
ожидания
(WaitForSingleObject или
WaitForMultipleObjects)
Система
запускает первый
готовый поток с
наивысшим
приоритетом
Вытеснение
Поток с высоким приоритетом вышел
из состояния ожидания или
приоритет для данного потока
повысился
Поток вытесняется.
Причиной вытеснения
этого потока может быть
то, что его приоритет
понизился
Завершение кванта
При завершении кванта Windows может
понизить приоритет приостановленного
потока. Тогда она будет искать для
выполнения новый поток с приоритетом,
не ниже нового приоритета
приостановленного потока
Для данного потока
Windows не понизила
приоритет – он остался в
конце своей очереди
Динамическое повышение приоритета
 После завершения операций ввода-вывода
 По окончании ожидания на семафоре или
событии исполнительной системы
 По окончании операции ожидания потоками
активного процесса
 При пробуждении GUI-процессов в связи с
операциями с окнами
 Если поток, готовый к выполнению,
задерживается из-за нехватки процессорного
времени
Повышение приоритета после
завершения операций ввода-вывода
 Windows считает, что ожидавшие потоки имеют
больше шансов немедленно начать выполнение
 Потоки не получают неоправданных привилегий, т.к.
пока они ожидали их квант времени был уменьшен
на 1
 Величина приращения всегда зависит от устройства,
завершения ввода/вывода на котором ожидал поток
 Приоритет потока всегда повышается относительно
базового, а не текущего приоритета
 Приращение приоритета всегда применяется в
области динамических приоритетов
 Приоритет не может стать больше 15
Изменение приоритета после
завершения операций ввода-вывода
Повышение приоритета после завершения
ожидания на семафорах и событиях
Приоритет потока повышается на 1,
если он ожидал семафора или события
(функции WaitForSingleObject или
WaitForMultipleObjects), после
выполнения функций SetEvent,
PulseEvent, ReleaseSemaphore
Правила повышения приоритета
аналогичны рассмотренным ранее
Повышение приоритетов потоков активного
процесса после завершения ожидания
 Текущий приоритет потока в активном процессе
всегда повышается на величину PsPrioritySeparation,
если он завершил ожидание на объекте ядра
 Фактически PsPrioritySeparation – индекс в таблице
квантов и используется для выбора величины
квантов для потоков активного процесса
 Но в данном случае эта величина (величина кванта)
используется как величина изменения приоритета
 Используется для повышения отзывчивости
интерактивных приложений
Повышение приоритетов при пробуждении
GUI-процессов в связи с операциями с
окнами
Приоритет потоков, владеющих окнами,
повышается на 2 после их пробуждения
из-за активности системы управления
окнами
Используется для повышения
отзывчивости интерактивных
приложений
Повышение приоритетов при нехватке
процессорного времени
 Применяется при блокировке потоков с низким
приоритетом потоками с высокими приоритетами
(тупики)
 Диспетчер настройки баланса раз в 1 сек сканирует
очереди, чтобы обнаружить тупиковые ситуации
 При обнаружении блокированных потоков, которые в
свою очередь блокируют другие потоки, Windows
повышает их приоритет до 15
 В Windows 2000/XP квант времени таких потоков
удваивается
 В Windows Server 2003 квант времени для таких
потоков устанавливается равным 4
Планирование потоков в
многопроцессорных системах
 База данных диспетчера ядра включает в себя
несколько стеков очередей – по одной для каждого
процессора
 В БД включается маска активных процессоров,
позволяющая определить количество доступных
процессоров
 В системах с HyperThreading
 Количество логических процессоров не попадает под
лицензионные ограничения на количество поддерживаемых
процессоров
 При выборе логического процессора для запуска потока
система учитывает, на каком физическом процессоре он
реализуется
 Нагрузка на процессоры рассчитывается на основании
физической привязки логических процессоров
Планирование потоков в
многопроцессорных системах: привязка к
процессору
 Каждый поток имеет маску привязки к процессору
 Привязка к процессору наследуется от процесса,
запустившего поток
 Привязка потоков к процессору может быть изменена
с целью оптимизации производительности и
пропускной способности системы
 Привязка потока к процессору может быть изменена
индивидуально или для всех потоков процесса
 На выбор процессора для выполнения потока влияет
не только привязка, но и особенности создания
процесса (например, процесс может быть создан для
запуска только в однопроцессорных системах)
Выбор процессора для потока при
наличии простаивающих процессоров
 При наличии простаивающих процессоров Windows
пытается подключить поток к ним в следующем
порядке:
 Идеальный
 Предыдущий
 Текущий
 В Windows 2000 выбирается первый простаивающий
 В Windows XP и Windows Server 2003
 Анализируется маска привязки потока
 Если система с Hyperthreading и имеется простаивающий
физический процессор, то список доступных процессоров
сокращается для набора его логических
 Из полученного списка исключаются спящие процессоры
 Из списка выбирается процессор с наименьшим номером
Выбор процессора для потока при
отсутствии простаивающих процессоров
 Если на идеальном процессоре выполняется
поток с приоритетом меньше, чем у
запускаемого потока, то запускаемый поток
вытеснит выполняющийся поток со своего
идеального процессора
 Если при выборе процессора нельзя выбрать
идеальный (только в Windows 2000), то
выбирается процессор с наибольшим
номером
 После выбора процессора формируется
межпроцессорное прерывание
Задания
 Задание – объект ядра, обеспечивающий управление
одним или несколькими процессами, как группой
 Задание позволяет определить:
 Максимальное число процессов в группе
 Общий лимит на процессорное время (для всех процессов
задания) в пользовательском режиме
 Индивидуальные лимиты процессов на процессорное время
в пользовательском режиме
 Класс планирования задания (размер кванта для потоков
процессов, входящих в задание)
 Привязку к процессорам
 Приоритет всех процессов задания
 Максимальный и минимальный размеры рабочего набора
 Лимит на виртуальную память

 Тема: Процессы и потоки в ОС Windows NT 1. Внутреннее устройство процессов. 2.

Тема: Процессы и потоки в ОС Windows NT 1. Внутреннее устройство процессов. 2. Внутреннее устройство потоков. 3. Планирование потоков.

 Литература 1. М. Русинович, Д. Соломин Внутреннее устройство Windows: Windows Server 2003, Windows

Литература 1. М. Русинович, Д. Соломин Внутреннее устройство Windows: Windows Server 2003, Windows XP, Windows 2000. Мастер-класс. / Пер. с анг. – 4 -е изд. – М. : Издательско-торговый дом «Русская редакция» ; СПб. : Питер, 2005. – 992 с. 2. Э. Таненбаум Современные операционные системы. 3 -е изд. ; СПб. : Питер, 2010. – 1120 с.

Структура данных процессов и потоков

Структура данных процессов и потоков

Блок процесса EPROCESS

Блок процесса EPROCESS

Блок процесса исполнительной системы

Блок процесса исполнительной системы

Поля в блоке PEB

Поля в блоке PEB

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

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

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

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

Функции, связанные с процессами

Функции, связанные с процессами

Функции, связанные с процессами

Функции, связанные с процессами

Основные этапы создания процесса

Основные этапы создания процесса

Выбор активируемого Windows- образа

Выбор активируемого Windows- образа

Основные этапы создания процесса

Основные этапы создания процесса

Этап 2: Создание объекта «процесс»

Этап 2: Создание объекта «процесс»

Основные этапы создания процесса

Основные этапы создания процесса

Этап 3: Создание первичного потока, его стека и контекста

Этап 3: Создание первичного потока, его стека и контекста

Этап 3: Создание первичного потока, его стека и контекста

Этап 3: Создание первичного потока, его стека и контекста

Этап 3: Создание первичного потока, его стека и контекста

Этап 3: Создание первичного потока, его стека и контекста

Основные этапы создания процесса

Основные этапы создания процесса

Этап 4: Уведомление подсистемы Windows о новом процессе

Этап 4: Уведомление подсистемы Windows о новом процессе

Реакция ОС на уведомление о новом процессе

Реакция ОС на уведомление о новом процессе

Реакция ОС на уведомление о новом процессе

Реакция ОС на уведомление о новом процессе

Реакция ОС на уведомление о новом процессе

Реакция ОС на уведомление о новом процессе

Основные этапы создания процесса

Основные этапы создания процесса

 Тема: Процессы и потоки в ОС Windows NT 2. Внутреннее устройство потоков.

Тема: Процессы и потоки в ОС Windows NT 2. Внутреннее устройство потоков.

Блок потока исполнительной системы

Блок потока исполнительной системы

Схема блока потока ядра

Схема блока потока ядра

Поля блока переменных окружения потока

Поля блока переменных окружения потока

Утилиты для исследования потоков и функций

Утилиты для исследования потоков и функций

 Тема: Процессы и потоки в ОС Windows NT 3. Планирование потоков.

Тема: Процессы и потоки в ОС Windows NT 3. Планирование потоков.

Уровни приоритета потоков

Уровни приоритета потоков

Взаимосвязь приоритетов в ядре и Windows API

Взаимосвязь приоритетов в ядре и Windows API

Уровни прерываний и уровни приоритета

Уровни прерываний и уровни приоритета

Состояния потоков в Windows XP

Состояния потоков в Windows XP

Состояния потоков в Windows Server 2003

Состояния потоков в Windows Server 2003

База данных диспетчера ядра

База данных диспетчера ядра

 Величины квантов 2*3 = 6*10 мс = 60 мс (рабочая станция) 12*3 =

Величины квантов 2*3 = 6*10 мс = 60 мс (рабочая станция) 12*3 = 36*15 мс = 540 мс (сервер)

Самостоятельное переключение

Самостоятельное переключение

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

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

 Планирование потоков в момент завершения кванта текущего потока

Планирование потоков в момент завершения кванта текущего потока

Рекомендованные приращения приоритета

Рекомендованные приращения приоритета

Динамическое изменение приоритета

Динамическое изменение приоритета



Скачать материал

Дисциплина:«Операционные системы»Лекция  
Управление процессами и потоками



Скачать материал «Лекция по предмету Операционные системы на тему: «Управление процессами»»

Рабочие листы

к вашим урокам

Скачать

Описание презентации по отдельным слайдам:

  • Дисциплина:«Операционные системы»Лекция  
Управление процессами и потоками

    1 слайд

    Дисциплина:
    «Операционные системы»
    Лекция
    Управление процессами и потоками

  • 21. Мультипрограммирование в системах разделения времени123…nЦентральный проц...

    2 слайд

    2
    1. Мультипрограммирование в системах разделения времени
    1
    2
    3

    n
    Центральный процессор
    TКВ = 0,02 мс
    2. Мультипрограммирование в системах реального времени
    Управление техническими объектами, технологическими процессами, системами обслуживания и т. п.
    Фиксированный набор заранее разработанных задач.
    Жесткие ограничения на время обслуживания.
    Режим типа запрос – ответ.

    3. Мультипроцессорная обработка
    Операционные системы : Windows NT/2000/XP,7, Sun Solaris 2/x, Santa Cruz Operations Open Server 3.x, OS/2 и др.
    Симметричная архитектура и асимметричная архитектура.

  • 34. Роль процессов, потоков и волокон в мультипрограммированииОтдельный проц...

    3 слайд

    3
    4. Роль процессов, потоков и волокон в мультипрограммировании

    Отдельный процесс не может быть выполнен быстрее, чем в однопрограммном режиме.
    Сложно создать программу, реализующую параллелизм в рамках одного процесса.
    Стандартные средства современных ОС не позволяют создать для одного приложения несколько процессов для параллельных работ.
    Многопоточная обработка позволяет распараллелить вычисления в рамках одного процесса.
    Многопоточная (multithreading) обработка эффективна в многопроцессорных вычислительных системах.
    Использование аппарата волокон (Windows 2000) повышает эффективность мультипрограммирования за счет сокращения переключения процессов, но увеличивает трудоемкость разработки приложений.

  • 45. Управление процессами и потоками5.1. Основные функции управления процесса...

    4 слайд

    4
    5. Управление процессами и потоками
    5.1. Основные функции управления процессами и потоками
    Создание процессов и потоков.
    Обеспечение процессов и потоков необходимыми ресурсами.
    Изоляция процессов.
    Планирование выполнения процессов и потоков.
    Диспетчеризация потоков.
    Синхронизация процессов и потоков.
    Завершение и уничтожение процессов и потоков.

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

  • 5Типичный граф состояния потокаВЫПОЛНЕНИЕГОТОВНОСТЬОЖИДАНИЕПоток завершен или...

    5 слайд

    5
    Типичный граф состояния потока
    ВЫПОЛНЕНИЕ
    ГОТОВНОСТЬ
    ОЖИДАНИЕ
    Поток завершен или ошибка
    Поток ожидает завершения ввода-вывода или другого события
    Ввод-вывод завершен (событие произошло)
    Поток вытеснен (исчерпал квант)
    Поток выбран на выполнение
    Вновь созданный поток

  • 6Дескриптор процесса содержит:1. Информацию по идентификации процесса (иденти...

    6 слайд

    6
    Дескриптор процесса содержит:
    1. Информацию по идентификации процесса (идентификатор процесса, идентификатор пользователя,
    идентификаторы родительского и дочерних процессов).
    2. Информацию по состоянию процесса
    3. Информацию, используемую для управления процессом

  • 7Информация по состоянию и управлению процессом   Состояние процесса, опреде...

    7 слайд

    7
    Информация по состоянию и управлению процессом

    Состояние процесса, определяющее его готовность к выполнению (выполняющийся, готовый к выполнению, ожидающий события, приостановленный);
    Данные о приоритете (текущий, по умолчанию, максимально возможный);
    Информация о событиях – идентификация события, наступление которого позволит продолжить выполнение процесса;
    Указатели, позволяющие определить расположение образа процесса в оперативной памяти и на диске;
    Указатели на другие процессы (находящиеся в очереди на выполнение);
    Флаги,сигналы и сообщения, имеющие отношение к обмену информацией между двумя независимыми процессами;
    Данные о привилегиях, определяющие прав доступа к определенной области памяти или возможности выполнять определенные виды команд, использовать системные утилиты и службы;
    Указатели на ресурсы, которыми управляет процесс;
    Сведения по использованию ресурсов и процессора;
    Информация, связанная с планированием.

  • 8КОНТЕКСТ ПРОЦЕССА  Содержимое регистров процессора, доступных пользователю (...

    8 слайд

    8
    КОНТЕКСТ ПРОЦЕССА
    Содержимое регистров процессора, доступных пользователю (обычно 8 – 32 регистра и до 100 регистров в RISC – процессорах);
    Содержимое счетчика команд;
    Состояние управляющих регистров и регистров состояния;
    Коды условия, отражающие результат выполнения последней арифметической или логической операции (например, равенство нулю,переполнение);
    Указатели вершин стеков,хранящие параметры и адреса вызова процедур и системных служб.
    Значительная часть этой информации фиксируется в виде слова состояния программы PSW (program status word – EFLAGS в процессоре Pentium).

  • 9Простейшая модель процессаДиспетчеризацияПаузаНе выполняетсяВыполняетсяВходВ...

    9 слайд

    9
    Простейшая модель процесса
    Диспетчеризация
    Пауза
    Не выполняется
    Выполняется
    Вход
    Выход
    CPU
    Вход
    Выход
    Очередь
    Пауза
    Диспетчеризация
    CPU
    Граф состояний и переходов
    tкв

  • 10НовыйГотовый к выполнениюВыполняю-щийсяВходв системуОжиданиеЗавершаю-щийсяО...

    10 слайд

    10
    Новый
    Готовый к выполнению
    Выполняю-щийся
    Вход
    в систему
    Ожидание
    Завершаю-щийся
    Освобо-ждение
    события
    Блокирова-нный
    CPU
    Поступление процесса
    Очередь готовых процессов
    Тайм – аут ( tКВ )
    Ожидание события

  • 115.2. Потоки и их моделиОписатель потока: блок управления потоком и контекс...

    11 слайд

    11
    5.2. Потоки и их модели

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

    Способы реализации пакета потоков:
    в пространстве пользователя (user – level threads – ULT);
    в ядре (kernel – level threads – KLT).

  • 126. Планирование заданий, процессов и потоковВиды планирования

    12 слайд

    12
    6. Планирование заданий, процессов и потоков
    Виды планирования

  • 13Долгосрочное планированиеТайм-аутОчередь  готовых заданийСреднесрочное план...

    13 слайд

    13
    Долгосрочное планирование
    Тайм-аут
    Очередь готовых заданий
    Среднесрочное планирование
    Среднесрочное планирование
    Очередь готовых приостановленных заданий
    Очередь заблокированных приостановленных заданий
    Очередь
    заблокированных заданий
    Событие
    Интерактивные пользователи
    Пакетные задания
    Ожидание события
    ЦП
    Выход
    ОП
    Диск
    Диск
    ОП

  • 147. Создание процессов и потоков. Модели процессов и потоковОбраз процесса:...

    14 слайд

    14
    7. Создание процессов и потоков. Модели процессов и потоков

    Образ процесса: программа, данные, стек и атрибуты процесса

  • 15Алгоритмы планирования потоковНевытесняющие (non-preemptive)
 планирование...

    15 слайд

    15
    Алгоритмы планирования потоков
    Невытесняющие (non-preemptive)
    планирование распределяется между ОС и прикладными программами;
    необходимость частых передач управлений ОС, в противном случае возможна монополизация процессора приложением;
    зависания приложений могут привести к краху системы
    2. Вытесняющие (preemptive)
    функции планирования сосредоточены в ОС;
    планирование на основе квантования процессорного времени;
    планирование на основе приоритетов потоков: статических, динамических, абсолютных, относительных, смешанных;

  • 16Алгоритм планирования, реализующий предпочтения потокам с интенсивным вводо...

    16 слайд

    16
    Алгоритм планирования, реализующий предпочтения потокам с интенсивным вводом-выводом

    Ожидание события
    Тайм — аут
    Процессор
    Новый поток
    Очередь 2
    Очередь 1
    Переключение контекстов потоков связано с потерями процессорного времени.
    С увеличением времени кванта ухудшается обслуживание пользователей.
    В алгоритмах, основанных на квантовании, ОС не имеет никаких сведений о характеристиках решаемых задач.

  • 17Алгоритмы приоритетного планированияПроцессорНазначение приоритетаТайм-аутО...

    17 слайд

    17
    Алгоритмы приоритетного планирования
    Процессор
    Назначение приоритета
    Тайм-аут
    Очередь высшего приоритета
    Очередь низшего приоритета
    Ожидание события
    Ожидание события
    Тайм-аут
    Завершение (ошибка)
    Новый поток
    Приоритетное переключение с квантованием

  • 18313016-1015Системные приоритетыПользоват. приоритеты786НаивысшийПовышенныйО...

    18 слайд

    18
    31
    30
    16
    -1
    0
    15
    Системные приоритеты
    Пользоват. приоритеты
    7
    8
    6
    Наивысший
    Повышенный
    Обычный
    Пониженный
    Наинизший
    Поток обнуления страниц
    Пустой поток
    Базовый приоритет
    Наивысший
    Наинизший
    Очереди системных потоков и потоков псевдореального времени
    Наивысший
    Наинизший
    ПРОЦЕССОР

  • 198. Взаимодействие и синхронизация процессов и потоков8.1. Проблемы взаимод...

    19 слайд

    19
    8. Взаимодействие и синхронизация процессов и потоков
    8.1. Проблемы взаимодействия и синхронизации

  • 20Взаимоблокировки (тупики, deadlock) Группа процессов находится в тупиковой...

    20 слайд

    20
    Взаимоблокировки (тупики, deadlock)
    Группа процессов находится в тупиковой ситуации, если каждый процесс из группы ожидает события, которое может вызвать только другой процесс из этой же группы
    Процесс
    Ресурс
    R1
    P2
    R2
    P1
    Исходное распределение ресурсов
    R1
    P2
    R2
    P1
    P2
    P1
    R1
    R2
    Тупиковая ситуация

  • 21Проблема “голодание”RRRRP1P2P3P1P2P3P1P2P3P1P2P3АктивныйБлокированныеБлокир...

    21 слайд

    21
    Проблема “голодание”
    R
    R
    R
    R
    P1
    P2
    P3
    P1
    P2
    P3
    P1
    P2
    P3
    P1
    P2
    P3
    Активный
    Блокированные
    Блокированные
    Активный
    Активный
    Блокированные
    Блокированные
    Активный

  • 228.2. Синхронизирующие объекты ОСДля синхронизации потоков, принадлежащих ра...

    22 слайд

    22
    8.2. Синхронизирующие объекты ОС
    Для синхронизации потоков, принадлежащих разным процессам, ОС должна предоставлять потокам системные объекты синхронизации.
    К таким объектам относятся события (event), мьютексы (mutex – mutual exclusion – взаимное исключение), системные семафоры и др.
    Объект-событие используется для того, чтобы оповестить потоки о том, что некоторые действия завершены.
    Мьютекс (простейший двоичный семафор) используется для управления доступом к данным.
    Семафоры используются для оповещения свершения последовательности событий.
    Для синхронизации используются также “обычные ” объекты ОС: файлы, процессы, потоки
    Все объекты синхронизации могут находиться в сигнальном и несигнальном (свободном) состоянии. Поток с помощью системного вызова WAIT(X) может синхронизировать свое выполнение с объектом синхронизации X. С помощью системного вызова SET(X) поток может перевести объект X в сигнальное состояние. Кроме того, в ОС определен набор сигналов для логической связи меду процессами, а также процессами и пользователями (терминалами).

  • 23Мониторы – еще один, более надежный способ синхронизации, предложенный в 19...

    23 слайд

    23
    Мониторы – еще один, более надежный способ синхронизации, предложенный в 1974 г. одним из классиков компьютерных наук профессором Чарльзом Хоаром.
    Основные компоненты ОС следующие: управление процессами; управление основной памятью; управление файлами; управление системой ввода-вывода; управление внешней памятью; поддержка сетей; система защиты; система поддержки командного интерпретатора; графическая оболочка.
    Монитор – еще один удобный механизм синхронизации процессов по ресурсам. Он более надежен, чем семафоры, поскольку вызов операции монитора автоматически обеспечивает разблокировку ресурса после завершения вызова.
    8.3 Мониторы
    Монитор содержит описание общих для процессов данных и операций над ними, таких, что в каждый момент не более чем один параллельный процесс может выполнять какую-либо операцию монитора.
    Монитор – многовходовый модуль M, в котором определены общие для процессов данные D (скрытые) и (абстрактные) операции P1, … PN над этими данными (в виде процедур).
    В каждый момент не более чем один из параллельных процессов может вызвать какую-либо из операций: M.Pi (X, Y, …)
    Вызов каждой операции монитора – атомарен (как и операции над семафором).

  • 24Выводы:Основные компоненты ОС следующие: управление процессами; управление...

    24 слайд

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

  • 25Контрольные вопросы:

Назовите компоненты операционной системы.
Какие дейст...

    25 слайд

    25
    Контрольные вопросы:

    Назовите компоненты операционной системы.
    Какие действия по управлению процессами выполняет ОС?
    Что такое графическая оболочка ОС?
    Что такое процесс?
    Что такое дескриптор процесса?
    Что такое облегченный процесс?
    В каких состояниях может находиться процесс?
    Что такое семафор и какие операции над ним определены?
    Что такое критическая секция?
    В чем суть принципа взаимного исключения критических секций?
    Что такое атомарная операция?
    Что такое взаимная блокировка процессов (deadlock)?
    Что такое монитор?
    Какое условие для выполнения своих операций обеспечивает монитор?

Рабочие листы

к вашим урокам

Скачать

Краткое описание документа:

Презентация может быть полезна для обучающихся по углубленной программе «Информатики» или «Операционные системы»

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 386 918 материалов в базе

  • Выберите категорию:

  • Выберите учебник и тему

  • Выберите класс:

  • Тип материала:

    • Все материалы

    • Статьи

    • Научные работы

    • Видеоуроки

    • Презентации

    • Конспекты

    • Тесты

    • Рабочие программы

    • Другие методич. материалы

Найти материалы

Другие материалы

  • 22.11.2022
  • 1203
  • 33
  • 22.11.2022
  • 76
  • 1
  • 22.11.2022
  • 57
  • 0
  • 22.11.2022
  • 87
  • 1
  • 22.11.2022
  • 110
  • 0
  • 22.11.2022
  • 104
  • 0
  • 22.11.2022
  • 83
  • 1
  • 22.11.2022
  • 127
  • 1

Вам будут интересны эти курсы:

  • Курс профессиональной переподготовки «Управление персоналом и оформление трудовых отношений»

  • Курс повышения квалификации «Методика написания учебной и научно-исследовательской работы в школе (доклад, реферат, эссе, статья) в процессе реализации метапредметных задач ФГОС ОО»

  • Курс профессиональной переподготовки «Организация и предоставление туристских услуг»

  • Курс повышения квалификации «Введение в сетевые технологии»

  • Курс повышения квалификации «Финансы предприятия: актуальные аспекты в оценке стоимости бизнеса»

  • Курс повышения квалификации «Использование активных методов обучения в вузе в условиях реализации ФГОС»

  • Курс повышения квалификации «Организация маркетинга в туризме»

  • Курс повышения квалификации «Мировая экономика и международные экономические отношения»

  • Курс профессиональной переподготовки «Корпоративная культура как фактор эффективности современной организации»

  • Курс профессиональной переподготовки «Методика организации, руководства и координации музейной деятельности»

  • Курс профессиональной переподготовки «Организация деятельности по водоотведению и очистке сточных вод»

  • Курс профессиональной переподготовки «Организация процесса страхования (перестрахования)»

  • Курс профессиональной переподготовки «Осуществление и координация продаж»

  • Курс профессиональной переподготовки «Информационная поддержка бизнес-процессов в организации»

  • Курс профессиональной переподготовки «Управление качеством»

  • Настоящий материал опубликован пользователем Улыбина Елена Львовна. Инфоурок является
    информационным посредником и предоставляет пользователям возможность размещать на сайте
    методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них
    сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с
    сайта, Вы можете оставить жалобу на материал.

    Удалить материал

  • Улыбина Елена Львовна

    • На сайте: 3 года
    • Подписчики: 0
    • Всего просмотров: 339
    • Всего материалов:

      2

Слайд 1




Операционные системы
Автор В.А.Серков
Подсистема управления процессами

Описание слайда:

Операционные системы
Автор В.А.Серков
Подсистема управления процессами


Слайд 2




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

Описание слайда:

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


Слайд 3




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

Описание слайда:

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


Слайд 4




Среда выполнения программы

Описание слайда:

Среда выполнения программы


Слайд 5




Реализация процесса

Описание слайда:

Реализация процесса


Слайд 6




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

Описание слайда:

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


Слайд 7




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

Описание слайда:

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


Слайд 8




		Выполнение - активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором.
		Выполнение - активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором.

Описание слайда:

Выполнение — активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором.
Выполнение — активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором.


Слайд 9




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

Описание слайда:

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


Слайд 10




	Готовность - также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними обстоятельствами.  
	Готовность - также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними обстоятельствами.

Описание слайда:

Готовность — также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними обстоятельствами.
Готовность — также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними обстоятельствами.


Слайд 11




Контекст и дескриптор процесса

Описание слайда:

Контекст и дескриптор процесса


Слайд 12

Операционные системы: Управление процессами, слайд №12


Слайд 13

Операционные системы: Управление процессами, слайд №13


Слайд 14




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

Описание слайда:

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


Слайд 15




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

Описание слайда:

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


Слайд 16




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

Описание слайда:

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


Слайд 17




Алгоритмы планирования процессов

Описание слайда:

Алгоритмы планирования процессов


Слайд 18




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

Описание слайда:

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


Слайд 19




Режим квантования
	Каждому процессу определяется фиксированный квант (промежуток) времени и операционная система поочередно выделяет им ресурсы процессора, смена активного процесса происходит, если: 
	- процесс завершился и покинул систему;
	- произошла ошибка;
	- процесс перешел в состояние ОЖИДАНИЕ;
	- исчерпан квант процессорного времени, отведенный данному процессу.

Описание слайда:

Режим квантования
Каждому процессу определяется фиксированный квант (промежуток) времени и операционная система поочередно выделяет им ресурсы процессора, смена активного процесса происходит, если:
— процесс завершился и покинул систему;
— произошла ошибка;
— процесс перешел в состояние ОЖИДАНИЕ;
— исчерпан квант процессорного времени, отведенный данному процессу.


Слайд 20




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

Описание слайда:

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


Слайд 21




Относительные приоритеты 
	В системах с относительными приоритетами активный процесс выполняется до тех пор, пока он сам не покинет процессор, перейдя в состояние ожидание (или же произойдет ошибка, или процесс завершится).

Описание слайда:

Относительные приоритеты
В системах с относительными приоритетами активный процесс выполняется до тех пор, пока он сам не покинет процессор, перейдя в состояние ожидание (или же произойдет ошибка, или процесс завершится).


Слайд 22




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

Описание слайда:

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


Слайд 23




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

Описание слайда:

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


Слайд 24




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

Описание слайда:

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


Слайд 25




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

Описание слайда:

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


Слайд 26




Процессы Windows XP

Описание слайда:

Процессы Windows XP


Слайд 27




rundll32.exe 
	Утилита командной строки в среде Windows, выполняет следующую задачу - запуск библиотеки (DLL - Dynamic Link Library) как приложения, в том числе позволяя запускать некоторые функции, скомпилированные в DLL-файлах.

Описание слайда:

rundll32.exe
Утилита командной строки в среде Windows, выполняет следующую задачу — запуск библиотеки (DLL — Dynamic Link Library) как приложения, в том числе позволяя запускать некоторые функции, скомпилированные в DLL-файлах.


Слайд 28




cisvc.exe 
(Microsoft Index Service Helper) 
	Контролирует использование памяти процессом CIDAEMON.exe и предотвращает проблемы, связанные с нехваткой памяти. Не рекомендуется завершать работу процесса, если вы используете службу индексации на локальном компьютере.

Описание слайда:

cisvc.exe
(Microsoft Index Service Helper)
Контролирует использование памяти процессом CIDAEMON.exe и предотвращает проблемы, связанные с нехваткой памяти. Не рекомендуется завершать работу процесса, если вы используете службу индексации на локальном компьютере.


Слайд 29




cisvc.exe 
	Файл cisvc.exe всегда расположен в каталоге C:WindowsSystem32. В случае обнаружения этого файла в любом другом каталоге он должен быть незамедлительно удален. В настоящее время известно несколько вирусов (например, VBS.Spiltron@mm, VBS.Ypsan.E@mm, W32.HLLW.Gaobot.EE и другие), использующих имя csrss.exe для сокрытия своего присутствия в системе.

Описание слайда:

cisvc.exe
Файл cisvc.exe всегда расположен в каталоге C:WindowsSystem32. В случае обнаружения этого файла в любом другом каталоге он должен быть незамедлительно удален. В настоящее время известно несколько вирусов (например, VBS.Spiltron@mm, VBS.Ypsan.E@mm, W32.HLLW.Gaobot.EE и другие), использующих имя csrss.exe для сокрытия своего присутствия в системе.


Слайд 30




Explorer.exe
	Графическая оболочка операционной системы Microsoft Windows, включающая меню пуск, рабочий стол, панель инструментов и файловый менеджер. В случае удаления этого процесса, исчезнет из виду графический интерфейс для Windows.

Описание слайда:

Explorer.exe
Графическая оболочка операционной системы Microsoft Windows, включающая меню пуск, рабочий стол, панель инструментов и файловый менеджер. В случае удаления этого процесса, исчезнет из виду графический интерфейс для Windows.


Слайд 31




Explorer.exe
	Файл Explorer.exe расположен в папке C:Windows. В случае обнаружения этого файла в любом другом каталоге он должен быть незамедлительно удален. Наиболее распространенные вирусы, использующие для сокрытия имя Explorer.exe – W32.MyDoom, w32.Codered, BKDR_ZAPCHAST.

Описание слайда:

Explorer.exe
Файл Explorer.exe расположен в папке C:Windows. В случае обнаружения этого файла в любом другом каталоге он должен быть незамедлительно удален. Наиболее распространенные вирусы, использующие для сокрытия имя Explorer.exe – W32.MyDoom, w32.Codered, BKDR_ZAPCHAST.


Слайд 32




vsmon.exe
	Процесс принадлежащий персональному межсетевому экрану ZoneAlarm. Он используется для контроля интернет трафика и создания предупреждений в зависимости от настроек безопасности пользователя.

Описание слайда:

vsmon.exe
Процесс принадлежащий персональному межсетевому экрану ZoneAlarm. Он используется для контроля интернет трафика и создания предупреждений в зависимости от настроек безопасности пользователя.


Слайд 33




spoolsv.exe
	Отвечает за обработку процессов печати на локальном компьютере в операционных системах Microsoft Windows. В случае завершения процесса spoolsv.exe, локальный пользователь не сможет распечатывать задания на локальном принтере.

Описание слайда:

spoolsv.exe
Отвечает за обработку процессов печати на локальном компьютере в операционных системах Microsoft Windows. В случае завершения процесса spoolsv.exe, локальный пользователь не сможет распечатывать задания на локальном принтере.


Слайд 34




spoolsv.exe
	Файл spoolsv.exe всегда расположен в C:WindowsSystem32 директории. В случае обнаружения этого файла в любом другом каталоге он должен быть незамедлительно удален. В настоящее время известно несколько вирусов (например Backdoor.Ciadoor.B, VBS.Masscal.Worm, Hacktool.Privshell и другие), использующих имя spoolsv.exe для сокрытия своего присутствия в системе.

Описание слайда:

spoolsv.exe
Файл spoolsv.exe всегда расположен в C:WindowsSystem32 директории. В случае обнаружения этого файла в любом другом каталоге он должен быть незамедлительно удален. В настоящее время известно несколько вирусов (например Backdoor.Ciadoor.B, VBS.Masscal.Worm, Hacktool.Privshell и другие), использующих имя spoolsv.exe для сокрытия своего присутствия в системе.


Слайд 35




LSASS.EXE
	Является сервером аутентификации локальной защиты, создающим процесс, ответственный за проверку пользователей для службы Winlogon. Данный процесс использует пакеты аутентификации, такие как Msgina.dll. Если аутентификация успешна, процесс Lsass создает маркер доступа пользователя, который используется для запуска пользовательской оболочки. Другие процессы, инициализируемые пользователем, наследуют данный маркер.

Описание слайда:

LSASS.EXE
Является сервером аутентификации локальной защиты, создающим процесс, ответственный за проверку пользователей для службы Winlogon. Данный процесс использует пакеты аутентификации, такие как Msgina.dll. Если аутентификация успешна, процесс Lsass создает маркер доступа пользователя, который используется для запуска пользовательской оболочки. Другие процессы, инициализируемые пользователем, наследуют данный маркер.


Слайд 36




CSRSS.EXE
	Часть пользовательской Win32 подсистемы. SRSS - сокращение от "client/server run-time subsystem" (клиент/серверная подсистема). csrss отвечает за консольные приложения, создание/удаление потоков и за 16-битную виртуальную среду MS-DOS. 

	Файл csrss.exe всегда расположен в каталоге C:\Windows\System32/. В случае обнаружения этого файла в любом другом каталоге он должен быть незамедлительно удален. В настоящее время известно несколько десятков вирусов (например Trojan.Webus, W32.Dalbug.Worm, Spyware.LoverSpy и множество других), использующих имя csrss.exe для сокрытия своего присутствия в системе.

Описание слайда:

CSRSS.EXE
Часть пользовательской Win32 подсистемы. SRSS — сокращение от «client/server run-time subsystem» (клиент/серверная подсистема). csrss отвечает за консольные приложения, создание/удаление потоков и за 16-битную виртуальную среду MS-DOS.

Файл csrss.exe всегда расположен в каталоге C:\Windows\System32/. В случае обнаружения этого файла в любом другом каталоге он должен быть незамедлительно удален. В настоящее время известно несколько десятков вирусов (например Trojan.Webus, W32.Dalbug.Worm, Spyware.LoverSpy и множество других), использующих имя csrss.exe для сокрытия своего присутствия в системе.


Слайд 37




SMSS.EXE
	Данный процесс представляет подсистему менеджера сеансов. 
	Данная подсистема является ответственной за запуск пользовательского сеанса. Этот процесс инициализируется системным потоком и ответствен за различные действия, включая запуск процессов Winlogon и Win32 (Csrss.exe) и установку системных переменных. После запуска данных процессов процесс Smss ожидает их завершения. При "нормальном" завершении процессов система корректно завершает работу. Если процессы завершаются аварийно, процесс Smss.exe заставляет систему прекратить отвечать на запросы. Этот процесс нельзя завершить из менеджера задач. 
	Файл smss.exe расположен в каталоге c:windowsSystem32. В случае обнаружения этого файла в любом другом каталоге он должен быть незамедлительно удален. Наиболее распространенные вирусы, использующие для сокрытия своего присутствия в системе имя smss.exe – W32.Dalbug.Worm, Adware.DreamAd, Win32. Brontok, Win32 Sober, Win32.Landis и другие.

Описание слайда:

SMSS.EXE
Данный процесс представляет подсистему менеджера сеансов.
Данная подсистема является ответственной за запуск пользовательского сеанса. Этот процесс инициализируется системным потоком и ответствен за различные действия, включая запуск процессов Winlogon и Win32 (Csrss.exe) и установку системных переменных. После запуска данных процессов процесс Smss ожидает их завершения. При «нормальном» завершении процессов система корректно завершает работу. Если процессы завершаются аварийно, процесс Smss.exe заставляет систему прекратить отвечать на запросы. Этот процесс нельзя завершить из менеджера задач.
Файл smss.exe расположен в каталоге c:windowsSystem32. В случае обнаружения этого файла в любом другом каталоге он должен быть незамедлительно удален. Наиболее распространенные вирусы, использующие для сокрытия своего присутствия в системе имя smss.exe – W32.Dalbug.Worm, Adware.DreamAd, Win32. Brontok, Win32 Sober, Win32.Landis и другие.


Слайд 38




Ctfmon.exe
	Управляет технологиями альтернативного ввода данных. Он запускает языковую панель в системной трее при старте операционной системы, и работает в фоновом режиме даже после закрытия всех программ пакета Microsoft Office, независимо от того, запускались ли программы Office XP.

Описание слайда:

Ctfmon.exe
Управляет технологиями альтернативного ввода данных. Он запускает языковую панель в системной трее при старте операционной системы, и работает в фоновом режиме даже после закрытия всех программ пакета Microsoft Office, независимо от того, запускались ли программы Office XP.


Слайд 39




Ctfmon.exe
	Программа Ctfmon.exe активирует процессор текстового ввода компонента «Альтернативный ввод данных» и языковую панель Microsoft Office.  Программа производит мониторинг активных окон и предоставляет поддержку клавиатуры, перевода, распознавания речи и рукописных символов, а также других технологий альтернативного ввода данных. Удалять Ctfmon.exe не рекомендуется, потому что это может вызвать проблемы в работе программ пакета Microsoft Office. 
	Файл Ctfmon.exe всегда расположен в C:\Windows\System32. В случае обнаружения этого файла в любом другом каталоге он должен быть незамедлительно удален.  В настоящее время известно множество вирусов (например W32.Snow.A, Spyware.UltraKeylogger, Trojan.Satiloler и другие), использующих имя Ctfmon.exe для сокрытия своего присутствия в системе.

Описание слайда:

Ctfmon.exe
Программа Ctfmon.exe активирует процессор текстового ввода компонента «Альтернативный ввод данных» и языковую панель Microsoft Office.  Программа производит мониторинг активных окон и предоставляет поддержку клавиатуры, перевода, распознавания речи и рукописных символов, а также других технологий альтернативного ввода данных. Удалять Ctfmon.exe не рекомендуется, потому что это может вызвать проблемы в работе программ пакета Microsoft Office.
Файл Ctfmon.exe всегда расположен в C:\Windows\System32. В случае обнаружения этого файла в любом другом каталоге он должен быть незамедлительно удален.  В настоящее время известно множество вирусов (например W32.Snow.A, Spyware.UltraKeylogger, Trojan.Satiloler и другие), использующих имя Ctfmon.exe для сокрытия своего присутствия в системе.


  • Управление точками восстановления windows 10
  • Управление виртуальной памятью windows 10
  • Управление пользователями через командную строку windows
  • Управление профилями пользователей в windows 10
  • Управление вентилятором macbook на windows