next up previous
Next: Улучшенные cигналы

Linux 2.2 - POSIX.1b Совместимость и поддержка функций реального времени. Обзор.

Markus Kuhn - перевод Владимира Черненкова

21.03.97

Самый свежий оригинал этого текста должен лежать на URL:
ftp://ftp.informatik.uni-erlangen.de/local/cip/mskuhn/misc/linux-posix.1b
.

В настоящее время ядро Linux и libc весьма хорошо совместимы с POSIX.1 и POSIX.2 стандартами, которые определяют запросы системы, функции библиотеки и обеспечивают совместимость команд для операционных UNIX-систем. Для некоторых Linux дистрибутивов даже имеются тесты на POSIX.1 совместимость. Однако POSIX.1 запросы системы и функции библиотеки определяют только минимальные функциональные возможности ядра и, не более чем требует UNIX.

Многие слегка более продвинутые функции подобно mmap(), fsync(), таймерные, алгоритмы планирования, IPC, и т.д., которые являются существенными для большого количества реальных общих приложений, не были стандартизированы POSIX.1 в 1990.

Новый стандарт POSIX.1b (теперь официально названный IEEE Std 1003.1b-1993, ISBN 1-55937-375-X, в процессе разработки стандарта называемый POSIX.4) откорректирован, и полагаю, что POSIX.1b содержит большое количество полезных идей для дальнейшей разработки на Linux.

В самом коротком, представленном ниже описании, я надеюсь повысить вашу заинтересованность в POSIX.1b и в проблемах в реального времени вобще, стимулировать также некоторую личную работу в этом направлении. Приятного чтения!

Новые POSIX расширения сосредотачиваются на запросах приложений в реальном масштабе времени и на приложениях, которые должны обеспечивать высокоскоростной ввод - вывод. Большое количество приложений подобно диалоговым видео играм, высокоскоростным серверам баз данных, игровым мультимедиа и программному обеспечению контроля и управления для всех видов аппаратных средств ЭВМ, требуют большего объема детерминированного планирования, мониторинга, передачи сигналов, таймирования и межпроцессных механизмов связи, чем то, что доступно на традиционных UNIX системах подобно BSD4.3.

Функциональные возможности систем подобно BSD4.3 были оптимизированы для универсальной ЭВМ и многопользовательских сценариев разделения времени и памяти, в то же время операционные системы для персональных компьютеров должны также поддерживать приложения в реальном масштабе времени. На персональном компьютере, это часто возможно и желательно, поскольку например во время диалоговых игр и CPU и память из-за интенсивных обращений мультимедиа приложений исключены из нормального мониторинга и cтратегий планирования, в отличие от большой универсальной ЭВМ, в которой эти ресурсы обычно требуются на расхват всем пользователям насколько возможно.

Недостаток способностей для реальном времени Linux 1.2 пока был главной причиной, почему все еще ряд интересных приложений, которые запускались на МС-ДОС были невыполняемыми как процессы пользователя под Linux. Например: высоко достоверная запись и воспроизведение звука, управление программным обеспечением для астрономических CCD камер, алгоритмы обработки сигнала в реальном масштабе времени, эмулятор последовательного порта интеллектуальных карт, программы для MIDI компютеров, синтез музыкальных инструментов, и т.д.

Эта ситуация начинает меняться с недавним дополнением POSIX.1b захватом памяти и изменениями статического приоритета функции для Linux 1.3. Множество вещей все еще могут быть осуществленыи и с помощью вашего вклада, пожалуйста! Этот текст суммирует, какие функции еще не были осуществлены и кто уже начал работать над некоторыми из них. Пожалуйста войдите в контакт с ними, если вы хотите знать состояния их работы, или, если вы хотите привнести что-то свое. Пожалуйста сообщите нам относительно любого продвижения, так что-бы можно было обновлять этот текст.

Чтобы использовать первые новые особенности POSIX.1b, которые недавно были добавлены к Linux, пожалуйста установите 2.0.X ядро, libc-5.3.12, и man-pages-1.11 или более новые, доступные через ftp на sunsite.unc.edu или tsx-11.mit.edu. Самая последняя libc доступна на URL: ftp://tsx-11.Mit.edu/pub/linux/packages/GCC/.

Real-time поддержка - еще далека до завершения, но некоторые интересные особенности уже доступны.

POSIX.1b-1993 определяет в дополнение к POSIX.1-1990 следующие новые концепции и функции:





next up previous
Next: Улучшенные cигналы



Vladimir Chernenkov
Fri Jun 13 10:57:19 MSD 1997