Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Семейство стандартов IEEE для обеспечения совместимости между операционными системами
Family of IEEE standards for compatibility between operating systems
Переносимый интерфейс операционной системы (POSIX; /IPA/'/p//ɒ//z//.//ɪ//k//s/) — это семейство стандартов, разработанных IEEE Computer Society для поддержания совместимости между операционными системами. POSIX также является товарным знаком IEEE.
The Portable Operating System Interface (POSIX; /IPA/'/p//ɒ//z//.//ɪ//k//s/) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX is also a trademark of the IEEE.
Имя
Первоначально название "POSIX" относилось к стандарту IEEE Std 1003.1 1988, выпущенному в 1988 году. Семейство стандартов POSIX официально обозначается как IEEE 1003, а номер стандарта ISO/IEC – ISO/IEC 9945. Эти стандарты возникли в результате проекта, начатого в 1984 году и опирающегося на работы, связанные с деятельностью объединения /usr/group. Ричард Столлман предложил название POSIX для IEEE вместо прежнего IEEE IX. Комитет посчитал его более удобным для произношения и запоминания и принял его.
Originally, the name "POSIX" referred to IEEE Std 1003.1 1988, released in 1988. The family of POSIX standards is formally designated as IEEE 1003 and the ISO/IEC standard number is ISO/IEC 9945. The standards emerged from a project that began in 1984 building on work from related activity in the /usr/group association. Richard Stallman suggested the name POSIX to the IEEE instead of former IEEE IX. The committee found it more easily pronounceable and memorable, and thus adopted it.
Версии после 1997 года
После 1997 года группа Austin разработала обновления спецификаций POSIX. Эти спецификации известны как Single UNIX Specification, до тех пор пока они не станут стандартом POSIX после официального утверждения ISO.
After 1997, the Austin Group developed the POSIX revisions. The specifications are known under the name Single UNIX Specification, before they become a POSIX standard when formally approved by the ISO.
POSIX.1-2017
IEEE Std 1003.1 2017 (Ревизия IEEE Std 1003.1 2008) Стандарт IEEE для информационных технологий — Переносимый интерфейс операционной системы (POSIX(R)) Базовые спецификации, выпуск 7 доступен в The Open Group или IEEE и, по состоянию на 22 июля 2018 года, является действующим стандартом. Он технически идентичен POSIX.1 2008 с учетом технических исправлений 1 и 2. Бесплатная копия может быть доступна онлайн. Позднее имя переменной было изменено на This variable, которая теперь также используется для описания ряда других особенностей поведения.
IEEE Std 1003.1 2017 (Revision of IEEE Std 1003.1 2008) IEEE Standard for Information Technology—Portable Operating System Interface (POSIX(R)) Base Specifications, Issue 7 is available from either The Open Group or IEEE and is, as of 22 July 2018, the current standard. It is technically identical to POSIX.1 2008 with Technical Corrigenda 1 and 2 applied. A free online copy may still be available. The variable name was later changed to This variable is now also used for a number of other behaviour quirks.
Операционные системы, ориентированные на POSIX
В зависимости от степени соответствия стандартам, операционные системы можно классифицировать как полностью или частично совместимые с POSIX.
Depending upon the degree of compliance with the standards, one can classify operating systems as fully or partly POSIX compatible.
POSIX для Microsoft Windows
Cygwin предоставляет в значительной степени POSIX-совместимую среду разработки и выполнения для Microsoft Windows. MinGW, форк Cygwin, предоставляет менее POSIX-совместимую среду разработки и поддерживает совместимые приложения, написанные на C, через Msvcrt – устаревшую библиотеку среды выполнения Visual C от Microsoft. libunistd – это в основном POSIX-совместимая библиотека разработки, первоначально созданная для сборки исходного кода CinePaint на C/C++ под Linux непосредственно в Microsoft Visual Studio. Это легковесная реализация, содержащая заголовочные файлы, совместимые с POSIX, которые сопоставляют POSIX API с соответствующими API Windows. Подсистема Microsoft POSIX – необязательная подсистема Windows, включенная в операционные системы на базе Windows NT до Windows 2000. Она поддерживала стандарт POSIX.1 в редакции 1990 года, без поддержки потоков или сокетов. Interix, изначально OpenNT от Softway Systems, Inc., – это обновление и замена подсистемы Microsoft POSIX, приобретенной Microsoft в 1999 году. Изначально она продавалась как отдельный продукт, а затем была включена в состав Windows Services for UNIX (SFU), и, наконец, интегрирована в Windows Server 2003 R2 и последующие версии Windows под названием "Подсистема для UNIX-приложений" (SUA); впоследствии она была признана устаревшей в 2012 году (Windows 8) и удалена в 2013 году (2012 R2, 8.1). Она обеспечивает полную совместимость с POSIX для определенных продуктов Microsoft Windows. Windows Subsystem for Linux, также известная как WSL, – это уровень совместимости для запуска исполняемых файлов Linux непосредственно в Windows 10 и 11 с использованием образа Linux, такого как Ubuntu, Debian или OpenSUSE, и других, выступая в качестве обновления и замены Windows Services for UNIX. Она была выпущена в бета-версии в апреле 2016 года. Первым доступным дистрибутивом был Ubuntu. UWIN от AT&T Research реализует POSIX-слой поверх Win32 API. MKS Toolkit, изначально созданный для MS DOS, – это программный пакет, разработанный и поддерживаемый MKS Inc., который предоставляет Unix-подобную среду для скриптов, сетевого взаимодействия и переноса программного обеспечения Unix и Linux на 32- и 64-битные системы Microsoft Windows. Часть этого пакета была включена в первый выпуск Windows Services for UNIX (SFU) в 1998 году. Библиотека Windows C Runtime и Windows Sockets API реализуют часто используемые функции POSIX API для доступа к файлам, времени, окружению и сокетам, хотя поддержка остается в значительной степени неполной и не обеспечивает полной совместимости с POSIX-совместимыми реализациями.
Cygwin provides a largely POSIX compliant development and run time environment for Microsoft Windows. MinGW, a fork of Cygwin, provides a less POSIX compliant development environment and supports compatible C programmed applications via Msvcrt, Microsoft's old Visual C runtime library. libunistd, a largely POSIX compliant development library originally created to build the Linux based C/C++ source code of CinePaint as is in Microsoft Visual Studio. A lightweight implementation that has POSIX compatible header files that map POSIX APIs to call their Windows API counterparts. Microsoft POSIX subsystem, an optional Windows subsystem included in Windows NT based operating systems up to Windows 2000. It supported POSIX.1 as it stood in the 1990 revision, without threads or sockets. Interix, originally OpenNT by Softway Systems, Inc., is an upgrade and replacement for Microsoft POSIX subsystem that was purchased by Microsoft in 1999. It was initially marketed as a stand alone add on product and then later included it as a component in Windows Services for UNIX (SFU) and finally incorporated it as a component in Windows Server 2003 R2 and later Windows OS releases under the name "Subsystem for UNIX based Applications" (SUA); later made deprecated in 2012 (Windows 8) and dropped in 2013 (2012 R2, 8.1). It enables full POSIX compliance for certain Microsoft Windows products. Windows Subsystem for Linux, also known as WSL, is a compatibility layer for running Linux binary executables natively on Windows 10 and 11 using a Linux image such as Ubuntu, Debian, or OpenSUSE among others, acting as an upgrade and replacement for Windows Services for UNIX. It was released in beta in April 2016. The first distribution available was Ubuntu. UWIN from AT&T Research implements a POSIX layer on top of the Win32 APIs. MKS Toolkit, originally created for MS DOS, is a software package produced and maintained by MKS Inc. that provides a Unix like environment for scripting, connectivity and porting Unix and Linux software to both 32 and 64 bit Microsoft Windows systems. A subset of it was included in the first release of Windows Services for UNIX (SFU) in 1998. Windows C Runtime Library and Windows Sockets API implement commonly used POSIX API functions for file, time, environment, and socket access, although the support remains largely incomplete and not fully interoperable with POSIX compliant implementations.