Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Операционные системы реального времени, их классификация.↑ ⇐ ПредыдущаяСтр 16 из 16 Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Операционная система выполняет две функции: обеспечение программисту-пользователю удобств путём автоматизации программирования некоторых функций и эффективное использование ресурсов ЭВМ. Например, для большинства ЭВМ весьма затруднительно создать в машинных кодах программу ввода данных с гибкого диска. Это потребовало бы использовать 16 различных команд, каждая из которых требует 13 параметров, таких как номер блока на диске, номер сектора на дорожке и т.д. Когда выполнение операции с диском завершается, контроллер возвращает 23 значения, отражающих наличие и типы ошибок, которые, очевидно необходимо программным способом анализировать и на них реагировать. Операционная система позволяет представить диск как набор файлов, каждый из которых имеет наименование. Работа с файлами сводится к их открытию, чтению или записи, а затем и закрытию. Остальную работу операционная система выполняет сама. Операционная система берёт на себя также обработку прерываний, управление таймером и оперативной памятью и т.д. Вторая задача операционной системы - распределение процессорного времени, памяти, устройств вывода и ввода и др. между конкурирующими процессами. Оперативная система должна управлять всеми ресурсами вычислительной машины таким образом, чтобы обеспечить максимальную эффективность её функционирования. Управление ресурсами включает решение двух общих, не зависящих от типа ресурса задач: - планирование ресурса, то есть определение, кому, когда, а для делимых ресурсов и в каком количестве, необходимо выделить данный ресурс; - отслеживание состояния ресурса, то есть поддержание оперативной информации о том, занят или свободен ресурс, а для делимых ресурсов и какое количество ресурса свободно. Операционные системы могут различаться особенностями аппаратных средств, алгоритмов управления ресурсами, областью использования, методами построения и многими другими свойствами. На свойства операционной системы непосредственное влияние оказывают аппаратные средства, на которые она ориентирована. По типу аппаратуры различают операционные системы персональных компьютеров, мини-компьютеров, мейнфреймов, сетей ЭВМ и кластеров (кластер - слабо связанная совокупность нескольких вычислительных систем, работающих совместно для выполнения общих задач, и представляющихся пользователю единой системой). Классификация операционных систем по способу управления одним из ресурсов, а именно процессором представлена на рис. 3.2. По числу одновременно решаемых задач операционные системы можно разделить на однозадачные (например, MS-DOS) и многозадачные (ОС ЕС, UNIX, Window 95). Однозадачные операционные системы включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем. Многозадачные, кроме указанных выше функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы, внешние устройства. Многозадачные операционные системы можно разделить на три вида: системы пакетной обработки (например, ОС ЕС), системы разделения времени (UNIX, VMS) и системы реального времени (QNX, RT/11). Операционные системы пакетной обработки предназначались для решения задач вычислительного характера, не требующих быстрого и строго определённого времени получения результатов. Главной целью и критерием эффективности системы пакетной обработки является максимальная пропускная способность, т.е. максимальное число решённых задач за определённое время. Для достижения этой цели в Рис. 2.2. Классификация алгоритмов управления процессором операционных системах пакетной обработки используется следующая схема функционирования: в начале работы формируется пакет заданий, каждое из которых содержит требование к системным ресурсам; оперативная система разрабатывает план выполнения заданий таким образом, чтобы обеспечить максимальное число одновременно выполняемых задач (формируется мультипрограммная смесь). Для этого выбираются задачи, отличающиеся требованиями к ресурсам, так, чтобы обеспечивалась сбалансированная загрузка всех устройств вычислительной системы. Например, является желательным одновременное присутствие в мультипрограммной смеси вычислительных задач и задач с интенсивным вводом и выводом данных. В этом случае процессор и устройства ввода и вывода будут работать одновременно. Поэтому выбор очередной задачи из пакета зависит от складывающейся ситуации в данный момент, следовательно, в таких операционных системах невозможно гарантировать выполнение того или иного задания в течение определённого времени. В системах пакетной обработки переключение процессора с выполнения одной задачи на выполнение другой происходит только в случае, если активная задача сама отказывается от процессора, например, из-за необходимости выполнить операции ввода или вывода. Поэтому одна задача может надолго занять процессор, что делает невозможным выполнение интерактивных задач. Таким образом, взаимодействие пользователя с ЭВМ сводится к тому, что он приносит задание, отдаёт его оператору и через некоторое время получает результаты вычислений. Вмешаться в процесс вычислений он не может, исправляет ошибки путём корректировки задания и повторения вычисления. Операционные системы разделения времени устраняют основной недостаток систем пакетной обработки - изоляцию пользователя-программиста от процесса выполнения его задачи. Каждому пользователю предоставляется терминал, с которого он может вести диалог со своей программой. Так как в системе разделения времени каждой задаче выделяется только квант процессорного времени, ни одна задача не занимает процессор надолго, и время ответа оказывается приемлемым. Естественно, система разделения времени обладает меньшей пропускной способностью, чем системы пакетной обработки, так как на выполнение принимается каждая запущенная пользователями задача, а не та, которая "выгодна" системе, и, кроме того, дополнительно теряется процессорное время на переключение задач. Таким образом, критерием выбора этой системы является не максимальная пропускная способность, а удобство и эффективность работы пользователя. Операционные системы реального времени применяются для управления различными техническими объектами и технологическими процессами, такими, например, как вагонный замедлитель сортировочной горки, стрелки и сигналы на станции, формирование графика исполненного движения диспетчерской централизации. Во всех этих случаях существует предельно допустимое время, в течение которого должна быть выполнена та или иная программа. В противном случае может возникнуть недопустимая ситуация: отцеп уйдёт с замедлителя с недопустимо высокой скоростью и разобьёт стоящие на подгорочном пути вагоны, маршрут поезду своевременно не будет задан, и поезд остановится у входного светофора и т.д. Таким образом, критерием эффективности систем реального времени является их способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата (формированием управляющего воздействия). Некоторые операционные системы могут совмещать в себе свойства систем разных типов, например, некоторые задачи могут решаться в режиме пакетной обработки, а другие задачи - в режиме реального времени или в режиме разделения времени. В таких случаях режим пакетной обработки часто называют фоновым. По числу одновременно работающих пользователей операционные системы разделяются на однопользовательские и многопользовательские. Главным отличием многопользовательских операционных систем является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. Следует заметить, что не всякая многозадачная система является многопользовательской и не всякая однопользовательская операционная система является однозадачной. Важнейшим разделяемым ресурсом считается процессорное время. Способов разделения процессорного времени между несколькими одновременно существующими в системе процессами довольно много, наиболее существенными из них являются алгоритмы, вытесняющие и не вытесняющие многозадачность. Эти алгоритмы отличаются друг от друга степенью централизации механизма планирования процессов. При невытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление операционной системе для того, чтобы она выбрала из очереди другой готовый к выполнению процесс. Таким образом, механизм планирования процессов распределён между операционной системой и прикладными программами. В операционных системах реального времени такой механизм планирования получил название мягкого временного режима, при котором своевременность окончания выполнения программы не гарантируется. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается операционной системой, т.е. механизм планирования процессов целиком сосредоточен в операционной системе. Такой режим планирования называется жёстким временным режимом, при котором своевременность выполнения программ гарантируется.. Важнейшим свойством операционной системы является возможность распараллеливания вычислений в рамках одной задачи. Многонипгевая операционная система разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями). Другим важным, свойством операционных систем можно считать отсутствие или наличие в ней средств поддержки многопроцессорной обработки, которая приводит к усложнению всех алгоритмов управления ресурсами. Современные операционные системы, как правило, имеют средства поддержки многопроцессорной обработки. Примером могут служить системы OS/2 фирмы IBM, Window NT фирмы Microsoft, NetWare 4.1 фирмы Novell и многие другие. Многопроцессорные операционные системы могут классифицироваться по способу организации вычислительного процесса в системе с многопроцессорной архитектурой: асимметричные ОС и симметричные ОС. Асимметричная операционная система выполняется на одном из процессоров системы и распределяет прикладные задачи по остальным процессорам. Симметричная ОС полностью децентрализована и использует все процессоры, разделяя их между прикладными задачами. Существенное влияние на вид операционной системы оказывают также способы управления другими ресурсами системы: памятью, файлами, устройствами ввода-вывода. Специфика операционных систем проявляется и в том, каким образом она реагирует на сетевые функции: распознавание и перенаправление в сеть запросов к удалённым ресурсам, передача сообщений по сети, выполнение удалённых запросов. При реализации сетевых функций возникает комплекс задач, связанных с распределённым характером хранения и обработки данных в сети: ведение справочной информации обо всех доступных в сети ресурсах и серверах, адресация взаимодействующих процессов, обеспечение прозрачности доступа, тиражирование данных, согласование копий, поддержка безопасности данных. Сетевые операционные системы имеют в своём распоряжении средства передачи сообщений между компьютерами по линии связи. Для поддержания функций передачи сообщений сетевые операционные системы имеют специальные программные компоненты. Реализующие популярные коммуникационные протоколы, такие как IP, IPX, Ethernet и другие. К базовым концепциям методов построения операционных систем относятся: - операционная система может быть построена на основе монолитного ядра или микроядра, объединённого с приложениями. Монолитное ядро представляет собой одну программу, работающую в привилегированном режиме, что позволяет ей осуществлять быстрые переходы от одной процедуры к другой. Альтернативой является построение операционной системы на основе микроядра, работающего также в привилегированном режиме, но выполняющего минимум функций по управлению аппаратурой, в то время как функции операционной системы более высокого уровня осуществляют специализированные компоненты - серверы, работающие в пользовательском режиме. При таком построении операционная система работает медленнее, так как имеют место частые переходы между привилегированным и пользовательским режимами, но система получается более гибкой - её функции можно наращивать, модифицировать или сужать, изменяя или исключая серверы пользовательского режима; - при создании операционной системы, как правило, используется объектно-ориентированный подход, имеющий следующие достоинства: аккумуляцию удачных решений в форме стандартных объектов, возможность создания новых объектов на базе имеющихся с помощью механизма наследования, хорошую защиту данных за счёт их инкапсуляции во внутренние структуры объекта, что делает данные недоступными для несанкционированного использования извне, и другие; - наличие нескольких прикладных сред даёт возможность в рамках одной операционной системы одновременно выполнять приложения, разработанные для нескольких операционных систем. Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX, OS/2 или некоторые из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в операционных системах на базе микроядра, над которым работают различные серверы, реализующие прикладную среду той или иной операционной системы; - распределённая организация операционной системы позволяет упростить работу пользователей и программистов в сетевых средах. В распределённой операционной системе реализованы механизмы, которые дают возможность пользователю представлять и воспринимать сеть в виде традиционного однопроцессорного компьютера. Характерными признаками распределённой организации операционной системы являются: наличие единой справочной службы разделяемых ресурсов, единой службы времени, использование механизма вызова удалённых процедур для прозрачного распределения программных процедур по машинам, возможность многонитевой обработки, позволяющей распараллеливать вычисления в рамках одной задачи и выполнять эту задачу сразу на нескольких компьютерах сети, а также наличие других распределённых служб. Вопрос 44 Операционная система реального времени "Карусель" Операционная система реального времени "Карусель" была разработана для использования в системах автоматики, построенных с применением микропроцессорного комплекса "Микро-ДАТ" (КТС-ЛИУС2), но принципы её построения могут быть использованы в любых других системах. Функционально операционная система может быть разделена на четыре части: - программа обработки внешних прерываний; - программа включения оперативной задачи; - программа переключения карусельной задачи; - программы инициализации и включения системы. Все задачи, выполняемые системой, делятся на две группы: оперативные задачи, включаемые внешним прерыванием и решаемые до конца (оперативная программа может быть прервана только оперативной программой более высокого уровня приоритета), и карусельные задачи, решаемые как фоновые при отсутствии оперативных программ. Карусельные задачи выполняются в режиме разделения времени. Для выполнения каждой карусельной программы выделяется квант времени At. Если за это время задача не решена, она прерывается и включается следующая карусельная задача, для решения которой также выделяется квант времени. Таким образом, всем готовым к решению карусельным задачам будет предоставлен квант процессорного времени для их решения. Только после этого осуществится переход к ранее прерванной программе. Переключение карусельных программ осуществляется по прерыванию, формируемому таймером, уровень приоритета которого равен единице. Оперативные задачи разделены на шесть уровней их приоритета (очерёдность выполнения оперативных задач, принадлежащих одному уровню приоритета, обеспечивается программой пользователя). В качестве контроллера прерываний в комплексе "Микро-ДАТ" применена микросхема 589ИК14, которая формирует команду RST. Для обработки прерывания выделяется восемь ячеек оперативной памяти. При этом управление передаётся на ячейки с адресами 8-N, где N - уровень прерывания (для первого уровня -0008h, для второго 001 Oh и т.д.). Если в регистр контроллера прерываний записать число в пределах 0..7 (например, 4), то на данный уровень и все уровни ниже данного будет наложен запрет прерываний. В нашем примере запрет прерываний будет наложен на уровни с нулевого по четвёртый включительно и разрешено прерывание задачам более высоких уровней. При прерывании программы в стек заносится содержимое всех регистров микропроцессора, расположение записей показано в табл.3.1, При этом адрес возврата (содержимое регистра PC) записывается при выполнении команды RST, формируемой контроллером прерываний, остальные записи осуществляются программой обработки прерываний. В вершину стека заносится номер уровня приоритета прерываемой задачи (при прерывании карусельной задачи - 00h). Уровень приоритета задачи, решаемой в данный момент времени, хранится в ячейке GSTAC. Оперативные программы используют системный стек, а для каждой карусельной про1раммы формируется отдельный стек. Его размер определяется программистом, исходя их потребностей программы, плюс 12 ячеек.
Таблица 2.1 Вершина стека
Если прерывание осуществляется по инициативе оперативной задачи, содержимое указателя стека прерываемой программы записывается в таблицу GSTAC (см. табл.3.2), которая располагается между системным стеком и ячейкой GSTAC. При этом адреса ячеек, в которые производится запись содержимого регистра PS прерываемой программы, определяется уровнем приоритета прерывающей программы. Если, например, программа, имеющая уровень приоритета 5, прерывает карусельную задачу, то вершина указателя стека карусельной задачи будет записана в ячейки GSTAC-10 (младший байт) и GSTAC-9 (старший байт). Таблица 2.2 Таблица GSTAC
Таблица 2.3 Таблица BANK
Если прерывание сформировано таймером, то вершина стека прерываемой карусельной задачи записывается в таблицу, получившую название BANK (табл. 2.3). Обратите внимание на то, что в последние две ячейки таблицы BANK записаны нули. Вопрос 45
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-04-07; просмотров: 507; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.22.75.247 (0.016 с.) |