星期四, 1月 14, 2010

How do you define UNIX system

何謂 UNIX 系統:
  • SUS 是 POSIX.1 的超集(superset),定義了比 POSIX.1 更多的擴增函式介面(interfaces),完整的系統介面設定稱之為 X/Open System Interface (XSI)。
  • 只有 XSI-conforming(一致) 的系統實作才能被稱之為 UNIX 系統。
  • SUS 是由 Open Group 定義的。
Unix-Based 常見標準:
  • IEEE POSIX - (Institute of Electrical and Electronics Engineers) Portable Operating System Interface
  • SUS - The Single UNIX Specification, a superset of the POSIX.1, "SUS mandatory"
  • XSI - X/Open System Interface (_XOPEN_UNIX)
  • XSI-Conforming - Only XSI-conforming implementations can be called UNIX systems.
  • FIPS - Fedral Information Processing Standard

下面這篇文章就是在說明 UNIX 的定義:

The Open Group owns the UNIX trademark and uses the Single UNIX
Specification to define the interfaces an implementation must support to
call itself a UNIX system. Implementations must file conformance
statements, pass test suites that verify conformance, and license the right
to use the UNIX trademark.

SUS 的版本沿革如下:

SUS v1 1994 (Spec 1170)
SUS v2 1997
SUS v3 2001 (equal to IEEE Standard 1003.1-2001 = ISO/IEC 9945:2002 (approved by ISO at 2002)
SUS v3 divied into 4 parts:
  1. Base Definitions
  2. System Interface
  3. Shell and Utilities
  4. Rationale
ISO/IEC 9945:2003
SUS v3 2004 Edition.

因此:
Solaris -> UNIX system
Linux -> NOT UNIX system, through Duck Test, we can treat it is...
FreeBSD -> NOT UNIX system, through Duck Test, we can treat it is...

在 Computer Science 裡有一個 Duck TypingDuck Test 有關,無聊的話可以當小說看。

沒有留言: