대부분의 Linux 배포판이 POSIX와 호환되지 않는 이유는 무엇입니까?

대부분의 Linux 배포판이 POSIX와 호환되지 않는 이유는 무엇입니까?

대부분의 Linux 배포판이 POSIX와 호환되지 않는 이유는 무엇입니까? 나는 그렇지 않은 곳을 많이 보았습니다(예:대부분 POSIX 호환) 그러나 이를 뒷받침할 실제 설명은 없습니다.

이 문제를 해결하기 위해 C 라이브러리 및/또는 도구가 수행할 수 있는 작업이 있습니까(즉, 커널 자체를 수정하지 않음)? 무엇을 해야 합니까?

중복된 것으로 추정되는 것은 어떤 Linux 배포판이 POSIX와 호환되는지 묻는 것입니다. 이는 대부분의 Linux 배포판이 POSIX와 호환되지 않는 이유를 묻고 있습니다. 나는 특정 배포판이 인증을 받지 못하는(시도하는) 이유가 아니라 특정 세부 사항(예: 일부 기능이나 명령이 호환되지 않음)을 요구하고 있습니다.

@PhilipCouling의 이 댓글(감사합니다!)이 이를 잘 설명합니다.

규정 준수와 인증은 서로 다른 주제입니다. 답변은 (비)준수 주제와 무관한 (재)인증 비용을 가리킵니다.

답변1

POSIX는 커널 인터페이스를 지정하지 않으므로 Linux는 거의 관련이 없습니다. 이는 모든 커널 위에 존재할 수 있는 시스템 인터페이스, 다양한 도구 및 C 표준 확장을 지정합니다. 언급되지 않았다는 점에서 POSIX 규격이 아니거나, 귀하의 선택에 따라 언급되지 않았다는 점에서 POSIX 규격이 아닙니다.

UNIX® 인증 Linux 배포판이 있습니다., 따라서 Linux를 사용하여 POSIX와 완전히 호환되는 운영 체제를 갖는 것이 확실히 가능합니다.화웨이의 EulerOS가 그 중 하나입니다.당신이 원한다면 구입할 수 있는 것입니다. 나머지 대부분은 돈을 지불하지 않았으므로 액세스할 수 없습니다.테스트 스위트적합성을 확인합니다.

실제로 이를 만족시킬지는 확실하지 않지만 일부는 다른 것보다 더 열심히 노력합니다. 나는 BSD 중 일부가 대부분의 Linux 배포판보다 더 가깝다고 생각하지만 그것은 추측입니다. 예를 들어 execlp("cd", "/", NULL)대부분의 Linux 배포판에서는 실패하지만 많은 BSD에서 작동하고 POSIX에서 필요하다는 것을 알고 있습니다.

관련 정보