Приложения реального масштаба времени в Unix / Linux

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

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

Обеспечение быстроты реагирования в реальном масштабе времени, особенно когда важно сохранить короткое время отклика, требует поддержки от базовой операционной системы. Большинство операционных систем в силу присущих им особенностей не в со­стоянии предоставить такую поддержку, поскольку требования быстроты реагирования в реальном масштабе времени могут конфликтовать с требованиями, предъявляемыми к многопользовательским операционным системам с разделением времени. Традиционные реализации UNIX не являются операционными системами реального масштаба времени, хотя и были разработаны их версии с подобными характеристиками. Кроме того, были созданы варианты Linux, отвечающие требованиям, предъявляемым к системам реального масштаба времени, и самые новые ядра Linux разрабатываются так, чтобы полноценно под­держивать приложения реального масштаба времени.

В POSIX.1b определено несколько расширений к POSIX.1 для поддержки приложе­ний реального масштаба времени. В их числе асинхронный ввод/вывод, совместно ис­пользуемая память, отображаемые в памяти файлы, блокировка памяти, часы и таймеры реального масштаба времени, альтернативные политики диспетчеризации, сигналы, очереди сообщений и семафоры реального масштаба времени. Но даже притом, что большинство современных реализаций UNIX еще не могут называться системами ре­ального масштаба времени, они поддерживают некоторые или даже все эти расширения. (По ходу повествования вам еще встретятся описания этих особенностей POSIX.1b, поддерживаемых Linux.)

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

 

Вас заинтересует / Intresting for you:

Основа операционной системы Li...
Основа операционной системы Li... 829 просмотров Андрей Волков Wed, 09 Jan 2019, 05:36:45
Сигналы в Linux
Сигналы в Linux 487 просмотров Fortan Tue, 05 Feb 2019, 16:18:38
Процессы Linux
Процессы Linux 1003 просмотров Doctor Wed, 23 Jan 2019, 16:47:24
Краткая история UNIX и языка С
Краткая история UNIX и языка С 1108 просмотров Андрей Волков Tue, 08 Jan 2019, 16:23:27

Войдите чтобы комментировать

Fortan аватар
Fortan ответил в теме #9355 22 фев 2019 07:56
Разработка приложений реального времени сопряжена с множеством нюансов и сложностей. Это вводная статья, если кому-то будет интересна тема разработки таких приложений под Linux, то продолжу публикации здесь на портале.