Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Типы задач в системе, диспетчерский и граничный приоритеты, очередь задач и её структура.Содержание книги
Поиск на нашем сайте
Задача – это независимая единица работы, которая может участвовать в конкурентной борьбе за ресурсы вычислительной системы. С каждой задачей в системе связан блок управления задачей TCB – Task Control Blok. Каждая задача имеет в системе свой приоритет. Он либо приписывается пользователем, либо системой, либо обоими. Кроме этого каждая задача имеет следующие состояния: - активности - готовности - ожидания Блоки управления задачами в соответствии с приоритетами образуют очередь задач. Когда супервизор выделяет задаче центральный процессор, из очереди задач выбирается первый блок управления задачей, находящийся в состоянии готовности. Обычно для каждого задания в системе существует, по крайней мере, одна задача, которая соответствует активному шагу задания. Но количество задач в системе может увеличиваться еще по двум причинам: 1) Подпрограммы управляющей программы, которые выполняются в состоянии “задача” для программ супервизора функционируют как задачи. 2) Программа пользователя может инициировать подзадачу, которая будет выполняться одновременно с породившей ее задачей. Подпрограмма управляющей программы, которая функционирует, как задача называется системной задачей. Большинство системных задач выполняет функции управления заданиями. В ОС для создания задач существуют специальные макрокоманды. Одной из распространенных команд является ATTACH. Расширение этой макрокоманды представляет собой несколько операторов и заканчивается обращением к супервизору. При выполнении обращения к супервизору инициируется прерывание. Подпрограмма, обрабатывающая прерывания по обращению к супервизору вызывает появление задачи с заданным приоритетом, т.е. ставит ее в очередь. Задача появляется в системе по следующим причинам. 1)При загрузке ОС создается задача главного планировщика 2)По действию оператора EXEC системная задача формирует макрокоманду ATTACH 3)В системной задаче необходимо выполнить команду ATTACH 4)ATTACH выполняется в программе пользователя при создании подзадачи. Вся информация, необходимая для управления задачей, сосредоточена в TCB. Для каждой задачи блок TCB создается в момент возникновения и ликвидируется в момент завершения задачи. Блок TCB представляет собой таблицу, находящуюся в основной памяти и содержащую адреса управляющих блоков и таблиц, связанных с выполнением задачи, приоритеты задачи, адреса следующих TCB, очереди, адреса порождающей и порожденной задач, ключи защиты, тип задачи, код завершения и т.д. Все блоки ТСВ последовательно связаны друг с другом в очередь задач. В момент образования задачи ТСВ заносится в очередь задач, а в момент завершения задачи выводится из нее. Место блока ТСВ в очереди задач определяется диспетчерским приоритетом задачи, который выражается числом от 0 до 255. Когда несколько задач одновременно претендуют на один ресурс, конфликты разрешаются, как правило, на основе сравнения диспетчерских приоритетов. В случае равенства приоритетов, конфликт разрешается в пользу задачи, выдавшей запрос первой. В начале очереди находится TCB с наивысшим приоритетом. ЦП-м управляет задача, находящаяся в состоянии готовности и имеющая максимальный приоритет – активная задача. Активную задачу определяет диспетчер, который входит в состав супервизора. Структура и расположение задач в основной памяти зависит от режима мультипрограммирования управляющей программы. В однопрограммном режиме задачи обрабатываются последовательно, поэтому в каждый момент времени в системе существует только одна задача, подзадачи образовываться не могут. В MFT одновременно могут существовать системные задачи и одна задача, для каждого раздела. Диспетчерские приоритеты определяются положением TCB в очереди. Наивысший приоритет у системных задач. (Размер очереди TCB фиксирован, т.к. при генерации известно число системных задач и число разделов. Кроме того, известен приоритет каждой задачи, это позволяет построить очередь в ядре ОС. Образование подзадач не допускается. В MVT с задачами разрешается образование подзадач, поэтому в системе одновременно могут существовать системные задачи, задачи разделов и подзадачи. При образовании подзадачи, для нее строится блок TCB в области системных очередей, определяемых при генерации и присоединяемых к ядру. Кроме диспетчерских приоритетов для каждой задачи определяется значение граничного приоритета. В качестве граничного приоритета первоначально устанавливается начальное значение диспетчерского приоритета. Граничный приоритет некоторой задачи определяет максимальное значение диспетчерских приоритетов ее подзадач. Диспетчерский приоритет подзадачи может превысить ее собственный граничный приоритет, но не может быть больше граничного приоритета порождающей задачи, в противном случае подзадаче устанавливается новое значение граничного приоритета, равное максимальному значению диспетчерского приоритета подзадачи. Для организации очереди задач образуется список блоков ТСВ, соответствующий структуре очереди задач. Для организации этого списка имеется четыре поля ТСВ: 1) Поле, содержащие адрес ТСВ основной задачи пользователя; 2) Поле, содержащие адрес ТСВ порождающей задачи для текущей подзадачи; 3) Поле, содержащие адрес ТСВ предыдущей подзадачи (расположенной на одном уровне с текущей подзадачей); 4) Поле, содержащие адрес ТСВ последней порожденной подзадачи для данной задачи.
|
||||
Последнее изменение этой страницы: 2017-02-06; просмотров: 224; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.72.210 (0.007 с.) |