Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЦСРС_1 / Grebeshkov_Tehnika_mikroproz_sistem_v_kommutazii_uchebnik_dlya_vuzov_2011

.pdf
Скачиваний:
133
Добавлен:
05.05.2015
Размер:
4.74 Mб
Скачать

Техника микропроцессорных систем в коммутации

димо наиболее целесообразно использовать ресурсы узла коммутации в каждый момент времени. Под ресурсом узла коммутации понимается логический (программный) или физический компонент узла коммутации в совокупности с поддерживаемым этим компонентом режимом обработки данных. Как правило, данные обрабатываются с минимальными задержками по времени. Логическим ресурсом могут быть программные подсистемы, программы, отдельные файлы, виртуальное адресное пространство, машинное или процессорное время. В мультипроцессорных системах общими программными ресурсами являются системные таблицы, описывающие состояние системы и процессов, например, таблицы очередей к процессорам, таблицы очередей каналов ввода/вывода, таблицы распределения памяти. Физическим ресурсом может быть аппаратура узла коммутации

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

управление доступом к ресурсам со стороны оборудования узла коммутации и программного обеспечения управления;

планирование распределения ресурсов между процессами или вычислительными задачами;

мониторинг состояния и использования ресурса;

решение конфликтов доступа нескольких процессов к одноименному ресурсу.

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

171

Техника микропроцессорных систем в коммутации

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

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

В операционной системе, например в отечественной операционной системе реального времени «Багет 3.0», программный код каждого процесса, работающего в пользовательском режиме, представляет собой отдельный модуль, который может быть получен сборкой нескольких объектных модулей. Этот модуль загружается в память независимо от программного кода операционной системы и других процессов. Программный код главного системного процесса объединяется с программным кодом ядра операционной системы и загружается вместе с ним.

Одна программа/подпрограмма или система программ может порождать несколько процессов, каждый из которых работает со

172

Техника микропроцессорных систем в коммутации

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

Процессы могут быть системными и прикладными. Системные процессы инициализируются операционной системой для выполнения еѐ функций. Прикладные процессы инициализируются прикладными программами, базами данных, программами восстановления.

В узлах коммутации, как правило, используется многозадачный (мультипрограммный) режим, при котором одновременно запущены и функционируют несколько исполняемых задач (программ), порождающие собственные процессы. Чтобы упорядочить процедуру выделения ресурсов для процессов формируются очереди, состоящие из заявок на обслуживание от соответствующих процессов. Эти очереди обслуживаются по различным дисциплинам – в порядке очередности, на основе приоритетов. Наличие очередей и выбор оптимальных дисциплин обслуживания очередей позволяет существенно снизить вероятность конфликтов доступа процессов к одноименному ресурсу.

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

173

Техника микропроцессорных систем в коммутации

симо друг от друга, хотя такой вариант встречается достаточно редко. Гораздо чаще, для одновременного выполнения нескольких потоков, требуется взаимодействие и синхронизация между ними, выделение каждому потоку машинного времени, адресного пространства и ресурсов, для чего в составе ОС применяются специальные службы и механизмы. При этом потоки внутри одного процесса используют одни и те же ресурсы. Потоки могут создаваться и уничтожаться динамически, их количество внутри процесса может изменяться в зависимости от интенсивности и характера вычислительных задач. Применение указанного механизма для предоставления услуг связи эффективно, потому что многопроцессорный управляющий комплекс в многопоточном режиме может параллельно в одно и тоже время эффективно обрабатывать запросы многих пользователей. Иногда вместо понятия «поток» используют понятие «нить» (thread). Вне зависимости от наименования, в рамках данного процесса потоки используют общие адресные пространства памяти, таблицы открытых файлов. В результате в одно и то же время на микропроцессорной системе могут исполняться не только различные программы, но и различные потоки одной и той же программы.

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

выполнение (активное состояние) – процесс непосредственно исполняется МПр;

ожидание (пассивное состояние) – процесс заблокирован по внутренним, по отношению к процессу, причинам; для его запуска на исполнение должно наступить некоторое событие, например таймер выдержки времени устанавливается в 0.

готовность (пассивное состояние) – процесс заблокирован по внешним по отношению к процессу причинам; например,

174

Техника микропроцессорных систем в коммутации

МПр может быть временно занят выполнением других процессов.

Каждый процесс характеризуется своим описанием, которое называется описателем процесса или дескриптором. Дескриптор – служебное машинное слово, которое создается специальной программной процедурой перед выполнением процесса. Дескриптор формируется на основе описания задачи и информации, имеющейся в программе, загружаемой в МПр. Дескрипторы хранятся в системной области оперативной памяти и используются во время работы процесса. Уничтожение процесса вызывает также и уничтожение дескриптора. Дескриптор содержит описание идентификатора процесса; сведения о состоянии процесса; данные о приоритете процесса; место нахождения в физической памяти машинного кода, реализующего процесс; информация о ресурсах, которыми процесс может пользоваться (например, открытые файлы, устройства ввода/вывода). Процессы могут объединяться в очереди с определѐнной дисциплиной облуживания, например «первый пришѐл – первыѐ ушѐл», FIFO.

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

1.Имя класса ресурса.

2.Состав ресурса, например число процессоров в системе, число сегментов, число страниц основной памяти.

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

4.Описание очереди ждущих процессов, которое указывает число элементов очереди, адреса начального и конечного элементов очереди.

