대부분의 Linux 배포판이 POSIX와 호환되지 않는 이유는 무엇입니까? 나는 그렇지 않은 곳을 여러 곳에서 보았습니다(예:대부분 POSIX 표준을 준수합니다.) 그러나 이를 뒷받침할 실제 설명은 없습니다.
이 문제를 해결하기 위해 C 라이브러리 및/또는 도구로 수행할 수 있는 작업이 있습니까(즉, 커널 자체를 수정하지 않고)? 어떻게 해야 하나요?
가정된 중복은 어떤 Linux 배포판이 POSIX와 호환되는지 묻는 것입니다. 이는 대부분의 Linux 배포판이 POSIX와 호환되지 않는 이유를 묻는 것입니다. 특정 배포판이 인증되지 않는(시도하는) 이유가 아니라 특정 세부 정보(예: 일부 기능이나 명령이 호환되지 않음)를 요청하는 것입니다.
@PhilipCouling의 의견(감사합니다!)이 이를 잘 설명합니다.
규정 준수와 인증은 별도의 주제입니다. 대답은 (비)준수 주제와는 아무 관련이 없는 (재)인증 비용을 가리킵니다.
답변1
POSIX는 커널 인터페이스를 지정하지 않으므로 Linux는 기본적으로 관련이 없습니다. 이는 모든 커널에 존재할 수 있는 C 표준에 대한 시스템 인터페이스, 다양한 도구 및 확장을 지정합니다. 언급되지 않았기 때문에 POSIX 규격이 아니거나, 언급되지 않았기 때문에 POSIX 규격이 아닙니다. 선택은 귀하의 몫입니다.
UNIX® 인증 Linux 배포판따라서 Linux를 사용하여 POSIX와 완전히 호환되는 운영 체제를 개발하는 것이 확실히 가능합니다.Huawei의 EulerOS가 그 중 하나입니다.원하시면 구매하실 수 있습니다. 나머지 대부분은 아직 비용을 지불하지 않았으므로 사용할 수 없습니다.테스트 스위트일관성을 확인하세요.
실제로 이 요구 사항을 충족하는지 여부는 불분명하지만 일부는 다른 것보다 더 열심히 일합니다. 나는 일부 BSD가 대부분의 Linux 배포판보다 더 가깝다고 생각하지만 그것은 추측입니다. 예를 들어 execlp("cd", "/", NULL)
대부분의 Linux 배포판에서는 실패하지만 많은 BSD에서 작동하고 POSIX에서 필요하다는 것을 알고 있습니다.