Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Общие положения. Организация управление задачами




Организация управление задачами

Загрузочный модуль − основная программная единица, предназначенная для выполнения, не является единицей работы вычислительной системы. Только совокупность программы и данных в процессе их обработки, называемая задачей, представляет собой единицу работы вычислительной системы. Определение задачи как единицы работы означает, что она является объектом, которому динамически выделяются ресурсы вычислительной системы, такие как время, в течение которого задача будет обладать центральным процессором, областью основной памяти, обслуживающими программами, устройства и т.д.

Поскольку задача − мультипрограммная единица, то значит, что в режиме мультипрограммирования одновременно выполняется несколько задач. Задачи конкурируют за использование ресурсов вычислительной системы, в том числе и главного ресурса − времени центрального процессора.

Одна и та же программа может быть многократно загружена для обработки различных данных и, таким образом, может образовать несколько задач, одновременно находящихся в основной памяти. Исходным источником образования задач является входной поток заданий. Задача, есть внутренняя единица работы, задание − внешняя единица работы вычислительной системы. Вся информация, необходимая для управления задачей, сосредоточена в блоке управления задачей (ТСВ). Каждая задача имеет свой блок ТСВ. Он создается в момент возникновения задачи, т.е. при инициировании пункта задания (для задачи пункта задания) или при выполнении соответствующего макросредства. Завершение задачи связано с устранением соответствующего ей блока ТСВ. Блок ТСВ представляет собой таблицу, находящуюся в основной памяти и содержащую такую информацию как адреса управляющих блоков и таблиц, связанных с выполнением задачи, приоритеты задачи, адреса следующих ТСВ в очереди, адреса ТСВ порождающей и порожденных задач, ключ защиты, тип задачи, код завершения задачи и т.д.

Если А − задача пункта задания, то имеет место следующая схема выполнения работ в системе (см. рис.7.4).

В любой момент времени количество имеющихся в системе блоков ТСВ определяет число одновременно выполняемых в режиме мультипрограммирования задач. Все блоки ТСВ связаны друг с другом в цепочку, называемую очередью задач. В момент образования задачи ТСВ заносится в очередь задач, а в момент завершения задачи выводится из очереди.

Место блока ТСВ в очереди задач определяется диспетчерским приоритетом задачи, который выражается некоторым числовым значением. Когда несколько задач претендуют на один и тот же ресурс, конфликты разрешаются, как правило, на основе сравнения диспетчерских приоритетов; в случае равенства приоритетов − в пользу задачи, которая первой выдала запрос.

 

Рис. 7.4. Структурное дерево подзадач

Рис. 7.5. Структура очереди задач

Для разрешения конфликтных ситуаций организуется очередь запросов, упорядоченных по приоритетам. Очередь задач, состоящая из блоков ТСВ, представляет собой очередь запросов на использование центрального процессора. Все блоки ТСВ в очереди упорядочены в соответствии с диспетчерским приоритетом задач: в начале очереди находятся ТСВ с высшим диспетчерским приоритетом, а в конце − с низшим (см. рис. 7.5).

Место для блока ТСВ вновь образованной задачи определяется значением ee диспетчерского приоритета таким образом, чтобы перед новым ТСВ были ТСВ с диспетчерскими приоритетами, большими или равными новому, а после него − ТСВ с меньшими диспетчерскими приоритетами. Центральным процессором всегда управляет задача, находящаяся в состоянии готовности, имеющая наивысший диспетчерский приоритет. Такую задачу называют активной. Активную задачу определяет программа «Диспетчер», входящая в состав супервизора. Для этого просматривается очередь задач, начиная с наиболее приоритетных задач, и первая задача, находящаяся в состоянии готовности, становится активной. Диспетчер получает управление в результате обработки прерываний.

Структура и расположение очереди задач в основной памяти зависит от режима мультипрограммирования управляющей программы. В однопрограммном режиме задачи выполняются последовательно, поэтому в каждый момент времени в системе существует только одна задача. Подзадачи образовываться не могут. Это значит, что очередь задач состоит из одного блока TСB, расположенного в ядре операционной системы.

