Лекция 2 Управление задачами Процессы и потоки. Процесс Выполнение пассивных инструкций компьютерной программы на процессоре ЭВМ. Стандарт ISO 9000:2000.

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



Advertisements
Похожие презентации
Системы реального времени Лекция 4: процессы. Понятие процесса Процесс - фундаментальное понятие любой операционной системы С помощью процессов происходит.
Advertisements

Микропроцессоры Лекция 6. СТРУКТУРА ЭЛЕМЕНТАРНОГО МИКРОПРОЦЕССОРА (ЭМП) Основным устройством всех цифровых систем (ЦС) является центральный процессор.
Прерывания Определение прерывания Прерывания представляют собой механизм, позволяющий координировать параллельное функционирование отдельных устройств.
Системное программное обеспечение Кыргызско – Российский Славянский Университет Кафедра ИВТ, 3-й курс ИВТ, 5 семестр Лекция 9.
Локальная компьютерная сеть Локальная компьютерная сеть – это система взаимосвязанных компьютеров, работающих в пределах одного помещения, здания, одной.
Учебный курс Операционные среды, системы и оболочки Лекция 5 Лекции читает доктор технических наук, профессор Назаров Станислав Викторович.
Учебный курс Основы операционных систем Лекция 2 кандидат физико-математических наук, доцент Карпов Владимир Ефимович.
Процессоры Intel в защищенном режиме. Недостатки реального режима Невозможно адресовать пространство памяти свыше 1-го Мб Невозможно работать с массивами,
Управление процессами Понятие процесса. Представление процесса в различных операционных системах Старший преподаватель каф. Процессов управления и информационной.
1 ЛЕКЦИЯ 3 ХАРАКТЕРИСТИКА ЗАЩИЩЕННОГО РЕЖИМА РАБОТЫ МИКРОПРОЦЕССОРА В реальном режиме работы поддерживается выполнение всего одной программы. Для этого.
Лекция 6. Способы адресации в микропроцессорных системах.
Функциональные возможности ВС. Составные части понятия «архитектура» Вычислительные и логические возможности ВС. Они обусловливаются системой команд (СК),
Операционная система MS Windows* Развитие ОС: пакетная обработка, интерактивные системы, ОС реального времени, системы с разделением времени. Истинная.
Лекция 7 Управление памятью Сегментная, страничная и сегментно- страничная организация памяти.
Управление процессами. Определение процесса. Основные понятия Процесс совокупность машинных команд и данных, которая обрабатывается в рамках вычислительной.
Встроенные Системы Часть 3. Прерывания Кафедра Информатики, мат-мех СПбГУ Copyright © 2004 Victor Vengerov
1 Управление памятью Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
Процессы и потоки. Процессы В общем представлении, процесс - это программа, выполняющаяся в оперативной памяти компьютера. Реально, все гораздо сложней.
Алгоритмы замещения страниц
Программный принцип управления компьютером Заречнева И. В.
Транксрипт:

Лекция 2 Управление задачами Процессы и потоки

Процесс Выполнение пассивных инструкций компьютерной программы на процессоре ЭВМ. Стандарт ISO 9000:2000 Definitions определяет процесс как совокупность взаимосвязанных и взаимодействующих действий, преобразующих входящие данные в исходящие. Компьютерная программа сама по себе это только пассивная совокупность инструкций, в то время как процесс это непосредственное выполнение этих инструкций. Часто процессом называют выполняющуюся программу и все её элементы: адресное пространство, глобальные переменные, регистры, стек, открытые файлы и т. д.

Контекст процесса Адресное пространство Содержимое аппаратных регистров Структуры данных ядра Адресное пространство – список адресов в памяти от некоторого минимума (обычно ноль) до некоторого максимума, которые процесс может прочесть и в которые может писать. Содержит саму программу, данные к ней и ее стек. (core image)

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

Системный контекст Запись в таблице процессов, описывающая состояние процесса и содержащая различную управляющую информацию, к которой ядро всегда может обратиться. Часть адресного пространства задачи, выделенная процессу, где хранится управляющая информация о процессе, доступная только в контексте процесса. Общие управляющие параметры, такие как приоритет процесса, хранятся в таблице процессов, поскольку обращение к ним должно производиться за пределами контекста процесса. Записи частной таблицы областей процесса, общие таблицы областей и таблицы страниц, необходимые для преобразования виртуальных адресов в физические. + В задачи управления памятью входит идентификация участков виртуального адресного пространства процесса, не являющихся резидентными в памяти. Стек ядра, в котором хранятся записи процедур ядра, если процесс выполняется в режиме ядра. Несмотря на то, что все процессы пользуются одними и теми же программами ядра, каждый из них имеет свою собственную копию стека ядра для хранения индивидуальных обращений к функциям ядра. Ядро должно иметь возможность восстанавливать содержимое стека ядра и положение указателя вершины стека для того, чтобы возобновлять выполнение процесса в режиме ядра. В различных системах стек ядра часто располагается в пространстве процесса, однако этот стек является логически-независимым и, таким образом, может помещаться в самостоятельной области памяти. + Динамическая часть системного контекста процесса, состоящая из несколь ких уровней и имеющая вид стека, который освобождается от элементов в порядке, обратном порядку их поступления. На каждом уровне системного контекста содержится информация, необходимая для восстановления предыдущего уровня и включающая в себя регистровый контекст предыдущего уровня.. Если несколько процессов совместно используют общие области, эти области входят составной частью в контекст каждого процесса, поскольку каждый процесс работает с этими областями независимо от других процессов. Когда процесс выполняется в режиме задачи, соответствующий ему стек ядра пуст.

Таблица процессов Управление процессомУправление памятьюУправление файлами Регистры Счетчик команд Указатель стека Состояние процесса Приоритет Параметры планирования Идентификатор процесса Родительский процесс Группа процесса Время начала процесса Использованное процессорное время Указатель на текстовый сегмент Указатель на сегмент данных Указатель на сегмент стека Корневой каталог Рабочий каталог Дескрипторы файла Идентификатор пользователя Идентификатор группы

Модель процесса Один счетчик команд A B C D 4 счетчика команд ABCD A B C D время В каждый момент времени активен только 1 процесс

Состояния процесса 1. процесс блокируется ожидая ввода данных 2. планировщик выбирает другой процесс 3. планировщик выбирает этот процесс 4. доступны входные данные Блокировка Действие Готовность Работающий (в этот конкретный момент использующий процессор) 2.Готовый к работе (приостановлен что бы позволить работать другому процессу) 3.Заблокирован (ждет внешнего события)

Иерархия процессов UnixWindows Все процессы связаны Один "родитель" и сколько угодно "детей" Единое дерево во главе - init Не существует иерархии Все процессы равноправны Родительский процесс имеет дескриптор, позволяющий контролировать дочерний процесс. (Дескриптор можно передать другому процессу)

Пример иерархии Unix initbashls -lagrepsendmailpopsmtp ls –ls | grep doc

Потоки (thread, нити) Существуют только "внутри" процесса Служат для выполнения программ в одной концепции процесса

Потоки Ядро поток Процесс 3Процесс 1Процесс 2 Ядро поток Процесс 1 Простр анство пользо вателя

Таблица потока Элемент процессаЭлемент потока 1.Адресное пространство 2.Глобальные переменные 3.Открытые файлы 4.Дочерние процессы 5.Необработанные аварийные сигналы 6.Сигналы и их обработчики 7.Информация об использовании ресурсов 1.Счетчик команд 2.Регистры 3.Стек 4.Состояние

Реализация потоков

Примеры Редактирование документов Веб сервер - кеширование

Вопрос 2 Назовите понятие: «Заходя в ванную, Анна забыла взять с собой халат. Обычно она может выйти в комнату и в неодетом виде, но, пока она была в ванной, в гости зашёл Антон, которому Анна должна отдать флэшку, которая лежит у неё в сумочке. Сам Антон в сумочку лезть отказывается, и требует, чтобы флэшку отдала ему Анна. Без флэшки он не уйдёт. Анна не может выйти в комнату пока там Антон. Антон ждёт, пока ему отдадут флешку, Анна ждёт ухода Антона, после которого она может выйти и отдать флешку.»