История возникновения и версии
<aside>
🤓
POSIX - Portable Operational System Interface X
</aside>
Краткая (или нет) историческая справка
Описание
Документ стандарта, по сути, описывает спецификацию, распространяющуюся на два окружения (среду сборки и среду исполнения); он представлен в виде нескольких томов:
- Базовые определения: определяет общие для всех томов термины и концепции, требования совместимости (символьные константы, опции, группы опций), среду вычислений (локали, регулярные выражения, структуру папок, tty, переменные окружения и так далее) и файлы заголовков языка C, которые должны реализовываться соответствующими стандарту системами.
- Системные интерфейсы: определяет стандарт языка C (ISO C99, ISO/IEC 9899:1999), функции системных сервисов и расширение стандартной библиотеки C (libc) относительно файлов заголовков и функций.
- Шелл и утилиты: определяет интерфейс уровня исходного кода для Shell Command Language (sh) и системных утилит (awk, sed, wc, cat, ...), в том числе поведение, параметры командной строки, статусы выхода и так далее.
- Аргументация: включает в себя вопросы портируемости, субпрофилирования, групп опций и дополнительную аргументацию, не подходящую ко всем остальным томам.
Основные версии POSIX
- POSIX.1-1988 - описывал основные системные вызовы, библиотечные функции, примитивы работы с потоками ввода/вывода + минимальный набор утилит командной строки
- POSIX.2-1992 - описывал язык команд (shell), добавление утилит по типу
grep, find, awk
- POSIX.1-2001 (Single UNIX Specification Version 3) - консолидировал и модернизировал предыдущие стандарты, интегрировал все в единый стандарт.
- Объединение POSIX.1, POSIX.2, и других расширений.
- Поддержка современных системных вызовов.
- Улучшенная совместимость с современными UNIX-подобными системами.
- POSIX.1-2008 (POSIX.1-2008 или Single UNIX Specification Version 4) - последняя* основная ****версия POSIX.
- Поддержка многопоточности, включая обновления API pthreads.
- Расширенные возможности командной оболочки и утилит.
- Добавлены современные инструменты и функции, такие как
fdatasync.
- Ориентация на работу с большими объемами данных и многозадачность.
🤓☝️ Вообще-то POSIX.1-2008 не последняя основная версия. Ставлю F😱😂🤪.
Да, фактически все верно, но есть один моментик из man standards:
POSIX.1-2017
This revision of POSIX is technically identical to
POSIX.1-2008 with Technical Corrigenda 1 and 2 applied.
Technical Corrigenda — это официальные обновления к стандарту, которые выпускаются для исправления ошибок, уточнения требований или устранения двусмысленностей в тексте стандарта. Они не вводят новых функций или изменений в спецификации, а служат для улучшения интерпретации и точности документа.
<aside>
❗
С 2024 думаю будет похожая ситуация. Главное, что он вышел. Расскажите про 2008, 2017 и потом упомяните про 2024)
</aside>