В режиме с фиксированным числом задач без подзадач одновременно могут существовать системные задачи и одна задача для каждого раздела памяти. Диспетчерские приоритеты определяются положением блока ТСВ в очереди задач. Поскольку при генерации операционной системы фиксируется максимальное число разделов и известно число системных задач, то размер очереди является фиксированным. Кроме того, заранее известен приоритет каждой задачи. Все это позволяет построить очередь задач в ядре операционной системы. В процессе функционирования системы очередь не меняется. В каждом разделе может образоваться только одна задача. Если раздел предназначен для выполнения заданий, то такой единственной задачей является задача пункта задания. Когда она возникает, соответствующий блок ТСВ заполняется управляющей информацией, относящейся к этой задаче. Когда задача завершается, ее блок TСB остается, но он не диспетчируется. Образование подзадач не допускается.

В режиме с фиксированным числом задач с подзадачами допускается образование подзадач, поэтому в системе одновременно могут существовать системные задачи, задачи разделов, среди которых находятся задачи пунктов задания и подзадачи задач пунктов задания. Так же, как и в режиме без подзадач, при генерации известно количество системных задач и задач пунктов заданий. Диспетчерские приоритеты этих задач определяются аналогичным образом.

При образовании подзадачи для нее строится блок ТСВ в области системных очередей, определяемой при генераций и примыкающей к ядру системы, и помещается в очередь задач в соответствии со своим диспетчерским приоритетом. Если в режиме без подзадач диспетчерский приоритет определялся положением ТСВ в очереди задач, то в режиме с подзадачами этого уже недостаточно, так как появление подзадачи изменяет структуру очереди. В этом случае необходимо числовое определение диспетчерского приоритета.

Для системных задач и задач разделов устанавливаются диспетчерские приоритеты и диапазоны их изменения. Причем последние выбираются таким образом, чтобы они не перекрывались, поэтому никакое изменение приоритетов задач разделов не может изменить относительную последовательность блоков ТСВ системных задач и задач разделов в очереди задач.

Диспетчерский приоритет подзадачи определяется на основании диспетчерского приоритета порождающей задачи и может быть как выше, так и ниже его. Разница между диспетчерскими приоритетами порождающей задачи и подзадачи указывается в одном из операндов соответствующих макросредств.

В режиме мультипрограммирования с переменным числом задач количество разделов может изменяться. Значение начального адреса не связано с диспетчерским приоритетом задачи пункта задания, а определяется одним из параметров оператора ЕХЕС, и его дальнейшее значение может меняться соответствующими средствами операционной системы. В связи с тем, что в режиме с переменным числом задач как длина, так и структура очереди задач переменные, блоки ТСВ для всех задач, кроме системных, располагаются в области системных очередей.

 

С

Рис. 7.6. Структура списка ТСВ в очереди подзадач

Кроме диспетчерского приоритета для каждой задачи определяется значение граничного приоритета. В качестве граничного приоритета задачи устанавливается начальное значение диспетчерского приоритета. Оно определяет максимальное значение диспетчерского приоритета, который может изменяться в процессе выполнения. Граничный приоритет подзадачи устанавливается на основании граничного приоритета порождающей задачи и должен быть равен или меньше его. Граничный приоритет некоторой задачи определяет максимальное значение диспетчерского приоритета ее подзадач. Таким образом, диспетчерский приоритет подзадачи может превысить собственный граничный приоритет, но не может быть больше граничного приоритета порождающей задачи. В случае превышения собственного граничного приоритета для подзадачи устанавливается новое значение граничного приоритета, равное максимальному значению диспетчерского приоритета подзадачи. Значение граничного приоритета задачи пункта задания не может быть изменено, и диспетчерские приоритеты всех задач пункта задания не могут быть выше этого значения. Величина диспетчерского приоритета задачи определяет место соответствующего ей блока ТСВ в очереди задач; для организации очереди задач используется поле блока ТСВ, содержащее адрес этого блока для задачи с меньшим диспетчерским приоритетом либо для задачи, которая имеет тот же самый диспетчерский приоритет, но созданной позже.

