- •1.Дайте объяснение понятиям операционной среды и операционной системы. Приведите классификацию операционных систем.
- •2. Дайте объяснение понятиям процесса и задачи. Опишите переходы процесса из одного состояния в другие.
- •3. Объясните понятие ресурса. Почему понятие ресурса является одним из фундаментальных при рассмотрении ос? Какие виды и типы ресурсов вы знаете?
- •7. Приведите основные характеристики fat16, fat32, ntfs.
- •8. Перечислите и поясните основные принципы построения ос. Что такое posix? Какими преимуществами обладают программы, созданные с использованием только стандартных функций, предусмотренных posix?
- •9. Основные характеристики и возможности операционных систем фирмы Microsoft. Платформа Windows 9х Операционная система Windows 95
- •Операционная система Windows 98
- •Windows Millennium Edition
- •Платформа Windows nt
- •Windows nt Server 4.0
- •Платформа Windows 2000 Windows 2000 Server
- •Windows 2000 Professional
- •Windows xp
- •Windows 2003 Server
- •10. Основные характеристики и возможности операционных систем семейства unix. Общее представление семейства ос unix
- •Основные понятия семейства ос unix
- •Межпроцессные коммуникации в unix
- •11.Основные характеристики и возможности операционных систем семейства os/2.
- •12. Основные характеристики и возможности операционных систем реального времени (qnx). Общее представление ос реального времени qnx.
- •Особенности архитектуры системы qnx.
- •Основные механизмы qnx.
12. Основные характеристики и возможности операционных систем реального времени (qnx). Общее представление ос реального времени qnx.
Мощной операционной системой реального времени (ОСРВ), позволяющей проектировать сложные программные системы, работающие в реальном времени как на одном-единственном компьютере, так и в локальной вычислительной сети является операционная система QNX. Встроенные средства операционной системы QNX обеспечивают поддержку многозадачного режима на одном компьютере и взаимодействие параллельно выполняемых задач на разных компьютерах, работающих в среде локальной вычислительной сети. Основным языком программирования в системе является язык С.
ОС QNX является сетевой, мультизадачной, многопользовательской (многотерминальной) и масштабируемой системой. С точки зрения пользовательского интерфейса и API она очень похожа на UNIX. Однако QNX не является версией операционной системы UNIX.
QNX была первой коммерческой ОС, построенной на принципах микроядра и обмена сообщениями.
Система реализована в виде совокупности независимых, но взаимодействующих через обмен сообщениями, процессов различного уровня (менеджеров и драйверов), каждый из которых реализует определенный вид сервиса. Эти идеи позволили добиться нескольких важнейших преимуществ:
предсказуемости. QNX дает полную гарантию в том, что процесс с наивысшим приоритетом начнет выполняться практически немедленно и что критическое событие (например, сигнал тревоги) никогда не будет потеряно.
масштабируемости и эффективности, достигаемых оптимальным использованием ресурсов и означающим ее применимость для встроенных систем;
расширяемости и надежности одновременно, поскольку написанный вами драйвер не нужно компилировать в ядро, рискуя вызвать нестабильность системы.
поддержки быстрого сетевого протокола FLEET, обеспечивающего прозрачность при обмене сообщениями, автоматическую отказоустойчивость, балансирование нагрузки и маршрутизацию между альтернативными путями;
поддержки компактной графической подсистемы Photon, построенной на тех же принципах модульности, что и сама ОС, позволяющей получить полнофункциональный GUI, работающий вместе с POSIX-совместимой ОС всего в 4Мбайт памяти, начиная с i80386 процессора.
Особенности архитектуры системы qnx.
QNX – это ОС реального времени, позволяющая эффективно организовать распределенные вычисления. В системе реализована концепция связи между задачами на основе сообщений, посылаемых от одной задачи к другой, причем задачи эти могут находиться как на одном и том же компьютере, так и на удаленных, но связанных между собой локальной вычислительной сетью. Реальное время и концепция связи между процессами в виде сообщений оказывают решающее влияние на разрабатываемое для QNX программное обеспечение и на программиста, стремящегося с максимальной выгодой использовать преимущества системы. Микроядро имеет объем в несколько десятков килобайт (в одной из версий – 10 Кбайт, в другой – менее 32 Кбайт), то есть это одно из самых маленьких ядер среди всех существующих операционных систем. В этом объеме помещаются:
механизм передачи сообщений между процессами (IPC);
redirect (перенаправлять) прерываний;
блок планирования выполнения задач;
сетевой интерфейс для перенаправления сообщений (менеджер Net).
Механизм передачи межпроцессных сообщений предназначен для пересылки сообщений между процессами и является одной из важнейших частей ОС, так как все общение между процессами, в том числе и системными, происходит через сообщения. Сообщение в QNX – это последовательность байтов произвольной длины (0–65535 байтов) произвольного формата. Протокол обмена сообщениями организуется как блокировка задачи для ожидания сообщения. Одна задача посылает другой сообщение и при этом блокируется сама, ожидая ответа. Первая задача разблокировывается, обрабатывает сообщение и отвечает, разблокируя при этом вторую задачу.
Redirect прерываний является частью ядра и занимается перенаправлением аппаратных прерываний в связанные с ними процессы. Позволяет пользователю избежать работы с аппаратным обеспечением напрямую и тем самым не допустить конфликтов между различными процессами, работающими с одним и тем же устройством. Для обработки сигналов от внешних устройств чрезвычайно важно минимизировать время между возникновением события и началом непосредственной его обработки. Этот фактор существен в любой области применения – от работы терминальных устройств до возможности обработки высокочастотных сигналов,
Блок планирования выполнения задач (диспетчер задач) занимается обеспечением многозадачности. Диспетчер выбирает процесс для запуска среди неблокированных процессов в порядке значений их приоритетов, которые располагаются в диапазоне от 0 (наименьшего) до 31 (наибольшего). Обслуживание каждого из процессов зависит от метода диспетчеризации, с которым он работает. Уровень приоритета и метод диспетчеризации могут динамически меняться во время работы. В QNX существуют три метода диспетчеризации:
1) FIFO (первым пришел – первым обслужен);
2) round-robin, при котором процессу выделяется определенный квант времени для работы;
3) адаптивный, который является наиболее используемым.
Первый наиболее близок к кооперативной многозадачности, то есть процесс выполняется до тех пор, пока он не перейдет в состояние ожидания сообщения, состояние ожидания ответа на сообщение или не отдаст управление ядру. При переходе в одно из таких состояний процесс помещается последним в очередь процессов с таким же уровнем приоритета, а управление передается процессу с наибольшим приоритетом.
Во втором варианте все происходит так же, как и в предыдущем, с той разницей, что период, в течение которого процесс может работать без перерыва, ограничивается неким квантом времени.
Сетевой интерфейс в системе QNX является неотъемлемой частью ядра. Он, конечно, взаимодействует с сетевым адаптером через сетевой драйвер, но базовые сетевые сервисы реализованы на уровне ядра. При этом передача сообщения процессу, находящемуся на другом компьютере, ничем не отличается с точки зрения приложения от передачи сообщения процессу, выполняющемуся на том же компьютере. Благодаря такой организации сеть превращается в однородную вычислительную среду. При этом для большинства приложений не имеет значения, с какого компьютера они были запущены, на каком исполняются и куда поступают результаты их работы. Такое решение принципиально отличает QNX от остальных ОС, которые тоже имеют все необходимые средства для работы в сети, и делает системы, работающие под ее управлением, по-настоящему распределенными.