5.Адрес или имя распределителя, ответственного за порядок

занятия единиц ресурса процессами. Распределитель про-

175

Техника микропроцессорных систем в коммутации

цессора обычно называется планировщиком или диспетчером.

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

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

Рассмотрим более подробно классификацию и функционирование типовой операционной системы и особенности организации ОС узлов коммутации. Операционная система относится к системному программному обеспечению и в рамках решаемых задач управления выполняет следующие автоматически функции управления ресурсами:

управления памятью управляющего устройства;

управления вводом-выводом управляющего устройства;

управления файловой системой;

управления процессами, использующими программноаппаратные ресурсы;

диспетчеризация процессов и межпроцессный обмен;

защита и ограничение использования ресурсов. Операционная система узла коммутации обеспечивает требуе-

мый уровень производительности управляющего комплекса и содержит средства организации интерфейса с пользователем (интерфейс «человек-машина»).

Организация операционных систем узлов коммутации имеет ряд особенностей. Например, в системе коммутации типа 5ESS (раз-

работка компании AT&T Network Systems International, США) сущест-

176

Техника микропроцессорных систем в коммутации

вует операционная система общего назначения и операционная система для распределенной коммутации. Операционная система общего назначения выполняет задачи управления процессором и памятью, управление вводом-выводом и файловой системой, управление связью «человек-машина». Операционная система для распределенной коммутации осуществляет планирование ресурсов, связь между процессорами на уровне обработки сообщений, управление доступом к данным общего пользования. Аналогично, в системе коммутации типа NEAX61Σ (разработка концерна NEC, Япония) операционная cреда включает операционную систему реального времени RTOS и операционную систему UNIX. Операционная система RTOS управляет синхронизацией программных задач и процессов, связями между программными задачами, памятью, прерываниями, осуществляет перезапуск системы. С помощью операционной системы UNIX осуществляется управление базами данных узла коммутации, обеспечение взаимодействия «человек–машина». Как видно, в случае решения 5ESS разделение между операционными системами осуществлялось с точки зрения распределения функционала и доступа к ресурсам. В случае NEAX61Σ имело место разделение по признаку быстродействия т.е. ОС RTOS обслуживала задачи, критические к времени исполнения, а ОС UNIX обслуживала задачи которые могут реализовываться с задержками по времени.

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

3.2.2 Функции операционных систем и виртуализация

Итак, распределение ресурсов – важнейшая из функций, которые реализует ОС узла коммутации. Особенности выполнения данной функции являются определяющими для общей классификации ОС по признакам, приведѐнным на рис. 3.2 [25,33,61,65]. Кратко рассмотрим разделы классификации.

177

Техника микропроцессорных систем в коммутации

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

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

Классификация операционных систем

 

 

Количество

 

 

 

Число задач,

 

 

Способ обработки

 

 

 

 

Количество

 

 

 

 

 

выполняемое на

 

 

 

 

 

 

поддерживаемых

 

 

пользователей

 

 

 

 

 

 

данных

 

 

 

 

 

 

 

 

 

процессоре

 

 

 

 

 

 

 

процессоров

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Однопользова-

 

 

 

Однозадачная

 

 

 

 

ОС с пакетной

 

 

 

 

ОС однопроцес-

 

 

тельская ОС

 

 

 

ОС

 

 

 

 

обработкой

 

 

 

 

сорная

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ОС с разделе-

 

 

 

 

ОС сетевая

 

 

Многопользова-

 

 

 

Многозадачная

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нием времени

 

 

 

 

 

 

тельская ОС

 

 

 

ОС

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ОС реального

 

 

 

 

ОС

 

 

 

 

 

 

 

 

 

 

 

времени

 

 

 

 

распределенная

Рис. 3.2 – Общая классификация операционных систем

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

Каждое задание содержит требование к ресурсам, необходимым для его исполнения. Целесообразно, чтобы в пакет включались задания с различными требованиями к ресурсам, что обеспечивает сбалансированную нагрузку всех ресурсов управляющего комплекса. Гарантировать время выполнения задания здесь сложно т.к. выбор

178

Техника микропроцессорных систем в коммутации

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

стаким режимом обработки данных в узлах коммутации нецелесообразно.

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

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

179

Техника микропроцессорных систем в коммутации

сование, электронные заказы и магазины. Рассмотрим особенности выделения времени в этих системах.

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

При согласующем (невытесняющем) режиме каждый процесс и соответствующая прикладная программа, получив управление ресурсами и доступ к МПр, самостоятельно определяют, когда ресурсы следует «отдать» другой задаче. В этом случае от разработчика программного обеспечения требуется определенное искусство в разработке алгоритма планирования, в котором предусматривалась бы процедура своевременной передачи ресурсов от одного процесса/задачи другому процессу/задаче. Достоинством согласующего (невытесняющего) режима является возможность наиболее эффективного использования ресурсов в случае перегрузок и критических отказов, когда внезапно требуется обеспечить максимум ресурсов для функционирования коммутационных программ, программ самовосстановления, программ тестирования и эксплуатации, испыта- тельно-наладочных программ. Недостатком согласующего режима является возможность монопольного доступа к процессору со стороны только одной программы, что влечѐт за собой остановку выполнения других программ и повышает вероятность перезагрузки/перезапуска в случае, если произошѐл сбой «монопольной» программы. К достоинству согласующего (невытесняющего) режима

180