SlideShare a Scribd company logo
1 of 21
Тема 4.
“Основные принципы управления
процессором и процессами.”
1. Основные понятия
2. Управление процессором в однопрограммном режиме
3. Управление процессором в режиме мультипрограммирования
3.1. Понятие мультипрограммирования
3.2. Мультипрограммирование в системах пакетной обработки
3.3. Мультипрограммирование в системах разделения времени
3.4. Мультипрограммирование в системах реального времени
1. Основные понятия
Начиная с 1960-х годов в вычислительных системах
используется мультипрограммирование, или
мультизадачность (multitasking) – способ
организации вычислительного процесса, при
котором на одном процессоре выполняются сразу
несколько программ.
Основными критериями для оценки эффективности
вычислительной системы являются:
 пропускная способность – количество задач, выполняемых
вычислительной системой в единицу времени;
 удобство работы пользователей, заключающееся, например, в
том, что они могут одновременно работать в интерактивном
режиме с несколькими приложениями на одном компьютере;
 реактивность системы.
В настоящее время в большинстве операционных систем
определены два типа единиц работы.
Под процессом (задачей) при этом понимается более
крупная единица работы, требующая для своего
выполнения несколько единиц более мелких работ,
называемых “поток”, или “нить”.
Каждый процесс должен иметь возможность влиять только на
принадлежащие ему коды и данные, поэтому в задачи ОС при
управлении процессами входит изоляция одного процесса от
другого.
Реализация этих задач подразумевает выделение операционной
системой каждому процессу виртуального адресного пространства
– совокупность адресов, которыми может манипулировать
программный модуль процесса.
Потоки возникли в операционных системах как средство
распараллеливания вычислений.
Конечно, задача распараллеливания вычислений в рамках одного
приложения может быть решена и традиционными способами.
Во-первых, прикладной программист может взять на себя сложную
задачу организации параллелизма, выделив в приложении
некоторую подпрограмму-диспетчер, которая периодически
передает управление той или иной ветви вычислений.
Во-вторых, решением является создание для одного приложения
нескольких процессов для каждой из параллельных работ.
В операционной системе наряду с процессами нужен другой
механизм распараллеливания вычислений, который учитывал бы
тесные связи между отдельными ветвями вычислений одного и того
же приложения.
Для этих целей современные ОС предлагают механизм
мпогопоточной обработки (multithreading).
При этом вводится новая единица работы – поток выполнения, а
понятие “процесс” в значительной степени меняет смысл.
Понятию “поток” соответствует последовательный переход
процессора от одной команды программы к другой.
Создание потоков, а не процессов, требует от ОС меньших
накладных расходов.
Все потоки одного процесса используют общие файлы,
таймеры, устройства, одну и ту же область оперативной памяти,
одно и то же адресное пространство.
Это означает, что они разделяют одни и те же глобальные
переменные.
Чтобы организовать взаимодействие и обмен данными, потокам
вовсе не требуется обращаться к ОС, им достаточно использовать
общую память – один поток записывает данные, а другой читает
их.
.
Итак, мультипрограммирование более эффективно на уровне потоков.
 Каждый поток имеет собственный счетчик команд и стек.
 Задача, оформленная в виде нескольких потоков в рамках одного
процесса, может быть выполнена быстрее за счет псевдопараллельного
(или параллельного в мультипроцессорной системе) выполнения ее
отдельных частей.
 Использование потоков связано с целью создания более читабельных,
логичных программ.
 Введение нескольких потоков выполнения упрощает
программирование.
 Наибольший эффект от введения многопоточной обработки
достигается в мультипроцессорных системах, в которых потоки, в том
числе и принадлежащие одному процессу, могут выполняться на разных
процессорах действительно параллельно (а не псевдопараллельно).
2. Управление процессором в однопрограммном
режиме
В такой ОС существует два процесса:
 системный процесс – процесс выполнения программ ОС и
 пользовательский процесс – процесс выполнения программ
