我想知道
- 一般来说,规范是否意味着接口,而不管接口下面的实现?
具体来说
只有完全符合单一 UNIX 规范并通过认证的系统才有资格使用“Unix”商标;其他系统可能被称为“类 Unix 系统”或“类 Unix”(尽管开放群组不赞成使用这个术语)。
假设不考虑认证,怎么知道一个操作系统是类Unix还是Unix,符合规范又意味着什么呢?
对于一个可以被称为“Unix”的操作系统来说,它的实现除了满足规范之外,还必须满足一些要求吗?
答案1
这意味着,操作系统要成为“Unix”,其行为必须符合规范所规定的方式。
例如,如果规范说“任务 X 必须通过步骤 A、B、C 完成”,则操作系统必须实现步骤 A、B 和 C,并且当请求任务 X 时,操作系统必须按顺序执行它们。
除非您对特定规范有具体问题,否则我无法提供更多解释。因为此要求可能涵盖“用户界面”、“应用程序编程接口”以及操作系统内的工作流程。
答案2
在里面一般的情况下,遵守规格就是这个意思。
如果您的规范说“它必须是一栋房子”,那么您可以随心所欲地做任何事情。如果规范要求混凝土墙、独立窗户、山墙屋顶、两层楼等,那么如果您想符合规范,最好建造完全符合要求的建筑。
软件规范也是一样。如果他们只要求你的软件是一个库存管理系统,那就行。但如果需要用 Java 编程,你就有限制了。如果它需要与 SAP 集成,如果你想遵守规范,你就需要遵守一大堆限制。
在具体情况下,你可以自己看看。
除了最后一章定义 C 头文件之外,它似乎并没有对系统的内部运作进行太多限制,超出了人们对任何类 Unix 系统的预期(尽管我没有仔细研究);并且这些系统的开发需要头文件,因此这些都是可以预料到的。
答案3
1:不。规范意味着规格。看看规范的基本词:具体。规范涉及具体内容。可量化的测量、受到已知事件的影响、构建物体的材料类型。接口完全基于规范。以 USB 为例。它是计算机和另一台设备之间的接口。USB 是什么以及它的作用有规范,但你可以清楚地将规范(本质上是一份文档)与接口(如果只处理硬件,则是电缆或端口)分开。如果我们只想处理软件接口,那么规范会告诉我们任何给定输入的预期输出是什么(上面的因果部分)。接口本身只是代码。
几乎任何可用的接口背后都有一个规范,但并非每个规范都是针对接口的。Daniel Beck 给出的房屋示例非常完美。
2:要被认证为 Unix 系统,必须完全符合单一 UNIX 规范中规定的所有接口和其他规范。如果不完全符合规范,则可以称为类 Unix,但不是 Unix。
规范就是需求,然后是其他内容。就像规范是接口的基础一样,需求也是规范的基础。