POSIX
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
POSIX는 이식 가능한 운영 체제 인터페이스 표준을 의미하며, IEEE 1003으로 지정되고 ISO/IEC 9945로도 불린다. 유닉스 운영 체제를 기반으로 개발되었으며, 프로그래밍 인터페이스, 명령 줄 인터페이스, 유틸리티 등을 표준화한다. POSIX는 여러 버전으로 발전해 왔으며, 핵심 서비스(POSIX.1), 실시간 확장(POSIX.1b), 스레드 확장(POSIX.1c), 셸 및 유틸리티(POSIX.2) 등을 포함한다. POSIX는 운영 체제의 POSIX 준수 여부에 따라 완전 또는 부분 POSIX 호환으로 분류되며, 다양한 운영 체제에서 지원된다.
더 읽어볼만한 페이지
- POSIX - 오픈 그룹
오픈 그룹은 다양한 기술 공급업체, 구매자, 정부 기관을 포함하는 국제 컨소시엄으로, 표준 개발, 인증 프로그램 운영, TOGAF와 같은 IT 아키텍처 프레임워크 제공 및 UNIX 상표 권리 보유를 통해 개방형 IT 표준 개발 및 보급에 기여한다. - POSIX - 본 셸
본 셸은 스티븐 본이 개발하여 1979년 유닉스에 포함된 셸로, 셸 스크립트, 제어 흐름, 변수, 시그널 처리 등의 기능을 제공하며 여러 셸에 영향을 주었고 현재도 널리 사용된다. - 오픈 그룹 표준 - X 윈도 시스템
X 윈도 시스템은 네트워크 기반 분산형 윈도 시스템으로, 다양한 운영체제에서 GUI 환경을 제공하며 클라이언트-서버 모델 기반의 네트워크 투명성을 특징으로 한다. - 오픈 그룹 표준 - 공통 데스크톱 환경
공통 데스크톱 환경(CDE)은 1990년대 초 여러 회사가 공동 개발한 유닉스용 데스크톱 환경으로, 유닉스 시스템의 표준 데스크톱으로 사용되었으나 자유 소프트웨어 데스크톱 환경의 등장으로 쇠퇴 후 오픈 소스화되어 다양한 플랫폼으로 이식되었다. - IEC 표준 - ISO/IEC 646
ISO/IEC 646는 ASCII 기반의 7비트 문자 인코딩 표준으로, 국가별 변형이 존재했으나, 최종 개정판은 ASCII와 호환되도록 정의되었고, 현재는 ITU-T 권고 T.50 IRA가 현행 표준으로 유지되고 있다. - IEC 표준 - MPEG-H 3D 오디오
MPEG-H 3D 오디오는 몰입감과 위치 정보를 강화하기 위해 개발된 오디오 코덱 표준으로, 다양한 오디오 유형을 지원하며 ATSC 3.0 오디오 시스템의 표준 중 하나이고, 대한민국 지상파 UHD 방송의 유일한 오디오 코덱으로 사용된다.
| POSIX | |
|---|---|
| POSIX | |
| 종류 | 표준 모음 |
| 분야 | API |
| 약칭 | POSIX |
| 개발 시작 | 1988년 |
| 최신 버전 | IEEE Std 1003.1-2024 |
| 최신 버전 날짜 | 2024년 |
| 관련 표준 | ISO/IEC 9945 |
| 개발 기관 | 오스틴 그룹 (IEEE 컴퓨터 소사이어티, 오픈 그룹, ISO/IEC JTC 1/SC 22/WG 15) |
| 웹사이트 | POSIX 공식 웹사이트 |
2. 명칭
원래 "POSIX"라는 이름은 1988년에 발표된 IEEE Std 1003.1-1988을 지칭했다. POSIX 표준군은 공식적으로 '''IEEE 1003'''으로 지정되었으며, ISO/IEC 표준 번호는 ISO/IEC 9945이다.
유닉스는 특정 제조사에 얽매이지 않는다는 장점 때문에 표준 시스템 인터페이스의 기반으로 선택되었다. 하지만 당시 유닉스에는 여러 주요 버전이 존재했기 때문에, 이들 간의 공통 분모 역할을 할 시스템을 개발할 필요성이 제기되었다. 유닉스 계열 운영 체제를 위한 POSIX 명세는 처음에는 핵심 프로그래밍 인터페이스에 대한 단일 문서로 시작했지만, 점차 확장되어 최종적으로는 19개의 개별 문서(POSIX.1, POSIX.2 등)로 구성되었다.[8]
이 표준들은 1984년 ''/usr/group'' 협회 관련 작업에서 시작된 프로젝트에서 나왔다.[4] 리처드 스톨먼은 IEEE에 이전의 ''IEEE-IX'' 대신 ''POSIX''라는 이름을 제안했다.[5][6] 이름 마지막의 'X'는 유닉스 호환 운영체제 이름에 'X' 자가 많이 붙는 데서 유래되었다.[61] 위원회는 이 이름이 기존 번호로 부르는 것보다 발음하기 쉽고 기억하기 쉽다고 판단하여 채택했다.
3. 역사
표준화 작업에는 사용자 명령 줄 및 스크립팅 인터페이스도 포함되었는데, 이는 UNIX System V 셸을 기반으로 했다.[9] 또한 awk, echo, ed와 같은 많은 사용자 수준 프로그램, 서비스, 유틸리티와 함께 기본적인 I/O(파일, 터미널, 네트워크 포함) 서비스도 표준화 대상이었다. POSIX는 대부분의 현대 운영 체제에서 지원하는 표준 스레딩 라이브러리 API도 정의한다. 2008년에는 이러한 POSIX 표준의 상당 부분이 단일 표준인 ''IEEE Std 1003.1-2008''(또는 ''POSIX.1-2008'')로 통합되었다.
2014년 기준으로, POSIX 문서는 크게 두 부분으로 나뉜다.
POSIX 표준 개발은 오스틴 그룹(IEEE, The Open Group, ISO/IEC JTC 1/SC 22/WG 15 간의 공동 작업 그룹)에서 주도하고 있다.
이 표준들은 초기에는 IEEE 표준 번호(IEEE 1003)나 ISO/IEC 표준 번호(ISO/IEC 9945) 등으로 불렸다. 1988년 "IEEE Std 1003.1-1988" 표준이 발표될 무렵, "POSIX"라는 이름이 병행하여 사용되기 시작했다. POSIX라는 이름은 자유 소프트웨어 운동의 선구자인 리처드 스톨먼이 IEEE에 제안한 것이다.[61] 이름 마지막의 'X'는 유닉스 호환 운영체제 이름에 'X' 자가 붙는 이름이 많은 데서 유래되었다. IEEE 측에서도 번호 대신 POSIX라는 이름을 사용하는 것이 더 발음하기 쉽고 기억하기 좋다고 판단하여 이를 정식 명칭으로 채택했다.
4. 내용
유닉스는 특정 컴퓨터 제조사에 얽매이지 않는 중립적인 특성 덕분에 표준 시스템 인터페이스의 기반으로 선택되었다. 하지만 당시 유닉스에는 여러 주요 버전이 존재했기 때문에, 이들을 아우르는 공통된 시스템을 개발할 필요성이 제기되었다. 이러한 배경 속에서 유닉스 계열 운영 체제를 위한 POSIX 명세가 만들어지기 시작했다. 처음에는 핵심 프로그래밍 인터페이스를 다루는 단일 문서로 시작했지만, 점차 내용이 확장되어 결국 19개의 개별 문서(POSIX.1, POSIX.2 등)로 구성되었다.[8]
POSIX 표준은 다양한 영역을 포괄한다. 사용자들이 일반적으로 사용하는 명령 줄 및 스크립팅 인터페이스는 UNIX System V 셸을 기반으로 표준화되었다.[9] 또한, awk, echo, ed와 같은 여러 사용자 수준의 프로그램, 서비스, 유틸리티들이 필수적인 요소로 포함되었다. 기본적인 I/O 기능(파일, 터미널, 네트워크 관련 기능 포함)과 같은 프로그램 수준의 서비스 역시 표준화의 대상이 되었다. 더불어 POSIX는 현대의 여러 운영 체제에서 널리 지원하는 표준 스레딩 라이브러리 API도 정의하고 있다. 시간이 지나면서 분산되어 있던 POSIX 표준의 상당 부분이 2008년에 단일 표준인 ''IEEE Std 1003.1-2008''(별칭 ''POSIX.1-2008'')으로 통합되었다.
현재 POSIX 문서는 크게 두 부분으로 나뉜다.
- '''POSIX.1, 2013 에디션''': POSIX의 기본 정의, 시스템 인터페이스, 명령어 및 유틸리티를 포함한다. 여기에는 기존의 POSIX.1뿐만 아니라 실시간 서비스, 스레드 인터페이스, 보안 인터페이스, 네트워크 관련 기능 등 다양한 확장이 통합되어 있다. 이는 기술적인 수정사항(정오표 1)이 반영된 POSIX 1003.1-2008 버전에 해당한다.
- '''POSIX 적합성 테스트''': POSIX 표준 준수 여부를 확인하기 위한 테스트 모음인 '''VSX-PCTS'''(VSX POSIX Conformance Test Suite)를 제공한다.[10]
POSIX 표준의 개발은 오스틴 그룹에서 주도하고 있다. 오스틴 그룹은 IEEE, The Open Group, ISO/IEC JTC 1/SC 22/WG 15가 함께 참여하는 공동 작업 그룹이다.
4. 1. 핵심 서비스 (POSIX.1)
'''POSIX.1'''은 IEEE Std 1003.1-1988 표준으로, 운영체제 인터페이스의 핵심 서비스를 정의한다. 주요 내용은 다음과 같다.- 프로세스 생성 및 제어
- 신호: 운영체제가 프로세스에 특정 사건 발생을 알리는 방식이다. 주요 신호는 다음과 같다.
- SIGFPE: 부동소수점 연산 오류 발생 시
- SIGSEGV: 잘못된 메모리 영역 접근 시 (세그먼테이션 오류)
- SIGILL: 프로세스가 존재하지 않거나 권한 없는 기계어 명령 실행 시
- SIGBUS: 하드웨어 정렬 오류 등 버스 오류 발생 시
- SIGALRM: 타이머 만료 시
- 파일 및 디렉토리 관련 작업: 파일 생성, 삭제, 읽기, 쓰기 등 기본적인 파일 시스템 조작 기능을 포함한다.
- 파이프: 프로세스 간 통신(IPC) 방법 중 하나이다.
- C 표준 라이브러리: 표준 ANSI C 라이브러리 함수들을 포함하여 기본적인 프로그래밍 기능을 지원한다.
- POSIX 터미널 인터페이스: 텍스트 기반 터미널 환경에서의 입출력 제어 방식을 정의한다.
- I/O 포트 인터페이스 및 제어
- 프로세스 트리거
4. 2. 실시간 확장 (POSIX.1b)
`POSIX.1b`는 `IEEE Std 1003.1b-1993`으로 제정된 실시간 운영체제 기능을 위한 확장 표준이다. 이후 `librt`라는 이름의 실시간 확장 라이브러리로 구현되기도 하였다.[11] 이 표준은 다음과 같은 기능들을 포함한다.4. 3. 스레드 확장 (POSIX.1c)
'''POSIX.1c'''(스레드 확장, IEEE Std 1003.1c-1995)는 POSIX 스레드 관련 기능을 정의하는 표준이다. 주요 내용은 다음과 같다.- 스레드 생성, 제어 및 정리
- 스레드 스케줄링
- 스레드 동기화
- 신호 처리
4. 4. 셸 및 유틸리티 (POSIX.2)
POSIX.2는 셸 및 유틸리티에 대한 표준(IEEE Std 1003.2-1992)으로, 다음과 같은 내용을 정의한다.- 명령 인터프리터
- 유틸리티 프로그램
5. 버전
유닉스는 특정 컴퓨터 제조사에 얽매이지 않는다는 장점 때문에 표준 시스템 인터페이스의 기반으로 선택되었다. 하지만 당시 유닉스에는 여러 주요 버전이 존재했기 때문에, 이들을 아우르는 공통 시스템을 개발할 필요가 생겼다. 유닉스 계열 운영 체제를 위한 POSIX 명세는 처음에는 핵심 프로그래밍 인터페이스에 대한 단일 문서로 시작했지만, 점차 확장되어 19개의 개별 문서(POSIX.1, POSIX.2 등)로 나뉘게 되었다.[8] 사용자 명령 줄 및 스크립팅 인터페이스는 UNIX System V의 셸을 기반으로 표준화되었다.[9] 또한 awk, echo, ed와 같은 여러 사용자 수준 프로그램, 서비스, 유틸리티와 함께 기본적인 I/O(파일, 터미널, 네트워크) 서비스도 표준에 포함되었다. POSIX는 대부분의 현대 운영 체제에서 지원하는 표준 스레딩 라이브러리 API도 정의하고 있다.
초기 POSIX 표준은 핵심 서비스(POSIX.1), 실시간 확장(POSIX.1b), 스레드 확장(POSIX.1c), 셸 및 유틸리티(POSIX.2) 등으로 나뉘어 개발되었다. (자세한 내용은 하위 섹션 참조)
이후 오스틴 그룹(IEEE, The Open Group, ISO/IEC JTC 1/SC 22/WG 15의 공동 작업 그룹) 주도로 표준 통합 작업이 진행되었다. 2008년에는 기존의 여러 POSIX 표준 대부분이 하나의 단일 표준인 '''POSIX.1-2008''' (''IEEE Std 1003.1-2008'')으로 통합되었다. 이 표준은 '기본 규격, 제7판'으로도 불리며, 다음 네 부분으로 구성된다.
- 기본 정의, 제7판
- 시스템 인터페이스 및 헤더, 제7판
- 명령어 및 유틸리티, 제7판
- 근거 자료
POSIX 표준은 지속적으로 개정되고 있으며, 주요 버전은 다음과 같다.
- '''POSIX.1-2001''' (''IEEE Std 1003.1-2001''): 단일 유닉스 규격, 버전 3에서 ''X/Open Curses'' 부분을 제외한 것과 동일하다.[12]
- '''POSIX.1-2004''' (''IEEE Std 1003.1-2004''): POSIX.1-2001에 두 가지 기술적 정오표(Technical Corrigenda, TC)를 통합한 마이너 업데이트 버전이다.[13][14]
- '''POSIX.1-2008''' (''IEEE Std 1003.1-2008''): 위에서 설명한 대로 여러 표준을 통합한 주요 버전이다.
- '''POSIX.1-2017''' (''IEEE Std 1003.1-2017''): POSIX.1-2008에 기술적 정오표 1과 2를 적용한 개정판이다. 이 규격은 The Open Group 또는 IEEE를 통해 구할 수 있다.[16]
- '''POSIX.1-2024''' (''IEEE Std 1003.1-2024''): 2024년 6월 14일에 발행된 최신 버전으로, '기본 규격, 제8판'에 해당한다.[15][17]
현재 POSIX 문서는 크게 POSIX.1 표준 본문과 POSIX 표준 준수 여부를 확인하는 테스트 모음인 '''VSX-PCTS''' (VSX POSIX Conformance Test Suite)로 나뉜다.[10]
5. 1. 1997년 이전
1997년 이전의 POSIX는 여러 표준으로 구성되었다.- '''POSIX.1''': 핵심 서비스 (표준 ANSI C 포함) (IEEE Std 1003.1-1988)
- 프로세스 생성 및 제어
- 신호
- 부동 소수점 예외
- 세그먼테이션 / 메모리 위반
- 불법 명령어
- 버스 오류
- 타이머
- 파일 및 디렉토리 작업
- 파이프
- C 라이브러리 (표준 C)
- POSIX 터미널 인터페이스 및 I/O 포트 제어
- '''POSIX.1b''': 실시간 확장 (IEEE Std 1003.1b-1993)[11]
- 우선 순위 스케줄링
- 실시간 신호
- 시계 및 타이머
- 세마포어
- 메시지 전달
- 공유 메모리
- 비동기 및 동기 I/O
- 메모리 잠금 인터페이스
- '''POSIX.1c''': 스레드 확장 (IEEE Std 1003.1c-1995)
- 스레드 생성, 제어 및 정리
- 스레드 스케줄링
- 스레드 동기화
- 신호 처리
- '''POSIX.2''': 셸 및 유틸리티 (IEEE Std 1003.2-1992)
- 명령 인터프리터 (셸)
- 유틸리티 프로그램
5. 2. 1997년 이후 (오스틴 그룹 개발)
- POSIX.1-2001
- POSIX.1-2004 (2개의 기술 수정(TC) 포함)
- POSIX.1-2008 (1개의 기술 수정(TC) 포함)
''POSIX.1-2001''(또는 IEEE Std 1003.1-2001)은 단일 유닉스 규격, 버전 3에서 ''X/Open Curses''를 제외한 것과 같다.[12]
이 표준은 다음으로 구성되었다.
- 기본 정의, Issue 6
- 시스템 인터페이스 및 헤더, Issue 6
- 명령 및 유틸리티, Issue 6
IEEE Std 1003.1-2004는 POSIX.1-2001의 사소한 업데이트를 포함했다. 여기에는 ''기술 수정''(TC)이라고 불리는 두 가지 사소한 업데이트 또는 정오표가 통합되었다.[13] 내용은 웹에서 확인할 수 있다.[14]
POSIX에는 여러 버전이 있으므로, 오래된 문서 등에서 단순히 "POSIX"라고 쓰여 있는 경우에는 현재 "POSIX.1"(IEEE Std 1003.1)이라고 불리는 것만을 지칭할 가능성이 있다.
6. 논란
POSIX는 디스크의 일반적인 크기를 반영하여 df 및 du 유틸리티에 대해 512바이트의 기본 블록 크기를 규정한다. 리처드 스톨먼과 GNU 팀이 GNU 운영 체제에 POSIX를 구현했을 때, 그들은 대부분의 사람들이 1024바이트(또는 1 KiB) 블록으로 생각한다는 점을 들어 이에 반대했다. 사용자가 표준을 준수하는 동작을 강제할 수 있도록 환경 변수 POSIX_ME_HARDER가 도입되었다.[18] 이 변수 이름은 나중에 POSIXLY_CORRECT로 변경되었으며,[19] 현재는 다른 여러 동작 방식을 지정하는 데에도 사용된다.
7. POSIX 지향 운영 체제
운영 체제는 POSIX 표준 준수 정도에 따라 완전 또는 부분 호환으로 분류될 수 있다. POSIX 규칙을 준수하는 것을 영어로 POSIX-compliant(POSIX 준수)라고 한다.
IEEE는 신청을 받아 운영 체제의 POSIX 적합성을 심사하고 인증하며, 인증된 운영 체제는 공식 웹사이트에 등록되어 공개된다.[62] 인증 프로그램 가이드라인도 공개되어 있다.[63] 다만, 심사는 유료로 진행되므로 비용 문제 때문에 실제로는 POSIX 표준에 거의 부합하더라도 인증을 받지 않은 오픈 소스 소프트웨어 등의 운영 체제도 존재한다.
7. 1. POSIX 인증 운영 체제
표준 준수 정도에 따라 운영 체제를 완전 또는 부분 POSIX 호환으로 분류할 수 있다. POSIX의 규칙을 준수하는 것을 영어로 POSIX-compliant(POSIX 준수)라고 한다.IEEE는 운영 체제 개발사의 신청을 받아 해당 운영 체제가 POSIX에 적합한지 심사하며, POSIX 인증을 받은 운영 체제는 등록되어 IEEE 공식 웹사이트 내에서 공개된다.[62] 인증 프로그램의 가이드라인 역시 공식 웹사이트에 기재되어 있다.[63] 다만, 이 심사는 유료로 진행된다. 심사 및 인증 요금, 인증 후 "POSIX" 명칭 사용료가 높아 자원봉사자 등에 의해 개발되는 오픈 소스 소프트웨어 등은 비용 부담 때문에 심사를 신청하지 않는 경우가 많다. 이 때문에 실제로는 POSIX 표준에 거의 부합하더라도 인증을 받지 않은 운영 체제도 존재한다.
다음은 IEEE로부터 다양한 POSIX 표준 중 하나 이상을 준수하는 것으로 인증받은 운영 체제 목록이다.[21][22] 인증 상태는 시간이 지남에 따라 변경될 수 있으며, 일부 운영 체제는 단종되었다.
| 운영 체제 | 상태 | 참조 |
|---|---|---|
| AIX | 인증 유효 | [23] |
| HP-UX | 인증 유효 | [24] |
| INTEGRITY | 인증 유효 | [25] |
| macOS (Mac OS X Leopard 이후) | 인증 유효 | [26][27] |
| OpenServer | 인증 유효 | [28] |
| UnixWare | 인증 유효 | [29] |
| VxWorks | 인증 유효 | [25] |
| z/OS | 인증 유효 | [23] |
| 오일러OS | 만료 (2022) | [30] |
| 인스퍼 K-UX | 만료 (2019) | [31] |
| IRIX | 단종 (2006) | [32] |
| OS/390 | 단종 (2004) | [33] |
| QNX 뉴트리노 | 인증 만료 | [34] |
| 솔라리스 | 만료 (2019) | [35] |
| Tru64 | 단종 (2010) | [36] |
| LiteOS | 단종 (2020) | [37] |
7. 2. 대부분 POSIX 준수 운영 체제
표준 준수 정도에 따라 운영 체제를 완전 또는 부분 POSIX 호환으로 분류할 수 있다. IEEE는 신청 시 운영 체제의 POSIX 적합성을 심사하며, 인증된 운영 체제는 공식 웹사이트에 등록되어 공개된다.[62] 인증 프로그램 가이드라인 역시 공식 웹사이트에서 확인할 수 있다.[63] 그러나 심사 및 인증에는 비용이 발생하므로, 오픈 소스 소프트웨어 등 일부 개발 주체는 POSIX 표준에 거의 부합하더라도 비용 부담 때문에 인증 심사를 신청하지 않는 경우가 있다. 따라서 공식 인증을 받지 않았더라도 실제로는 POSIX를 상당 부분 준수하는 운영 체제가 존재한다.다음은 IEEE의 공식 인증을 받지는 않았지만, 대부분 POSIX를 준수하는 운영 체제들이다.
- 안드로이드: 안드로이드 NDK를 통해 사용 가능.
- BeOS (Haiku 포함)
- 콘티키
- Darwin: macOS 및 iOS의 핵심 운영 체제.
- 드래곤플라이 BSD
- FreeBSD[38]
- Haiku
- illumos
- 리눅스: 대부분의 배포판. (Linux Standard Base 참조)
- LynxOS
- MINIX: 현재 MINIX3.
- MPE/iX[39]
- NetBSD
- Nucleus RTOS
- NuttX
- OpenBSD
- OpenSolaris[40]
- PikeOS: 파티션 (메인프레임) 기능을 갖춘 임베디드 시스템용 RTOS. PSE51 및 PSE52 파티션을 선택적으로 지원한다.
- PX5 RTOS[41]
- Redox
- RTEMS: IEEE Std. 1003.13-2003 PSE52 표준에 맞춰 설계된 POSIX API를 지원한다.
- SerenityOS
- SkyOS
- Stratus OpenVOS[42]
- Syllable
- ULTRIX[43]
- VMware ESXi
- VSTa
- Xenix
- Zephyr[44]
유닉스 계열 운영 체제가 아니더라도, TRON 계열의 Nucleus RTOS처럼 POSIX를 지향하는 운영 체제가 존재한다.
7. 3. Microsoft Windows에서의 POSIX 지원
마이크로소프트 윈도우 환경에서 POSIX 표준을 지원하기 위한 여러 방법들이 존재한다. 이는 윈도우 자체 기능 또는 별도의 소프트웨어를 통해 이루어진다.- Cygwin: 마이크로소프트 윈도우에서 광범위한 POSIX 호환 개발 및 실행 환경을 제공하는 대표적인 도구이다.
- MinGW: Cygwin에서 파생된(fork) 개발 환경으로, Cygwin보다 POSIX 호환성은 낮지만 마이크로소프트의 구형 Visual C 런타임 라이브러리(Msvcrt)를 이용하여 C 언어로 작성된 프로그램을 지원한다.
- libunistd: 리눅스 기반의 C/C++ 소스 코드(CinePaint 등)를 Microsoft Visual Studio 환경에서 빌드하기 위해 만들어진 라이브러리이다. POSIX API를 윈도우 API로 연결하는 헤더 파일을 포함한 가벼운 구현체이다.[45]
- 마이크로소프트 POSIX 하위 시스템: 윈도우 NT 기반 운영체제에 윈도우 2000까지 선택적으로 포함되었던 서브시스템이다. 1990년 개정된 POSIX.1 표준을 지원했지만, 스레드나 소켓과 같은 중요한 기능은 지원하지 않았다. 이는 미국 정부 기관의 컴퓨터 시스템 도입 요건(연방 정보 처리 표준, FIPS)으로 POSIX 준수가 요구되었기 때문에 탑재되었다.
- Interix (SFU/SUA): 원래 Softway Systems사가 개발한 OpenNT로, 1999년 마이크로소프트가 인수하여 마이크로소프트 POSIX 하위 시스템을 대체하는 용도로 사용되었다. 처음에는 별도 제품으로 판매되다가 Windows Services for UNIX(SFU)에 포함되었고, 이후 "Subsystem for UNIX-based Applications"(SUA)라는 이름으로 Windows Server 2003 R2 및 윈도우 비스타부터 기본 구성 요소로 통합되었다. 이를 통해 특정 윈도우 제품에 대한 완벽한 POSIX 호환성을 가능하게 했다. 그러나 마이크로소프트는 윈도우 8 및 윈도우 서버 2012부터 SUA 지원을 중단(deprecated)하고[46], 윈도우 8.1 및 윈도우 서버 2012 R2에서는 완전히 제거했다. 지원 중단 시 대체 수단 중 하나로 Cygwin 사용이 언급되었다.
- Windows Subsystem for Linux (WSL): 윈도우 10 (버전 1607 이후) 및 윈도우 11에서 리눅스 바이너리 실행 파일을 직접 실행할 수 있도록 지원하는 호환성 레이어이다. Ubuntu, Debian, OpenSUSE 등의 리눅스 배포판 이미지를 사용하여 작동하며, 기존의 SUA(Interix)를 대체하는 최신 기술이다. 2016년 4월 베타 버전으로 처음 공개되었으며, 초기에는 Ubuntu 배포판을 지원했다.
- UWIN: AT&T Research에서 개발한 도구로, Win32 API 위에 POSIX 레이어를 구현한다.
- MKS Toolkit: MKS Inc.에서 개발한 소프트웨어 패키지로, 윈도우 환경에서 Unix와 유사한 환경을 제공하여 스크립팅, 연결성 및 유닉스/리눅스 소프트웨어 포팅을 지원한다. 이 패키지의 일부는 Windows Services for UNIX(SFU)의 초기 버전에 포함되기도 했다.[47][48]
- 윈도우 기본 라이브러리: 윈도우 C 런타임 라이브러리와 윈도우 소켓 API 자체에도 파일, 시간, 환경, 소켓 접근 등 일부 POSIX API 함수들이 구현되어 있다.[49] 하지만 지원 범위가 완전하지 않고 다른 POSIX 호환 구현과 완벽하게 호환되지 않는 경우가 많다.[50][51]
7. 4. 기타 운영 체제
POSIX 호환으로 공식 인증되지는 않았지만, 표준을 대부분 준수하는 운영 체제는 다음과 같다. 이들은 주로 변환 라이브러리나 커널 상위 계층과 같은 일부 호환 기능을 통해 POSIX 지원을 구현하며, 이러한 기능 없이는 일반적으로 호환되지 않는다.- 아미가OS (ixemul 라이브러리 또는 vbcc_PosixLib[52]를 통해)
- eCos – POSIX는 표준 배포판의 일부이며 많은 애플리케이션에서 사용된다.
- IBM i (PASE 호환 계층을 통해)[53]
- MorphOS (내장된 ixemul 라이브러리를 통해)
- OpenVMS (선택적 POSIX 패키지를 통해)[54]
- 벨 연구소의 플랜 9 APE - ANSI/POSIX 환경[55]
- RIOT (선택적 POSIX 모듈을 통해)
- 심비안 OS (PIPS) (PIPS는 심비안의 POSIX)
- VAXELN (VAXELN POSIX 런타임 라이브러리를 통해 1003.1 및 1003.4 부분 지원)[56]
- Windows NT 커널 기반 시스템: Microsoft SFU 3.5 또는 SUA를 사용할 때 POSIX 호환성을 제공했다. POSIX를 준수하려면 특정 Windows 버전에서 선택적 기능을 활성화해야 했다.[57]
- Windows 2000 Server 또는 Professional (Service Pack 3 이상)
- Windows XP Professional (Service Pack 1 이상)
- 윈도우 서버 2003
- 윈도우 서버 2008 및 윈도우 비스타 (Ultimate 및 Enterprise 버전)
- 윈도우 서버 2008 R2 및 윈도우 7 (Ultimate 및 Enterprise 버전)
- 윈도우 서버 2012 및 윈도우 8 (Enterprise 버전) - 해당 기능은 사용 중단되었으나 여전히 사용 가능했다.
8. POSIX와 다른 규격의 관계
C 언어의 시스템 호출과 라이브러리 함수를 규정한 규격으로는 POSIX 외에도 ANSI C/ISO C와 SUS(Single UNIX Specification, XPG4의 후계)가 있다. 각 규격은 서로 다른 입장을 가지고 있어, 포함하는 함수의 종류에도 차이가 있다. 수학의 포함 관계 기호를 사용하여 이들의 관계를 나타내면, ANSI/ISO C ⊂ POSIX.1 ⊂ SUS 와 같다.
참조
[1]
웹사이트
POSIX.1 FAQ
https://www.opengrou[...]
The Open Group
2023-02-20
[2]
웹사이트
IEEE 1003.1-2024
https://standards.ie[...]
[3]
웹사이트
Introduction
https://pubs.opengro[...]
2021-07-22
[4]
웹사이트
JimIsaak - POSIX Impact
https://sites.google[...]
2022-09-15
[5]
웹사이트
A Backgrounder on IEEE Std 1003.1
https://www.opengrou[...]
[6]
웹사이트
The origin of the name POSIX.
https://stallman.org[...]
2024-09-26
[7]
간행물
An Update On Standards
https://www.usenix.o[...]
[8]
보고서
PASC Status (including POSIX)
https://collaboratio[...]
IEEE Computer Society
2003-12-04
[9]
웹사이트
Shell Command Language - The Open Group Base Specifications Issue 7, 2013 Edition
https://pubs.opengro[...]
2020-04-28
[10]
웹사이트
Test Suites VSX-PCTS2003
https://www.opengrou[...]
The Open Group
[11]
웹사이트
librt(3LIB)
https://docs.oracle.[...]
Oracle Corporation
1998-08-04
[12]
웹사이트
The Single UNIX Specification Version 3 - Overview
https://unix.org/ver[...]
[13]
웹사이트
IEEE Std 1003.1
http://www.unix.org/[...]
Unix.org
2009-07-26
[14]
웹사이트
Base Specifications, Issue 6
https://pubs.opengro[...]
The Open Group
2024-07-20
[15]
웹사이트
The Austin Common Standards Revision Group
https://www.opengrou[...]
The Open Group
2024-07-20
[16]
웹사이트
Base Specifications, Issue 7, 2018 Edition
https://pubs.opengro[...]
The Open Group
2024-07-20
[17]
웹사이트
Base Specifications, Issue 8
https://pubs.opengro[...]
The Open Group
[18]
뉴스그룹
Democracy Triumphs in Disk Units
http://groups.google[...]
1991-08-28
[19]
웹사이트
GNU Coding Standards
https://www.gnu.org/[...]
GNU
[20]
웹사이트
POSIX Certified by IEEE and The Open Group - Program Guide
https://posix.opengr[...]
2024-09-26
[21]
웹사이트
POSIX Certified by IEEE and The Open Group - Program Guide
https://posix.opengr[...]
2024-09-26
[22]
웹사이트
Certified Products by Company
https://www.opengrou[...]
The Open Group
2022-01-22
[23]
웹사이트
IBM
https://www.opengrou[...]
The Open Group
2022-01-23
[24]
웹사이트
Hewlett-Packard
https://www.opengrou[...]
The Open Group
2014-01-26
[25]
웹사이트
POSIX Certification Register
https://posix.opengr[...]
2024-08-22
[26]
웹사이트
The Open Brand - Register of Certified Products
https://www.opengrou[...]
The Open Group
2015-05-20
[27]
웹사이트
Apple Inc
https://www.opengrou[...]
The Open Group
2015-05-20
[28]
웹사이트
SCO OpenServer Release 5
https://www.opengrou[...]
The Open Group
2021-12-24
[29]
웹사이트
UnixWare ® 7.1.3 and later
https://www.opengrou[...]
The Open Group
2021-12-24
[30]
웹사이트
Huawei Technology Co., Ltd
https://www.opengrou[...]
The Open Group
2017-05-26
[31]
웹사이트
Inspur Co., Ltd
https://www.opengrou[...]
The Open Group
2017-05-26
[32]
웹사이트
Silicon Graphics, Inc.
https://www.opengrou[...]
The Open Group
2014-01-26
[33]
웹사이트
The Open Brand - Register of Certified Products
http://www.opengroup[...]
2022-01-23
[34]
보도자료
QNX Achieves New POSIX Certification
http://www.qnx.com/n[...]
QNX
2016-01-16
[35]
웹사이트
Oracle Corporation
https://www.opengrou[...]
The Open Group
2014-01-26
[36]
웹사이트
Hewlett-Packard
https://www.opengrou[...]
The Open Group
2014-01-26
[37]
웹사이트
Huawei LiteOS / LiteOS
https://gitee.com/Li[...]
Huawei
2024-05-23
[38]
웹사이트
FreeBSD POSIX 2001 Utility Compliance
http://people.freebs[...]
FreeBSD
[39]
간행물
HP 3000 sales catch market by surprise
https://books.google[...]
IDG Enterprise
1994-11-07
[40]
서적
OpenSolaris Bible
https://books.google[...]
John Wiley & Sons
2011-03-21
[41]
웹사이트
RTOS with standard POSIX pthreads API: a complement to embedded Linux
https://www.embedded[...]
2023-06-15
[42]
웹사이트
OpenVOS POSIX.1: Conformance Guide
https://stratadoc.st[...]
Status Technologies
2021-11-26
[43]
설명서
ULTRIX POSIX Conformance Document
http://bitsavers.org[...]
Digital
1990-06
[44]
웹사이트
POSIX Support
https://docs.zephyrp[...]
Zephyr documentation
2023-03-07
[45]
웹사이트
libunistd
https://github.com/r[...]
2022-09-08
[46]
웹사이트
Features Removed or Deprecated in Windows Server 2012
https://docs.microso[...]
2016-08-31
[47]
웹사이트
Windows NT Services for UNIX Add-On Pack
http://www.microsoft[...]
[48]
보도자료
MKS Solves Enterprise Interoperability Challenges
http://mks.com/press[...]
[49]
웹사이트
Deprecated CRT Functions
https://docs.microso[...]
2009-10-15
[50]
웹사이트
Porting Socket Applications to Winsock
https://docs.microso[...]
2021-01-07
[51]
웹사이트
Winsock Programmer's FAQ Articles: BSD Sockets Compatibility
https://tangentsoft.[...]
Warren Young
2015-08-31
[52]
웹사이트
Aminet - dev/C/Vbcc_PosixLib.lha
http://aminet.net/pa[...]
[53]
웹사이트
Programming IBM PASE for i
https://www.ibm.com/[...]
IBM
2013
[54]
웹사이트
FIPS 151-2 Conformance Validated Products List
https://peren.com/fi[...]
Perennial Test Lab
2022-08-14
[55]
웹사이트
APE — ANSI/POSIX Environment
http://plan9.bell-la[...]
Bell Labs
[56]
설명서
Realtime Products Technical Summary, Fifth Edition
http://www.bitsavers[...]
Digital Equipment Corporation
1992-12
[57]
웹사이트
Chapter 29 - POSIX Compatibility
http://www.microsoft[...]
Microsoft
[58]
웹사이트
Linux用語事典 [POSIX(Portable Operating System Interface for UNIX)]
https://www.atmarkit[...]
[59]
웹사이트
POSIX™ 1003.1 Frequently Asked Questions (FAQ Version 1.18)
http://www.opengroup[...]
2020-06-13
[60]
웹사이트
P1003.1 - Standard for Information Technology--Portable Operating System Interface (POSIX(TM)) Base Specifications, Issue 8
https://standards.ie[...]
[61]
웹사이트
POSIX 1003.1 FAQ Version 1.12
http://www.opengroup[...]
2006-02-02
[62]
웹사이트
POSIX Certification Register
http://get.posixcert[...]
[63]
웹사이트
POSIX Certification Guide
http://get.posixcert[...]
[64]
웹사이트
IBM
http://www.opengroup[...]
The Open Group
2014-01-26
[65]
웹사이트
Hewlett-Packard
http://www.opengroup[...]
The Open Group
2014-01-26
[66]
웹사이트
Silicon Graphics, Inc.
http://www.opengroup[...]
The Open Group
2014-01-26
[67]
웹사이트
Huawei Technology Co., Ltd
https://www.opengrou[...]
The Open Group
2017-05-26
[68]
웹사이트
The Open Brand - Register of Certified Products
http://www.opengroup[...]
The Open Group
2015-05-20
[69]
웹사이트
Apple Inc
http://www.opengroup[...]
The Open Group
2015-05-20
[70]
웹사이트
Oracle Corporation
http://www.opengroup[...]
The Open Group
2014-01-26
[71]
웹사이트
UnixWare ® 7.1.3 and later
http://www.opengroup[...]
The Open Group
2003-05-16
[72]
웹사이트
QNX Achieves New POSIX Certification
http://www.qnx.com/n[...]
QNX
2008-04-08
[73]
웹사이트
Inspur Co., Ltd
https://www.opengrou[...]
The Open Group
[74]
웹사이트
POSIX Certification Register
http://get.posixcert[...]
[75]
웹사이트
POSIX utilities
http://people.freebs[...]
FreeBSD
[76]
잡지
HP 3000 sales catch market by surprise
https://books.google[...]
IDG Enterprise
1994-11-07
[77]
서적
OpenSolaris Bible
https://books.google[...]
John Wiley & Sons
2011-03-21
[78]
웹사이트
POSIX and UNIX Support in Windows
https://social.techn[...]
[79]
웹사이트
Federal Information Processing Standard (FIPS) 151-2
http://www.itl.nist.[...]
2014-02-20
[80]
웹사이트
Features Removed or Deprecated in Windows Server 2012
https://docs.microso[...]
[81]
웹사이트
第1回 Windows 8製品版の概要:Windows 8レボリューション(1/3 ページ) - @IT
https://atmarkit.itm[...]
[82]
웹인용
POSIX.1 FAQ
http://www.opengroup[...]
The Open Group
2011-10-05
[83]
웹사이트
http://technet.micro[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com