пользователя.
Переключение “пользовательский процесс – системный
процесс” в однопрограммной ОС связано со следующими
событиями в вычислительной системе:
 завершение пользовательского процесса;
 обращение пользовательского процесса к системному
процессу для выполнения каких-либо функций ОС.
Переключение “системный процесс – пользовательский
процесс” связано с:
 созданием пользовательского процесса;
 завершением выполнения функций ОС, используемых
пользовательским процессом.
3.1. Понятие мультипрограммирования
Операционные системы, поддерживающие
мультипрограммирование, в зависимости от выбранного
критерия эффективности вычислительной системы можно
разделить на несколько основных типов:
 системы пакетной обработки,
 системы разделения времени,
 системы реального времени.
3.2. Мультипрограммирование в системах
пакетной обработки
При использовании мультипрограммирования для повышения
пропускной способности компьютера главная цель – минимизация
простоев всех устройств компьютера, и в первую очередь
центрального процессора.
Рациональный режим функционирования в системах
пакетной обработки достигается благодаря использованию
следующей схемы функционирования:
 в начале работы формируется пакет заданий, каждое
задание содержит требование к системным ресурсам;
 из этого пакета заданий формируется
мультипрограммная смесь, т.е. множество одновременно
выполняемых задач.
Следствием такой схемы организации
мультипрограммирования в вычислительных системах,
является отсутствие гарантии выполнения какого-либо
задания в течение определенного периода времени.
В задачах, в которых преобладают либо вычисления, либо
ввод-вывод, ускорение почти отсутствует.
Параллелизм в рамках одной задачи невозможен также,
когда для продолжения вычислений необходимо полное
завершение операции ввода-вывода, например, когда
дальнейшие вычисления зависят от вводимых данных.
Общее время выполнения смеси задач часто оказывается меньше,
чем их суммарное время последовательного выполнения:
Вычисления А А В В
Ввод-вывод А В
а
Вычисления А В А В
Ввод-вывод А В
Готовность А В
1 2 3 4 5 6 7 8 9 10 11 Т
б
Рис. 2. Время выполнения двух задач: а – в однопрограммной системе;
б – в мультипрограммной системе
3.3. Мультипрограммирование в системах
разделения времени
В том случае, когда критерием эффективности работы
системы является удобство работы пользователя, то
применяется другой способ мультипрограммирования –
разделения времени.
 В системах разделения времени исправлен основной
недостаток пакетной обработки – изолированность пользователя
от процесса выполнения его задач.
 Одной из основных причин, по которой системы разделения
времени обладают меньшей пропускной способностью, чем
системы пакетной обработки, является то, что на выполнение
принимается каждая запущенная пользователем задача, а не та,
которая “выгодна” ОС.
 Критерием эффективности систем разделения времени
является не максимальная пропускная способность, а удобство
и эффективность работы пользователя.
3.4. Мультипрограммирование в системах
реального времени
Еще одна разновидность
мультипрограммирования
используется в системах реального
времени, предназначенных для
управления с помощью
компьютера различными
техническими объектами или
технологическими процессами.
Критерием эффективности здесь
является время реакции системы.
В системах реального времени:
 мультипрограммная смесь отличается от рассмотренных
ранее и представляет собой фиксированный набор заранее
разработанных программ, а выбор программы на выполнение
осуществляется исходя из текущего состояния объекта или в
соответствии с расписанием плановых работ.
 не стремятся максимально загружать все устройства,
наоборот, при проектировании программного управляющего
комплекса обычно закладывается некоторый “запас”
вычислительной мощности на случай пиковой нагрузки.
Спасибо за внимание!

More Related Content

What's hot

ОС в реальном времени
ОС в реальном времениОС в реальном времени
ОС в реальном времениNick535
 
Структура операционных систем
Структура операционных системСтруктура операционных систем
Структура операционных системNick535
 
