Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
EKZ.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
289.38 Кб
Скачать

8) Среда разработки программного обеспечения ide Momentics

QNX Momentics IDE ‑ Интегрированная среда разработки приложений для операционной системы QNX Neutrino (рис.40). QNX Momentics IDE представляет собой профессиональный комплект разработчика, который поддерживает различные языки программирования (С, С++, Embedded С++ и Java), различные инструментальные ОС (Windows, Linux, или QNX Neutrino) и различные целевые процессоры (ARM, MIPS, PowerPC, SH-4 и x86) и позволяет существенно сократить время разработки встраиваемого проекта независимо от его масштаба и сложности.

Для разработки нестандартных драйверов применяются комплекты разработки драйверов (DDK), содержащие большую базу исходных текстов и готовых шаблонов. Отладка приложений вместе с драйверами выполняется с помощью одного и того же графического символьного отладчика [15].

Рис.40. Структура и функции QNX Momentics IDE

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

9)Процессы и потоки в Windows. Атрибуты и методы. Состояния потоков. Структура потока. Функции Win32 управления процессами и потоками. Таблица процессов и потоков в Windows . Функций Win32 и их атрибуты. (process.c, fork.c, exec.c, spawn.c).

С точки зрения программирования каждый процесс win32/64 включает компоненты (рис. 22):

  • один или несколько потоков;

  • виртуальное адресное пространство, отличное от адресных пространств других процессов, за исключением случаев явного разделения памяти;

  • один или более сегментов кода, включая код DLL;

Рис. 22. Структура процесса и его потоков

  • один или более сегментов данных, содержащих глобальные переменные;

  • строки окружения с информацией о переменных окружениях, таких как текущий путь поиска файла и др.;

  • память кучи процесса;

  • ресурсы процесса (открытые дескрипторы, файлы, другие кучи).

Атрибуты процесса и потока в Windows приведены в табл. 2.

Атрибуты процесса и потока в Windows Таблица 2

Процесс

Поток

Идентификатор процесса - уникальное значение, идентифицирующее процесс в ОС

Идентификатор потока - уникальное значение, идентифицирующее поток, когда он вызывает сервис.

Дескриптор защиты – описывает, кто создал процесс, права доступа и пр.

Контекст потока – набор значений регистров, которыми определяется состояние выполняемого потока.

Базовый приоритет – базовый приоритет для потоков

Динамический приоритет - приоритет выполняемого потока в данный момент.

Базовый приоритет – нижний приоритет динамического приоритета потока.

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

Родственность процессов по потоку – множество процессов, где возможно выполнение потоков.

Время выполнения – суммарное время, затраченное на выполнение всех потоков в процессе.

Время выполнения потока - совокупное время, затраченное на выполнение потока в пользовательском режиме и режиме ядра.

Счётчик ввода/вывода - переменные, в которые заносятся сведения о количестве и типе операций ввода/вывода, выполненных потоками процесса.

Статус извещения (оповещения) – этот флаг, который указывает, следует ли потоку выполнять асинхронный вызов процедуры.

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

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

Квоты – максимальное количество страничной памяти и процессорного времени доступного процессу

Маркеры режима анонимного воплощения – это временный признак доступа.

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

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

Статус выхода – причины завершения процесса

Статус выхода – причины завершения потока

Все потоки процесса совместно используют код, глобальные переменные, строки окружения и ресурсы процесса [3]. Каждый поток планируется независимо. Поток включает следующие элементы:

  • стек вызова процедур, переменных, обработчиков исключений и автоматических данных;

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

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

В Windows NT реализован планировщик с вытеснением и гибкой системой уровней приоритетов, включая круговое планирование на каждом уровне, а для уровней «переменных приоритетов» – динамическое изменение приоритета на основе текущей активности потоков. В Windows NT две группы (класса) приоритетов: реального времени и переменные, по 16 уровней в каждом (рис. 25). При появлении потока (в состоянии готов) с большим приоритетом, чем у выполняющегося потока, выполняющийся поток вытесняется и начинает выполняться поток с большим приоритетом.

  • Рис. 25 Приоритеты потоков в Windows

  • В классе РВ все потоки имеют ориентированные приоритеты от 16 до 31, которые никогда не изменяется. Все активные потоки с определенным уровнем приоритета располагаются в круговой очереди данного уровня. Приоритеты потоков в период исполнения остаются постоянными [3].

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]