Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Структурный подход к разработке алгоритмов



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

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

Функциональный модуль представляет собой совокупность логически связанных операторов, выполняющих некоторое законченное действие. Рекомендуется формировать модули сравнительно небольшого объема, чтобы не затруднять понимания сущности производимых модулем действий. Следует помнить, что модуль должен иметь один вход и один выход. В разрабатываемых алгоритмах необходимо избегать произвольных связей и передач управления между модулями. По возможности следует строить внутреннюю структуру функциональных модулей, а также взаимосвязь между самими модулями на основе рассмотренных базовых структур: СЛЕДОВАНИЕ, РАЗВЕТВЛЕНИЕ, ЦИКЛ. Это позволит значительно облегчить разработку алгоритмов и написанных по ним программ, модификацию алгоритмов и программ, а также все этапы решения задачи на ЭВМ. Описанные выше типовые элементы и приемы определяют структурный подход к разработке алгоритмов и программ для ЭВМ.

100Микроядерная архитектура ОС

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

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

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

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

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

106 Понятие мультипроцессорной обработки





Дата публикования: 2015-01-26; Прочитано: 1366 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...