Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемВячеслав Филькин
1 Лекция 2 Управление задачами Процессы и потоки
2 Процесс Выполнение пассивных инструкций компьютерной программы на процессоре ЭВМ. Стандарт ISO 9000:2000 Definitions определяет процесс как совокупность взаимосвязанных и взаимодействующих действий, преобразующих входящие данные в исходящие. Компьютерная программа сама по себе это только пассивная совокупность инструкций, в то время как процесс это непосредственное выполнение этих инструкций. Часто процессом называют выполняющуюся программу и все её элементы: адресное пространство, глобальные переменные, регистры, стек, открытые файлы и т. д.
3 Контекст процесса Адресное пространство Содержимое аппаратных регистров Структуры данных ядра Адресное пространство – список адресов в памяти от некоторого минимума (обычно ноль) до некоторого максимума, которые процесс может прочесть и в которые может писать. Содержит саму программу, данные к ней и ее стек. (core image)
4 Регистровый контент Счетчика команд, указывающего адрес следующей команды, которую будет вы- полнять центральный процессор; этот адрес является виртуальным адресом внутри пространства ядра или пространства задачи. Регистра состояния процессора (PS), который указывает аппаратный статус машины по отношению к процессу. Регистр PS, например, обычно содержит подполя, которые указывают, является ли результат последних вычислений нулевым, положительным или отрицательным, переполнен ли регистр с установкой бита переноса и т.д. Операции, влияющие на установку регистра PS, выполняются для отдельного процесса, потому-то в регистре PS и содержится аппаратный статус машины по отношению к процессу. В других имеющих важное значение подполях регистра PS указывается текущий уровень прерывания процессора, а также текущий и предыдущий режимы выполнения процесса (режим ядра/задачи). По значению подполя текущего режима выполнения процесса устанавливается, может ли процесс выполнять привилегированные команды и обращаться к адресному пространству ядра. Указателя вершины стека, в котором содержится адрес следующего элемента стека ядра или стека задачи, в соответствии с режимом выполнения процесса. В зависимости от архитектуры машины указатель вершины стека показывает на следующий свободный элемент стека или на последний используемый элемент. От архитектуры машины также зависит направление увеличения стека (к старшим или младшим адресам). Регистров общего назначения, в которых содержится информация, сгенериро- ванная процессом во время его выполнения. Взаимодествие процесс-ядро.
5 Системный контекст Запись в таблице процессов, описывающая состояние процесса и содержащая различную управляющую информацию, к которой ядро всегда может обратиться. Часть адресного пространства задачи, выделенная процессу, где хранится управляющая информация о процессе, доступная только в контексте процесса. Общие управляющие параметры, такие как приоритет процесса, хранятся в таблице процессов, поскольку обращение к ним должно производиться за пределами контекста процесса. Записи частной таблицы областей процесса, общие таблицы областей и таблицы страниц, необходимые для преобразования виртуальных адресов в физические. + В задачи управления памятью входит идентификация участков виртуального адресного пространства процесса, не являющихся резидентными в памяти. Стек ядра, в котором хранятся записи процедур ядра, если процесс выполняется в режиме ядра. Несмотря на то, что все процессы пользуются одними и теми же программами ядра, каждый из них имеет свою собственную копию стека ядра для хранения индивидуальных обращений к функциям ядра. Ядро должно иметь возможность восстанавливать содержимое стека ядра и положение указателя вершины стека для того, чтобы возобновлять выполнение процесса в режиме ядра. В различных системах стек ядра часто располагается в пространстве процесса, однако этот стек является логически-независимым и, таким образом, может помещаться в самостоятельной области памяти. + Динамическая часть системного контекста процесса, состоящая из несколь ких уровней и имеющая вид стека, который освобождается от элементов в порядке, обратном порядку их поступления. На каждом уровне системного контекста содержится информация, необходимая для восстановления предыдущего уровня и включающая в себя регистровый контекст предыдущего уровня.. Если несколько процессов совместно используют общие области, эти области входят составной частью в контекст каждого процесса, поскольку каждый процесс работает с этими областями независимо от других процессов. Когда процесс выполняется в режиме задачи, соответствующий ему стек ядра пуст.
6 Таблица процессов Управление процессомУправление памятьюУправление файлами Регистры Счетчик команд Указатель стека Состояние процесса Приоритет Параметры планирования Идентификатор процесса Родительский процесс Группа процесса Время начала процесса Использованное процессорное время Указатель на текстовый сегмент Указатель на сегмент данных Указатель на сегмент стека Корневой каталог Рабочий каталог Дескрипторы файла Идентификатор пользователя Идентификатор группы
7 Модель процесса Один счетчик команд A B C D 4 счетчика команд ABCD A B C D время В каждый момент времени активен только 1 процесс
8 Состояния процесса 1. процесс блокируется ожидая ввода данных 2. планировщик выбирает другой процесс 3. планировщик выбирает этот процесс 4. доступны входные данные Блокировка Действие Готовность Работающий (в этот конкретный момент использующий процессор) 2.Готовый к работе (приостановлен что бы позволить работать другому процессу) 3.Заблокирован (ждет внешнего события)
9 Иерархия процессов UnixWindows Все процессы связаны Один "родитель" и сколько угодно "детей" Единое дерево во главе - init Не существует иерархии Все процессы равноправны Родительский процесс имеет дескриптор, позволяющий контролировать дочерний процесс. (Дескриптор можно передать другому процессу)
10 Пример иерархии Unix initbashls -lagrepsendmailpopsmtp ls –ls | grep doc
11 Потоки (thread, нити) Существуют только "внутри" процесса Служат для выполнения программ в одной концепции процесса
12 Потоки Ядро поток Процесс 3Процесс 1Процесс 2 Ядро поток Процесс 1 Простр анство пользо вателя
13 Таблица потока Элемент процессаЭлемент потока 1.Адресное пространство 2.Глобальные переменные 3.Открытые файлы 4.Дочерние процессы 5.Необработанные аварийные сигналы 6.Сигналы и их обработчики 7.Информация об использовании ресурсов 1.Счетчик команд 2.Регистры 3.Стек 4.Состояние
14 Реализация потоков
15 Примеры Редактирование документов Веб сервер - кеширование
16 Вопрос 2 Назовите понятие: «Заходя в ванную, Анна забыла взять с собой халат. Обычно она может выйти в комнату и в неодетом виде, но, пока она была в ванной, в гости зашёл Антон, которому Анна должна отдать флэшку, которая лежит у неё в сумочке. Сам Антон в сумочку лезть отказывается, и требует, чтобы флэшку отдала ему Анна. Без флэшки он не уйдёт. Анна не может выйти в комнату пока там Антон. Антон ждёт, пока ему отдадут флешку, Анна ждёт ухода Антона, после которого она может выйти и отдать флешку.»
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.