Учебный курс Операционные среды, системы и оболочки Лекция 5 Лекции читает доктор технических наук, профессор Назаров Станислав Викторович.

Презентация:



Advertisements
Похожие презентации
Учебный курс Основы операционных систем Лекция 2 кандидат физико-математических наук, доцент Карпов Владимир Ефимович.
Advertisements

Демидов А.В г. Операционные системы Лекция 3 Процессы.
Операционные системы 1 Автор : доктор технических наук, профессор Назаров С.В. Тема 2. Процессы и потоки. Планирование и синхронизация Кафедра информатики.
Операционные системы Процессы и потоки Скрипов Сергей Александрович 2009.
Учебный курс Операционные среды, системы и оболочки Лекция 6 Лекции читает доктор технических наук, профессор Назаров Станислав Викторович.
Учебный курс Основы операционных систем Лекция 3 кандидат физико-математических наук, доцент Карпов Владимир Ефимович.
Лекция 6 Понятие операционных систем Учебные вопросы: 1. Характеристики ОС 2. Свободные и проприетарные ОС.
Лекция 3. Исключения и прерывания в встроенных системах.
Операционная система. Базовые понятия Операционная система – это комплекс программ, обеспечивающий контроль за существованием, распределением и использованием.
Архитектура операционной системы. Ядро и вспомогательные модули операционной системы При функциональной декомпозиции ОС модули разделяются на две группы:
Операционные системы Подготовила Подготовила студентка студентка 1 курса группы Э курса группы Э-108 Шпудейко Кристина Шпудейко Кристина.
Учебный курс Принципы построения и функционирования ЭВМ Лекция 11 Микрокоманды и микрооперации профессор ГУ-ВШЭ, доктор технических наук Геннадий Михайлович.
Выполнили: Мартышкин А. И. Кутузов В. В., Трояшкин П. В., Руководитель проекта – Мартышкин А. И., аспирант, ассистент кафедры ВМиС ПГТА.
Лекция 2 Управление задачами Процессы и потоки. Процесс Выполнение пассивных инструкций компьютерной программы на процессоре ЭВМ. Стандарт ISO 9000:2000.
Операционные системы, среды и оболочки Понятие операционной системы. Основные функции ОС.
Операционные системы Процессы и потоки Скрипов Сергей Александрович 2009.
Лабораторный практикум по курсу Принципы построения современных ОС Линёв А.В. – ассистент, кафедра ИИСиГИ ВМК ННГУ Свистунов А.Н. – ассистент, кафедра.
Процессы и потоки. Процессы В общем представлении, процесс - это программа, выполняющаяся в оперативной памяти компьютера. Реально, все гораздо сложней.
Учебный курс Введение в цифровую электронику Лекция 5 Обмен информацией в микропроцессорной системе кандидат технических наук, доцент Новиков Юрий Витальевич.
Прерывания Определение прерывания Прерывания представляют собой механизм, позволяющий координировать параллельное функционирование отдельных устройств.
Транксрипт:

Учебный курс Операционные среды, системы и оболочки Лекция 5 Лекции читает доктор технических наук, профессор Назаров Станислав Викторович

Мультипрограммирование в системах разделения времени 123…n Центральный процессор T КВ = 0,02 мс Мультипрограммирование в системах реального времени 1.Управление техническими объектами, технологическими процессами, системами обслуживания и т. п. 2.Фиксированный набор заранее разработанных задач. 3.Жесткие ограничения на время обслуживания. 4.Режим типа запрос – ответ Мультипроцессорная обработка 1.Операционные системы : Windows NT/2000/2003, Sun Solaris 2/x, Santa Cruz Operations Open Server 3.x, OS/2 и др. 2.Симметричная архитектура и асимметричная архитектура.

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

Управление процессами и потоками Основные функции управления процессами и потоками 1.Создание процессов и потоков. 2.Обеспечение процессов и потоков необходимыми ресурсами. 3.Изоляция процессов. 4.Планирование выполнения процессов и потоков. 5.Диспетчеризация потоков. 6.Синхронизация процессов и потоков. 7.Завершение и уничтожение процессов и потоков. События, приводящие к созданию процессов: 1.Инициализация (загрузка) ОС. 2.Запрос процесса на создание дочернего процесса. 3.Запрос пользователя на создание процесса (например, при входе в систему в интерактивном режиме). 4.Инициирование пакетного задания. 5.Создание операционной системой процесса какой-либо службы.

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

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

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

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

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

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

Потоки и их модели Описатель потока : блок управления потоком и контекст потока (в многопоточной системе процессы контекстов не имеют). Способы реализации пакета потоков: в пространстве пользователя (user – level threads – ULT); в ядре (kernel – level threads – KLT).

12 Поток на уровне пользователя (в пользовательском пространстве) Процессы Пространство пользователя Потоки Ядро Таблица процессов Таблица потоков Библиотека подпрограмм для работы с потоками: thread_criate, thread_exit, thread_wait, thread_yield

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

14 Поток на уровне пользователя Поток на уровне пользователя НЕДОСТАТКИ: НЕДОСТАТКИ: системный вызов блокирует не только работающий поток, но и все потоки того процесса, к которому он относится; системный вызов блокирует не только работающий поток, но и все потоки того процесса, к которому он относится; приложение не может работать в многопроцессорном режиме, так как ядро закрепляет за каждым процессом только один процессор; приложение не может работать в многопроцессорном режиме, так как ядро закрепляет за каждым процессом только один процессор; при запуске одного потока ни один другой поток а рамках одного процесса не будет запущен пока первый добровольно не отдаст процессор; при запуске одного потока ни один другой поток а рамках одного процесса не будет запущен пока первый добровольно не отдаст процессор; внутри одного потока нет прерываний по таймеру, в результате чего невозможно создать планировщик по таймеру для поочередного выполнения потоков. внутри одного потока нет прерываний по таймеру, в результате чего невозможно создать планировщик по таймеру для поочередного выполнения потоков.

15 Поток на уровне ядра Процессы Потоки Ядро Пространство пользователя Таблица процессов Таблица потоков

16 Поток на уровне ядра Поток на уровне ядра ДОСТОИНСТВА: ДОСТОИНСТВА: возможно планирование работы нескольких потоков одного и того же процесса на нескольких процессорах; возможно планирование работы нескольких потоков одного и того же процесса на нескольких процессорах; реализуется мультипрограммирование в рамках всех процессов (в том числе одного); реализуется мультипрограммирование в рамках всех процессов (в том числе одного); при блокировании одного из потоков процесса ядро может выбрать другой поток этого же (или другого процесса); при блокировании одного из потоков процесса ядро может выбрать другой поток этого же (или другого процесса); процедуры ядра могут быть многопоточными. процедуры ядра могут быть многопоточными. НЕДОСТАТКИ: НЕДОСТАТКИ: Необходимость двукратного переключения режима пользователь – ядро, ядро – пользователь для передачи управления от одного потока к другому в рамках одного и того же процесса. Необходимость двукратного переключения режима пользователь – ядро, ядро – пользователь для передачи управления от одного потока к другому в рамках одного и того же процесса.

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