
- •Часть первая. Введение в операционную систему Linux
- •Глава 1. Обзор возможностей операционной системы Linux 1
- •Глава 2. Стандартизация unix-подобных операционных систем 23
- •Глава 1. Обзор возможностей операционной системы Linux
- •1.1. Введение
- •1.2. Краткая история Linux
- •1.3. Архитектура unix-подобных операционных систем
- •1.4. Введение в архитектуру ядра unix-подобных операционных систем
- •1.5. Справочная подсистема (man)
- •1.6. Файлы и каталоги
- •1.7. Ввод и вывод
- •1.8. Программы и процессы
- •1.9. Обработка ошибок
- •1.10. Вход в систему и идентификация пользователя
- •1.11. Сигналы
- •1.12. Интерпретатор shell
- •1.12.1. Сокращенное имя файла
- •1.12.2. Переключение ввода-вывода
- •1.12.3. Программные каналы
- •1.12.4. Создание среды
- •1.13. Системные вызовы и библиотечные функции
- •1.14. Выводы по главе 1
- •1.15. Упражнения по главе 1
- •Глава 2. Стандартизация unix-подобных операционных систем
- •2.1. Введение
- •2.2. Стандарты unix
- •2.2.1. Iso c
- •2.2.2. Ieee Posix
- •2.2.3. Single unix Specification
- •2.3. Пределы
- •2.4. Функции sysconf, pathconf и fpathconf
- •2.5. Элементарные системные типы данных
- •2.6. Выводы по главе 2
- •2.7. Упражнения по главе 2
2.2.2. Ieee Posix
Posix – это семейство стандартов, разработанных IEEE (Институт инженеров по электротехнике и радиоэлектронике). Аббревиатура Posix расшифровывается как Portable Operating System Interface (Интерфейс переносимой операционной системы).
Основной интерес для нас представляет стандарт на интерфейс переносимой операционной системы 1003.1, цель которого состоит в повышении переносимости приложений между различными версиями Unix. Этот стандарт определяет набор услуг, которые должна предоставлять операционная система, если она претендует на звание “Posix-совместимой”. Хотя стандарт 1003.1 и базируется на операционной системе Unix, тем не менее, он не ограничивается UNIX-подобными операционными системами.
Поскольку стандарт 1003.1 определяет интерфейс, а не реализацию, между системными вызовами и библиотечными функциями не делается никаких различий. Стандарт именует все процедуры функциями.
Стандарты продолжают непрерывно развиваться, и 1003.1 не является исключением. Первая версия стандарта была опубликована как IEEE Std 1003.1-1990. Обычно этот стандарт называют Posix.1.
По прошествии почти двадцати лет работы сформировались стандарты, которые можно считать достаточно зрелыми и устоявшимися. Стандарт Posix.1 поддерживается открытой рабочей группой, известной как Austin Group (http://www.opengroup.org/austin). Чтобы стандарты оставались актуальными, их время от времени пересматривают и обновляют. Последняя версия стандарта на настоящее время есть IEEE Std 1003.1-2008.
2.2.3. Single unix Specification
Single UNIX Specification (Единая спецификация Unix) представляет собой надмножество стандарта Posix.1 и определяет дополнительные интерфейсы для расширения функциональных возможностей, предоставляемых базовой спецификацией Posix.1. Полный набор системных интерфейсов называется X/Open System Interface (XSI). Интерфейсы Posix.1, которые являются частью расширений XSI, идентифицируются символьной константой _XOPEN_UNIX.
XSI также определяет дополнительные интерфейсы Posix.1, которые должны поддерживаться реализацией, чтобы она получила право именоваться “XSI-совместимой”. Это, в частности, синхронизация файлов, отображение файлов в память, защита памяти, интерфейсы потоков и др. Некоторые из дополнительных интерфейсов, определяемых XSI, являются обязательными для реализации, тогда как другие необязательны. Только XSI-совместимые реализации могут называться операционными системами UNIX.
Единая спецификация Unix (SUS) публикуется The Open Group, сформированной в 1996 году в результате слияния X/Open и Open Software Foundation (OSF). X/Open принадлежит издание “X/Open Portability Guide” (Руководство X/Open по переносимости), которое заимствовало определенные стандарты и заполнило пробелы, связанные с отсутствующими функциональными возможностями. Целью этих руководств было повышение переносимости прикладных программ, которое стало возможным благодаря простому следованию опубликованным стандартам.
Первая версия SUS была издана X/Open в 1994 году. Последняя версия стандарта на текущий момент – третья (SUSv3) с исправлениями от 2004 г.