Блоки TСB входят также в очереди подзадач. С помощью очереди подзадач образуется список блоков ТСВ, соответствующей структуре подзадач. Для организации такого списка служат четыре поля ТСВ (рис. 7.6):

· поле, содержащее адрес ТСВ задачи основного задания (1);

· поле, содержащее адрес ТСВ порождающей задачи (2);

· поле, содержащее адрес TСB предыдущей подзадачи (3);

· поле, содержащее адрес ТСВ последней порожденной подзадачи для данной задачи (4).

На рис. 7.4 приведен пример структуры подзадач, в котором задача пункта задания А имеет три подзадачи В, С и D. В свою очередь задача С имеет две подзадачи Е и F.

Следует отметить, что один и тот же блок TСB входит как в очередь задач, так и в список подзадач. Такое двоякое вхождение организуется в результате использования разных полей блоков ТСВ для ссылок на элементы очередей и списки.

 

 

Контрольные вопросы

1. Виды запросов на основную память.

2. Характеристика основных составных частей операционной системы.

3. Осуществление многозадачного режима при статическом распределении памяти.

4. Осуществление многозадачного режима при динамическом распределении памяти.

5. Понятие подпула; создание и уничтожение подпула.

6. Блок ТСВ и его роль в многозадачном режиме.

7. Управление подпулами.

8. Организация управления задачами в многозадачном режиме.

9. Структура и расположение очереди задач в основной памяти при различных режимах управляющей программы.

10. Понятие приоритета задачи; виды приоритетов.

 

Глава 8. ИДЕОЛОГИЯ СОВЕРШЕНСТВОВАНИЯ ОПЕРАЦИОННЫХ СИСТЕМ (ОС ЮНИКС)

В момент возникновения различных типов ЭВМ резко увеличилось число пользователей-непрофессионалов, что существенно изменило требования к программному обеспечению, в первую очередь, к операционным системам. Возникла необходимость реализации принципиально новых механизмов работы ОС и, как следствие, требование универсальности ОС. Первой такой системой явилась система ЮНИКС (UNIX), которая проектировалась как инструментальная, предназначенная для создания и отладки новых средств программного обеспечения. В ней было учтено все лучшее, что имелось к тому времени в существующих операционных системах, и реализованы совершенно новые идеи.

Основной фактор успеха этой ОС заключался в том, что создатели реализовали новую ОС на базе новых идей. Эти идеи позволили не только применять UNIX на компьютерах с разной архитектурой, но и придали ОС модульность и гибкость, необходимые для расширения и развития самой системы.

Основные преимущества ОС UNIX перед системами того времени заключались в следующем:

- единый язык взаимодействия пользователей с системой вне зависимости от примененного типа ЭВМ;

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

- унифицированная файловая структура, обеспечивающая единообразие представления данных, что создало возможность дополнительных условий переносимости программ;

- возможность применения совершенно одинакового набора программ-утилит и команд управления ими, что позволило существенно снизить затраты на обучение персонала;

- применение полностью унифицированных языков программирования, порождающих функционально тождественные объектные модули, что упростило проблему переносимости программы;

- введение мощных и уникальных средств программирования (конвейеры, программные каналы, язык интерпретатора SHELL, генераторы анализаторов синтаксиса и семантики) позволило значительно увеличить производительность труда программиста при сохранении единообразия конечного продукта.

В операционной системе ЮНИКС можно хорошо проследить переход от языка управления заданиями в ОС ЕС через косвенные командные файлы в операционных системах реального времени к языку интерпретатора SHELL. Аналогично можно проследить за развитием виртуальных устройств от простейших механизмов, реализованных программами WRT и RDR в ОС EС через механизмы, обеспечивающие инвариантность программ от внешних устройств в ОС РВ, к механизмам ОС ЮНИКС в виде конвейеров и программных каналов. Такое построение операционной системы позволило существенно увеличить интеллект самой вычислительной установки.