Cистемное программное обеспечение
Cистемное программное обеспечениеCистемное программное обеспечение
Cистемное программное обеспечениеNick535
 
Программа подготовки презентаций Microsoft PowerPoint 2013
Программа  подготовки презентаций Microsoft PowerPoint 2013 Программа  подготовки презентаций Microsoft PowerPoint 2013
Программа подготовки презентаций Microsoft PowerPoint 2013 DianaLirika
 
6 операционная система
6 операционная система6 операционная система
6 операционная системаzarechneva
 
Введение в Операционную Систему Windows XP
Введение в Операционную Систему Windows XPВведение в Операционную Систему Windows XP
Введение в Операционную Систему Windows XPkurbanovafaina
 
Внутренняя память компьютера
Внутренняя память компьютераВнутренняя память компьютера
Внутренняя память компьютераNick535
 
Занятие № 5. Общие сведения MS-DOS . Основные модули ОС. Основные команды MS-DOS
Занятие № 5. Общие сведения MS-DOS . Основные модули ОС. Основные команды MS-DOSЗанятие № 5. Общие сведения MS-DOS . Основные модули ОС. Основные команды MS-DOS
Занятие № 5. Общие сведения MS-DOS . Основные модули ОС. Основные команды MS-DOSAibek9
 

What's hot (20)

ос
осос
ос
 
ОС в реальном времени
ОС в реальном времениОС в реальном времени
ОС в реальном времени
 
Структура операционных систем
Структура операционных системСтруктура операционных систем
Структура операционных систем
 
операционная система
операционная системаоперационная система
операционная система
 
Cистемное программное обеспечение
Cистемное программное обеспечениеCистемное программное обеспечение
Cистемное программное обеспечение
 
ос
осос
ос
 
лекция 1
лекция 1лекция 1
лекция 1
 
2
22
2
 
лекция 5 (2часа)
лекция 5 (2часа)лекция 5 (2часа)
лекция 5 (2часа)
 
36 m9o
36 m9o36 m9o
36 m9o
 
11 операционная система
11 операционная система11 операционная система
11 операционная система
 
Prezentatsia Elina
Prezentatsia ElinaPrezentatsia Elina
Prezentatsia Elina
 
Программа подготовки презентаций Microsoft PowerPoint 2013
Программа  подготовки презентаций Microsoft PowerPoint 2013 Программа  подготовки презентаций Microsoft PowerPoint 2013
Программа подготовки презентаций Microsoft PowerPoint 2013
 
презентация 1
презентация 1презентация 1
презентация 1
 
6 операционная система
6 операционная система6 операционная система
6 операционная система
 
Введение в Операционную Систему Windows XP
Введение в Операционную Систему Windows XPВведение в Операционную Систему Windows XP
Введение в Операционную Систему Windows XP
 
9
99
9
 
Внутренняя память компьютера
Внутренняя память компьютераВнутренняя память компьютера
Внутренняя память компьютера
 
Занятие № 5. Общие сведения MS-DOS . Основные модули ОС. Основные команды MS-DOS
Занятие № 5. Общие сведения MS-DOS . Основные модули ОС. Основные команды MS-DOSЗанятие № 5. Общие сведения MS-DOS . Основные модули ОС. Основные команды MS-DOS
Занятие № 5. Общие сведения MS-DOS . Основные модули ОС. Основные команды MS-DOS
 
88
8888
88
 

Similar to Основные принципы управления процессором и процессами

обеспечивающие программы
обеспечивающие программыобеспечивающие программы
обеспечивающие программыDulat Zhansugurov
 
основы микропроцессорной техники
основы микропроцессорной техникиосновы микропроцессорной техники
основы микропроцессорной техникиMary Dimitrova
 
TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...
TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...
TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...Anna Toropova
 
27
2727
27JIuc
 
036
036036
036JIuc
 
кластеры и суперкомпьютеры
кластеры и суперкомпьютерыкластеры и суперкомпьютеры
кластеры и суперкомпьютерыnastena07051995
 
