Операционная система Linux.
В последнее время наблюдается тенденция встраивания функций поддержки режима реального времени в ОС общего назначения. Примером реализации такого подхода является операционная система Linux, которая имеет специальные расширения для реального времени.
Linux является 32-разрядной многозадачной и многопользовательской UNIX-подобной операционной системой, имеющей следующие основные свойства:
• соответствие стандарту POSIX, что позволяет переносить разработанное для классических UNIX-систем программное обеспечение на Linux-системы;
• модульный принцип организации, что является безусловным преимуществом перед так называемыми «монопольными» UNIX-системами;
• расширяемость и масштабируемость системы, что делает ее пригодной для использования как в простых промышленных контроллерах на базе i386ЕХ-микропроцессора, так и в многопроцессорных системах;
• предоставление всех возможностей, доступных через вычислительную сеть, поскольку Linux поддерживает работу с локальными промышленными сетями (например, Ethernet и Profibus) и обеспечивает доступ к удаленным УВК через сеть Интернет; сетевые технологии в Linux соответствуют концепции «клиент-сервер», реализуемой на основе протоколов TCP/IP;
• возможность работы на большинстве известных 32-разрядных процессорных платформ: Intel, IBM, Motorola и др. Перенос системы на другую платформу требует адаптации небольшой аппаратно-зависимой части иcходного кода ядра (это в основном драйверы устройств и загрузчики ядра). Доступность исходного кода операционной системы дает возможность ее оптимальной настройки в конкретных случаях.
Усеченный вариант Linux занимает 2 Мбайта на жестком диске и хорошо подходит для компактных встроенных приложений (обычно потребность таких приложений в ресурсах оперативной памяти - от 2 до 8 Мбайт).
Для поддержки режима реального времени в среде Linux разработаны специальные расширения KURT и UTIME, а также RTLinux.
Программный пакет KURT является системой «мягкого» реального времени, имеет два режима работы — нормальный и реального времени, оформлен в виде системного модуля Linux RTMod, который является планировщиком реального времени. Планирование процессов реального времени может осуществляться по событиям или по таймеру.
При переключении в режим реального времени все обычные процессы в системе приостанавливаются до завершения процесса реального времени. Планировщик RTMod выделяет каждому процессу реального времени интервал (квант) времени, равный 10 мс.
Расширение UTIME позволяет увеличить частоту системного таймера и получить кванты времени до 1 мс. Режим «мягкого» реального времени может быть использован, например, для задач обработки мультимедийной информации, требующих быстрой реакции системы.
Расширение RTLinux реализовано в виде небольшого ядра, поддерживающего режим «жесткого» реального времени, под управлением которого работает Linux. Фактически ядро Linux становится ожидающей задачей в системе реального времени, которая выполняется только тогда, когда, в очереди нет задач реального времени. Процессы, выполняемые в среде Linux, не могут при этом блокировать аппаратные прерывания и запрещать свою выгрузку из памяти.
Техническое решение для реализации этих ограничений связано с программной эмуляцией механизма аппаратной обработки прерываний. Когда Linux посылает запрос на запрет прерывания, ядро RTLinux перехватывает и сохраняет этот запрос, а затем возвращает управление ядру Linux. При возникновении аппаратного прерывания управление всегда получает ядро RTLinux. Если прерывание связано с режимом реального времени, активизируется соответствующая программа обработки прерываний. В противном случае прерывание переводится в режим ожидания. При поступлении запроса от Linux на разрешение прерывания осуществляется программная эмуляция ожидающего прерывания и активизируется программа обработки прерывания в Linux.
Ядро реального времени в Linux является непрерываемым, но поскольку его программы очень малы, нет причин для больших задержек в обслуживании. Тестирование ядра на аппаратной платформе Pentium 120 показало, что интервал задержки планирования задач не превышает 20 мкс.
В настоящее время интерес к использованию ОС Linux в качестве базовой операционной системы в промышленных системах управления постоянно растет. Такие системы обладают рядом преимуществ (распространенность и интеграция режима реального времени с развитыми средствами разработки), но в некоторых случаях уступают стандартным ОС РВ в масштабируемости и
компактности.
Продвижением Linux в промышленные системы управления заняты более 100 компаний. Расширение RTLinux применимо для многих задач реального времени; ОС Linux может быть использована в качестве программной платформы для УВК СМ1820М.
Дата добавления: 2016-02-09; просмотров: 766;