几乎所有计算平台都要依靠某种标准化的命名系统来查找、获取以及存储资源。例如,文件系统靠的是文件和目录名,目录服务靠的是对象名,而DNS系统依靠URL——你就是靠它找到本文的。
大多数的命名系统使用某种能避免名字冲突的与法。例如,观察图A中的文件系统目录结构。
图 A
你也许会注意到图A中有一些文件的名字是相同的(File 1和File 2)。当试图引用其中一个文件时这会造成很多麻烦。但是,如果每个文件被引用的时候都包括了其父目录,那问题就解决了。为了示范,我们假设命名语法使用一个UNIX式的分隔符。用完整路径名来引用每个名为File 1的文件应该使用如下的语法:
/Root/Directory 2/Directory 2.2.1/File 1
/Root/Directory 2/Directory 2.2.2/File 1
注意每个文件的完整路径都是唯一的。这就保证了操作系统能够正确地对一个文件进行操作,而不必担心会与其它文件发生冲突。提供这种对对象上下文便捷引用的环境被称为命名空间