Sự khác biệt giữa POSIX, Đặc tả UNIX đơn và Thông số kỹ thuật cơ sở nhóm mở?


Câu trả lời:


9

Một "điểm khác biệt" quan trọng là nhóm tùy chọn XSI (XOPEN), chỉ định một số giao diện Unix truyền thống không thể áp dụng cho hệ điều hành mới không phải là "Unix". Thông thường mọi người sẽ sử dụng "SUS" để chỉ tiêu chuẩn đầy đủ bao gồm tùy chọn XSI và "POSIX" để chỉ tiêu chuẩn cơ sở và có thể là các nhóm tùy chọn không phải là trung tâm của Unix.

Các phiên bản kế tiếp của SUS dường như đang dần phản đối các phần của tùy chọn XSI không thực sự hữu ích để viết các ứng dụng di động và thay vào đó chỉ phản ánh các triển khai kế thừa và chuyển một số phần hữu ích hơn sang tiêu chuẩn cơ sở.


Bạn đã nhầm, XSI (nếu có) bắt buộc phải có trong các phiên bản mới hơn của tiêu chuẩn. Cũng lưu ý rằng theo tác giả của bộ kiểm tra xác thực POSIX, việc tuân thủ XSI là bắt buộc trừ khi bạn chỉ muốn xác thực một nền tảng UNIX nhúng.
schily

1
@schily: Trích dẫn?
R ..

Các tài liệu hiện tại chounistd.h lần đọc: "Các <unistd.h> tiêu đề phải xác định hằng số biểu tượng sau đây chỉ nếu việc thực hiện hỗ trợ các tùy chọn XSI; _XOPEN_VERSION thấy XSI sự phù hợp Nếu xác định, giá trị của nó phải phù hợp để sử dụng trong chỉ thị tiền xử lý # nếu.. "
R ..


25

Ngày nay, POSIX và SUS về cơ bản là giống nhau; SUS bao gồm một chút nữa .

Trích dẫn ở đây :

Bắt đầu từ năm 1998, một nhóm làm việc chung được gọi là Nhóm Austin bắt đầu phát triển tiêu chuẩn kết hợp sẽ được gọi là Thông số kỹ thuật UNIX đơn phiên bản 3 và là POSIX: 2001 (chính thức: IEEE Std 1003.1-2001). Nó được phát hành vào ngày 30 tháng 1 năm 2002

Vào tháng 12 năm 2008, Tập đoàn Austin đã xuất bản một bản sửa đổi lớn mới, được gọi là POSIX: 2008 (chính thức: IEEE Std 1003.1-2008). Đây là cốt lõi của Đặc tả UNIX đơn, Phiên bản 4


POSIX.1-2008 không phải là phiên bản 4 mà là ISSUE 7 của tiêu chuẩn.
schily

@schily Tôi đã chọn sai nơi kết thúc trích dẫn thứ hai? Đối với tôi, cả nguồn và trích dẫn dường như liên quan rõ ràng 'phiên bản 4' với SUS, không phải POSIX.
Daniel Beck

Thuật ngữ "vấn đề 7" áp dụng cho Opengroup. Xem: pubs.opengroup.org/onlinepub/9699919799 Tôi có thể đã bị nhầm lẫn. Vì vậy, tôi đoán rằng UNIX95 là SUSv1, UNIX98 là SUSv2, POSIX.1-2001 là SUSv3 và POSIX.1-2008 là SUSv4
thường vào

@schily Phải, xem trang Wikipedia nơi nguồn trích dẫn được đề cập đến vấn đề 7.
Daniel Beck

11

Nhìn vào đầu Thông số kỹ thuật cơ sở nhóm mở , bạn sẽ thấy số nhận dạng tiêu chuẩn IEEE Std 1003.1-2008. IEEE Std 1003.1 là cái được gọi là POSIX.1 với năm 2008 chỉ là hóa thân mới nhất. Nhìn vào POSIX trên Wikipedia, bạn sẽ thấy rằng tiêu chuẩn có ba phần bao gồm:

  • Định nghĩa cơ sở, Số 7
  • Giao diện và tiêu đề hệ thống, Số 7
  • Các lệnh và tiện ích, Số 7

Về cơ bản, POSIX chỉ là tên của tiêu chuẩn được phát triển bởi IEEE với phiên bản ban đầu được thực hiện vào năm 1988. POSIX không phải là UNIX ™ chính thức đơn giản vì IEEE không sở hữu nhãn hiệu, nhưng đó là môi trường và giao diện hệ điều hành được tìm thấy trên UNIX ™ hệ thống. Sau đó, Nhóm mở kiểm soát nhãn hiệu UNIX ™ đã tham gia vào việc tạo ra một tiêu chuẩn dựa trên POSIX có tên là Thông số kỹ thuật UNIX đơn phiên bản 2 hoặc SUSv2. Bây giờ hai thông số kỹ thuật này được phát triển chung là The Austin Group. Phiên bản mới nhất là SUSv4. Vì vậy, để tổng hợp:

POSIX: 2008 = IEEE Std. 1003.1-2008 = SUSv4 = Vấn đề đặc tả nhóm mở 7.

Ngoài ra, hãy đọc câu trả lời của tôi về POSIX chính xác là gì?


1
Nó cũng là ISO / IEC 9945-2009
fpmurphy

Ah, vâng, thật đáng yêu khi có nhiều tiêu chuẩn như vậy. Tôi vẫn đang cố gắng tìm ra sự khác biệt giữa ISO / IEC 10646 và Unicode, trong khi đại diện cho các bộ ký tự giống hệt nhau được giữ đồng bộ nghiêm ngặt với nhau vẫn là hai tiêu chuẩn riêng biệt và khác nhau. Tôi không chắc tại sao họ không thể hòa thuận và tuyên bố chúng hoàn toàn đồng nghĩa.
chim cánh cụt359

1
Trong trường hợp cụ thể của POSIX vs SUS, lý do phải liên quan đến cấp phép và nhãn hiệu. POSIX là chung chung, có thể được thực hiện trên bất kỳ hệ điều hành. SUS là tiêu chuẩn để định nghĩa UNIX. Ngay cả khi chúng giống hệt nhau, POSIX là cần thiết cho mọi thứ * nix. Hoặc * nix tương thích. SUS phải được hoàn thành để thậm chí cố gắng được gọi là UNIX. Nếu SUS không tồn tại, thì tối thiểu nhãn hiệu UNIX có thể bị suy yếu. Tôi không biện minh cho bất kỳ hành động nào của công ty, chỉ là suy đoán về vị trí của họ.
JM Becker

Phiên bản IEEE của tiêu chuẩn ngày nay giống hệt 100% với phiên bản SUS ngoại trừ một vài trang đầu tiên và thực tế là phiên bản IEEE thường xuất hiện xấp xỉ. 6 tháng sau.
schily
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.