Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Контекст, дескриптор процесса
Действия, осуществляемые после запуска процесса: А) Выделение памяти под данные, код и стек Б) Создание структуры связанной с процессом – дескриптора (адрес памяти процесса, где начинается сегмент и права доступа ко внешним устройствам, файловой системе) В) Перевод процесса в состояние готовности.
В ОС существует таблица процессов для учета процессов по их ID (уникальному идентификатору впределах ОС который связан с контекстом процесса)
Контекст процесса содержет информацию о: - состояние процесса - правах вводв вывода - x86 порах I/O + дополнительное пространство памяти (256 ячеек по 1 байту) Можно не обращаться к порту. - состояние регистра (при прерывании процесса значения всех регистров сохраняются, чтобы восстановить после возбновления процесса) На протяжении существования процесса его выполнение может быть многократно прервано и продолжено. Для того, чтобы возобновить выполнение процесса, необходимо восстановить состояние его операционной среды. Состояние операционной среды отображается состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода, кодами ошибок выполняемых данным процессом системных вызовов и т.д. Эта информация называется контекстом процесса. Кроме этого, операционной системе для реализации планирования процессов требуется дополнительная информация: идентификатор процесса, состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация. В некоторых ОС (например, в ОС UNIX) информацию такого рода, используемую ОС для планирования процессов, называют дескриптором процесса. Дескриптор процесса по сравнению с контекстом содержит более оперативную информацию, которая должна быть легко доступна подсистеме планирования процессов. Контекст процесса содержит менее актуальную информацию и используется операционной системой только после того, как принято решение о возобновлении прерванного процесса. Очереди процессов представляют собой дескрипторы отдельных процессов, объединенные в списки. Таким образом, каждый дескриптор, кроме всего прочего, содержит по крайней мере один указатель на другой дескриптор, соседствующий с ним в очереди. Такая организация очередей позволяет легко их переупорядочивать, включать и исключать процессы, переводить процессы из одного состояния в другое.
Программный код только тогда начнет выполняться, когда для него операционной системой будет создан процесс. Создать процесс - это значит: 1. создать информационные структуры, описывающие данный процесс, то есть его дескриптор и контекст; 2. включить дескриптор нового процесса в очередь готовых процессов; 3. загрузить кодовый сегмент процесса в оперативную память или в область свопинга. На протяжении существования процесса его выполнение может быть многократно прервано и продолжено. Для того, чтобы возобновить выполнение процесса, необходимо восстановить состояние его операционной среды. Состояние операционной среды отображается состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода, кодами ошибок выполняемых данным процессом системных вызовов и т.д. Эта информация называется контекстом процесса. Кроме этого, операционной системе для реализации планирования процессов требуется дополнительная информация: идентификатор процесса, состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация. В некоторых ОС (например, в ОС UNIX) информацию такого рода, используемую ОС для планирования процессов, называют дескриптором процесса. Очереди процессов представляют собой дескрипторы отдельных процессов, объединенные в списки. Таким образом, каждый дескриптор, кроме всего прочего, содержит по крайней мере один указатель на другой дескриптор, соседствующий с ним в очереди. Такая организация очередей позволяет легко их переупорядочивать, включать и исключать процессы, переводить процессы из одного состояния в другое. Программный код только тогда начнет выполняться, когда для него операционной системой будет создан процесс. Создать процесс - это значит: 1) создать информационные структуры, описывающие данный процесс, то есть его дескриптор и контекст; 2) включить дескриптор нового процесса в очередь готовых процессов; 3) загрузить кодовый сегмент процесса в оперативную память или в область свопинга.
8 Алгоритм планирование процесса
Планирование процесса включает в себя следующие задачи: Программно: определение момента времени когда необходимо переключить процесс, выбор процесса из очереди готовых процессов Аппаратно: переключение контекста предыдущего и следующего процесса Таймер посылает прерывание, которое обрабатывается ОС. По этому прерыванию ОС переключает процессы.
Методы переключения процессов: - квантование – каждый процесс имеет право работать определенное количество времени, по истечению которого он перключается на другие процессы. Переключение может произойти раньще, если процесс закончил работу, либо произошла ошибка - приоритет – степень превелегированности процесса по отношению к ресурсам системы. Чем выше приоритет, тем больше у процесса шансов быть запущенным и работать дольше других. Примечание: современные опеационные системы комбинируют эти два способа. Планирование процессов включает в себя решение следующих задач: 1. определение момента времени для смены выполняемого процесса; 2. выбор процесса на выполнение из очереди готовых процессов; 3. переключение контекстов "старого" и "нового" процессов. Первые две задачи решаются программными средствами, а последняя в значительной степени аппаратно. Алгоритмы планирования процессов, основанные на квантовании, и алгоритмы, основанные на приоритетах. В соответствии с алгоритмами, основанными на квантовании, смена активного процесса происходит, если: · процесс завершился и покинул систему, · произошла ошибка, · процесс перешел в состояние ОЖИДАНИЕ, · исчерпан квант процессорного времени, отведенный данному процессу. Процесс, который исчерпал свой квант, переводится в состояние ГОТОВНОСТЬ и ожидает, когда ему будет предоставлен новый квант процессорного времени, а на выполнение в соответствии с определенным правилом выбирается новый процесс из очереди готовых. Таким образом, ни один процесс не занимает процессор надолго, поэтому квантование широко используется в системах разделения времени Приоритет - это число, характеризующее степень привилегированности процесса при использовании ресурсов вычислительной машины, в частности, процессорного времени: чем выше приоритет, тем выше привилегии. Приоритет может выражаться целыми или дробными, положительным или отрицательным значением.Чем выше привилегии процесса, тем меньше времени он будет проводить в очередях. Приоритет может назначаться директивно администратором системы в зависимости от важности работы или внесенной платы, либо вычисляться самой ОС. Задачи: определение момента времени переключения процессов, выбор процесса на выполнение из очереди готовых процессов, переключение контекстов предыдущего и следующего процессов. Первые две задачи решаются программными средствами, а третья – аппаратными. Два способа выбора процесса для перекл.: квантование времени и приоритеты. При первом способе каждому процессу назначается обинак. пром. времени, при исчерпании к.происходит перекл.процесса. Перекл.может наступить раньше, если процесс самостоят.перейдет в режим ожид. или если произошла ошибка. Приоритет – число, характеризующее степень привилегированности процесса по отношению к ресурсам сист. В совр ОС эти способы комбинируются: 1)чем больше приоритет, тем больше квантов выделяется за один раз, 2) при квантовании на равные пром.врем.перекл.происходит чаще на процессы с большей степенью привилегированности.
|
||||||
Последнее изменение этой страницы: 2016-12-30; просмотров: 431; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.190.156.80 (0.01 с.) |