Обзор операционных систем Microsoft Windows.
Обзор операционных систем Microsoft Windows.Обзор операционных систем Microsoft Windows.
Обзор операционных систем Microsoft Windows.aizhanzhik
 
Distributed Systems Presentation for Business informatics students (Staroletov)
Distributed Systems Presentation for Business informatics students (Staroletov)Distributed Systems Presentation for Business informatics students (Staroletov)
Distributed Systems Presentation for Business informatics students (Staroletov)Sergey Staroletov
 
Разработка ресурсоемких приложений в среде Visual C++
Разработка ресурсоемких приложений в среде Visual C++Разработка ресурсоемких приложений в среде Visual C++
Разработка ресурсоемких приложений в среде Visual C++Tatyanazaxarova
 
презентация релиз 5
презентация релиз 5презентация релиз 5
презентация релиз 5eugenij eugenij
 
Role of Semantic Models in smarter industrial ops Chapter 2 of current MOM Ch...
Role of Semantic Models in smarter industrial ops Chapter 2 of current MOM Ch...Role of Semantic Models in smarter industrial ops Chapter 2 of current MOM Ch...
Role of Semantic Models in smarter industrial ops Chapter 2 of current MOM Ch...Bill Bosler, P.E.
 
лекция 18
лекция 18лекция 18
лекция 18JIuc
 
Руководство по формату событий для разработчиков
Руководство по формату событий для разработчиковРуководство по формату событий для разработчиков
Руководство по формату событий для разработчиковOlesya Shelestova
 
Организация системы сокращения затрат в процессах печати
Организация системы сокращения затрат в процессах печатиОрганизация системы сокращения затрат в процессах печати
Организация системы сокращения затрат в процессах печатиDiana Mokhina
 
041
041041
041JIuc
 

Similar to Основные принципы управления процессором и процессами (20)

обеспечивающие программы
обеспечивающие программыобеспечивающие программы
обеспечивающие программы
 
основы микропроцессорной техники
основы микропроцессорной техникиосновы микропроцессорной техники
основы микропроцессорной техники
 
лекция 2
лекция 2лекция 2
лекция 2
 
презентация6
презентация6презентация6
презентация6
 
TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...
TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...
TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...
 
27
2727
27
 
036
036036
036
 
кластеры и суперкомпьютеры
кластеры и суперкомпьютерыкластеры и суперкомпьютеры
кластеры и суперкомпьютеры
 
Обзор операционных систем Microsoft Windows.
Обзор операционных систем Microsoft Windows.Обзор операционных систем Microsoft Windows.
Обзор операционных систем Microsoft Windows.
 
презентация 2
презентация 2презентация 2
презентация 2
 
CUDA-Aware MPI notes
CUDA-Aware MPI notesCUDA-Aware MPI notes
CUDA-Aware MPI notes
 
Distributed Systems Presentation for Business informatics students (Staroletov)
Distributed Systems Presentation for Business informatics students (Staroletov)Distributed Systems Presentation for Business informatics students (Staroletov)
Distributed Systems Presentation for Business informatics students (Staroletov)
 
Разработка ресурсоемких приложений в среде Visual C++
Разработка ресурсоемких приложений в среде Visual C++Разработка ресурсоемких приложений в среде Visual C++
Разработка ресурсоемких приложений в среде Visual C++
 
презентация релиз 5
презентация релиз 5презентация релиз 5
презентация релиз 5
 
Role of Semantic Models in smarter industrial ops Chapter 2 of current MOM Ch...
Role of Semantic Models in smarter industrial ops Chapter 2 of current MOM Ch...Role of Semantic Models in smarter industrial ops Chapter 2 of current MOM Ch...
Role of Semantic Models in smarter industrial ops Chapter 2 of current MOM Ch...
 
лекция 18
лекция 18лекция 18
лекция 18
 
Руководство по формату событий для разработчиков
Руководство по формату событий для разработчиковРуководство по формату событий для разработчиков
Руководство по формату событий для разработчиков
 
Load testing with Tsung
Load testing with TsungLoad testing with Tsung
Load testing with Tsung
 
Организация системы сокращения затрат в процессах печати
Организация системы сокращения затрат в процессах печатиОрганизация системы сокращения затрат в процессах печати
Организация системы сокращения затрат в процессах печати
 
041
041041
041
 

Основные принципы управления процессором и процессами

  • 1. Тема 4. “Основные принципы управления процессором и процессами.” 1. Основные понятия 2. Управление процессором в однопрограммном режиме 3. Управление процессором в режиме мультипрограммирования 3.1. Понятие мультипрограммирования 3.2. Мультипрограммирование в системах пакетной обработки 3.3. Мультипрограммирование в системах разделения времени 3.4. Мультипрограммирование в системах реального времени
  • 2. 1. Основные понятия Начиная с 1960-х годов в вычислительных системах используется мультипрограммирование, или мультизадачность (multitasking) – способ организации вычислительного процесса, при котором на одном процессоре выполняются сразу несколько программ.
  • 3. Основными критериями для оценки эффективности вычислительной системы являются:  пропускная способность – количество задач, выполняемых вычислительной системой в единицу времени;  удобство работы пользователей, заключающееся, например, в том, что они могут одновременно работать в интерактивном режиме с несколькими приложениями на одном компьютере;  реактивность системы.
  • 4. В настоящее время в большинстве операционных систем определены два типа единиц работы. Под процессом (задачей) при этом понимается более крупная единица работы, требующая для своего выполнения несколько единиц более мелких работ, называемых “поток”, или “нить”.
  • 5. Каждый процесс должен иметь возможность влиять только на принадлежащие ему коды и данные, поэтому в задачи ОС при управлении процессами входит изоляция одного процесса от другого. Реализация этих задач подразумевает выделение операционной системой каждому процессу виртуального адресного пространства – совокупность адресов, которыми может манипулировать программный модуль процесса.
  • 6. Потоки возникли в операционных системах как средство распараллеливания вычислений. Конечно, задача распараллеливания вычислений в рамках одного приложения может быть решена и традиционными способами. Во-первых, прикладной программист может взять на себя сложную задачу организации параллелизма, выделив в приложении некоторую подпрограмму-диспетчер, которая периодически передает управление той или иной ветви вычислений. Во-вторых, решением является создание для одного приложения нескольких процессов для каждой из параллельных работ.
  • 7. В операционной системе наряду с процессами нужен другой механизм распараллеливания вычислений, который учитывал бы тесные связи между отдельными ветвями вычислений одного и того же приложения. Для этих целей современные ОС предлагают механизм мпогопоточной обработки (multithreading). При этом вводится новая единица работы – поток выполнения, а понятие “процесс” в значительной степени меняет смысл. Понятию “поток” соответствует последовательный переход процессора от одной команды программы к другой. Создание потоков, а не процессов, требует от ОС меньших накладных расходов.
  • 8. Все потоки одного процесса используют общие файлы, таймеры, устройства, одну и ту же область оперативной памяти, одно и то же адресное пространство. Это означает, что они разделяют одни и те же глобальные переменные. Чтобы организовать взаимодействие и обмен данными, потокам вовсе не требуется обращаться к ОС, им достаточно использовать общую память – один поток записывает данные, а другой читает их. .
  • 9. Итак, мультипрограммирование более эффективно на уровне потоков.  Каждый поток имеет собственный счетчик команд и стек.  Задача, оформленная в виде нескольких потоков в рамках одного процесса, может быть выполнена быстрее за счет псевдопараллельного (или параллельного в мультипроцессорной системе) выполнения ее отдельных частей.  Использование потоков связано с целью создания более читабельных, логичных программ.  Введение нескольких потоков выполнения упрощает программирование.  Наибольший эффект от введения многопоточной обработки достигается в мультипроцессорных системах, в которых потоки, в том числе и принадлежащие одному процессу, могут выполняться на разных процессорах действительно параллельно (а не псевдопараллельно).
  • 10. 2. Управление процессором в однопрограммном режиме В такой ОС существует два процесса:  системный процесс – процесс выполнения программ ОС и  пользовательский процесс – процесс выполнения программ пользователя.
  • 11. Переключение “пользовательский процесс – системный процесс” в однопрограммной ОС связано со следующими событиями в вычислительной системе:  завершение пользовательского процесса;  обращение пользовательского процесса к системному процессу для выполнения каких-либо функций ОС. Переключение “системный процесс – пользовательский процесс” связано с:  созданием пользовательского процесса;  завершением выполнения функций ОС, используемых пользовательским процессом.
  • 12. 3.1. Понятие мультипрограммирования Операционные системы, поддерживающие мультипрограммирование, в зависимости от выбранного критерия эффективности вычислительной системы можно разделить на несколько основных типов:  системы пакетной обработки,  системы разделения времени,  системы реального времени.
  • 13. 3.2. Мультипрограммирование в системах пакетной обработки При использовании мультипрограммирования для повышения пропускной способности компьютера главная цель – минимизация простоев всех устройств компьютера, и в первую очередь центрального процессора.
  • 14. Рациональный режим функционирования в системах пакетной обработки достигается благодаря использованию следующей схемы функционирования:  в начале работы формируется пакет заданий, каждое задание содержит требование к системным ресурсам;  из этого пакета заданий формируется мультипрограммная смесь, т.е. множество одновременно выполняемых задач.
  • 15. Следствием такой схемы организации мультипрограммирования в вычислительных системах, является отсутствие гарантии выполнения какого-либо задания в течение определенного периода времени. В задачах, в которых преобладают либо вычисления, либо ввод-вывод, ускорение почти отсутствует. Параллелизм в рамках одной задачи невозможен также, когда для продолжения вычислений необходимо полное завершение операции ввода-вывода, например, когда дальнейшие вычисления зависят от вводимых данных.
  • 16. Общее время выполнения смеси задач часто оказывается меньше, чем их суммарное время последовательного выполнения: Вычисления А А В В Ввод-вывод А В а Вычисления А В А В Ввод-вывод А В Готовность А В 1 2 3 4 5 6 7 8 9 10 11 Т б Рис. 2. Время выполнения двух задач: а – в однопрограммной системе; б – в мультипрограммной системе
  • 17. 3.3. Мультипрограммирование в системах разделения времени В том случае, когда критерием эффективности работы системы является удобство работы пользователя, то применяется другой способ мультипрограммирования – разделения времени.
  • 18.  В системах разделения времени исправлен основной недостаток пакетной обработки – изолированность пользователя от процесса выполнения его задач.  Одной из основных причин, по которой системы разделения времени обладают меньшей пропускной способностью, чем системы пакетной обработки, является то, что на выполнение принимается каждая запущенная пользователем задача, а не та, которая “выгодна” ОС.  Критерием эффективности систем разделения времени является не максимальная пропускная способность, а удобство и эффективность работы пользователя.
  • 19. 3.4. Мультипрограммирование в системах реального времени Еще одна разновидность мультипрограммирования используется в системах реального времени, предназначенных для управления с помощью компьютера различными техническими объектами или технологическими процессами. Критерием эффективности здесь является время реакции системы.
  • 20. В системах реального времени:  мультипрограммная смесь отличается от рассмотренных ранее и представляет собой фиксированный набор заранее разработанных программ, а выбор программы на выполнение осуществляется исходя из текущего состояния объекта или в соответствии с расписанием плановых работ.  не стремятся максимально загружать все устройства, наоборот, при проектировании программного управляющего комплекса обычно закладывается некоторый “запас” вычислительной мощности на случай пиковой нагрузки.