ЮНИКС (UNIX) − это семейство операционных систем. Первоначально ОС ЮНИКС создавалась для проведения исследовательских работ и подготовки текстовых документов на линии ЭВМ фирмы DEC. В начале 70-х годов сотрудники Bell Laboratories начали работу над новой операционной системой. В середине 70-х эта система начала работу в академической среде. В 80-х годах ОС ЮНИКС была одобрена деловыми кругами за высокое качество и долгий срок жизни.

При всем этом, операционная система ЮНИКС обладает следующими недостатками:

- система эффективна, если пользователи не выполняют различные действия, если же решается несколько одинаковых задач, то эффективность ее резко уменьшается;

- система очень слабо приспособлена к работе в режиме реального времени, когда требуется быстрая реакция на изменение в ходе течения процессов. UNIX может быть адаптирована к этим режимам, но специализированная ОС РВ будет работать лучше.

При разработке ОС ЮНИКС авторы стремились соединить два несовместимых направления: программирование и подготовку документов. Одной из принципиально новых идей, заложенных в ОС ЮНИКС, является идея конвейера, когда любые сложные функции могут быть запрограммированы как набор совместно работающих программ. Конвейерное объединение позволяет использовать любое необходимое число программ. При этом ни одна из них не дублирует функции других, а только их дополняет. Другая идея − выделение специальных программных средств. Так, для выполнения синтаксического анализа специализированных командных языков в ОС UNIX введены такие мощные компоненты как YACC и LЕX. Работать с ними после соответствующего изучения оказывается крайне удобно. В ОС UNIX включены два сложных компонента, представляющие собой комплекс программных средств: МАКЕ и SCCS.

МАКЕ служит для описания таких взаимосвязей в системе, которые должны поддерживаться автоматически, а SCCS предназначена для слежения развития программ на протяжении всего срока их существования. Это дает возможность восстанавливать старые версии и документировать новые.

ОС ЮНИКС стала стандартной операционной системой для целого ряда ЭВМ, эксплуатируемых в неспециализируемых условиях. Система спроектирована таким образом, чтобы минимизировать число функций, реализованных ядром системы за счет использования утилит.

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

Одной из самых важных программ, входящих в операционную систему, является системный монитор SHELL, представляющий собой интерактивную программу управления с помощью системы команд, которые этим же монитором интерпретируются. В отличие от интерпретаторов других операционных системах SHELL − самая обычная программа, работающая под управлением системы. В других ОС интерпретатор есть составляющая часть внутренней структуры. Фактически, система UNIX представляет собой инструмент для работы с информацией.

Достоинство этой операционной системы заключается в возможности кооперирования нескольких программ для выполнения одной функции. В других ОС программы работают независимо друг от друга. В ОС ЮНИКС каждая программа довольно проста, но их комбинация позволяет создавать очень мощные средства. Координация и комбинирование программ в ОС ЮНИКС базируются на возможностях, которые предоставляет SHELL. Нужно отметить, что под SHELL подразумевается не только интерпретатор команд, но и очень развитый язык программирования.

Одной из функций ОС UNIX является распределение ресурсов ЭВМ между несколькими одновременно работающими пользователями. Реализация этой функции состоит в том, что для каждого пользователя поддерживается его собственная среда. Процедура входа обеспечивает возможность регистрации имен пользователей, время входа, используемое машинное время, позволяет осуществлять идентификацию владельцев средств, распознавать типы применяемых терминалов.

Система UNIX базируется на основополагающем понятии файла, т.к. в любой момент времени запуск любой программы − это уже обращение, как минимум, к одному файлу. Одновременно пользователь может работать с ограниченным числом файлов. Однако в целом ОС UNIX обладает возможностью поддерживать тысячи файлов, которые объединяются в группы, именуемые каталогами. Каждый каталог имеет собственное уникальное имя. Структура каталогов ОС UNIX значительно упрощена по сравнению с каталогами других систем.




Поделиться с друзьями:


Дата добавления: 2014-12-29; Просмотров: 510; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.047 сек.