如果你打开过自己电脑系统的活动监视器,很可能会看到这样一个后台守护进程:它的唯一任务,就是为操作系统的搜索功能建立索引。平时它安安静静地待在后台,可一旦出了故障,它就会疯狂吞噬CPU、内存和硬盘资源,让你的电脑变得卡顿不堪。 为什么没有人发明一种更高效、更优雅的索引方式呢?事实上,早有人做出来了。1995年就出现了一个更精巧的搜索索引方案,但现代计算却把它遗落在了路边。 这个方案来自BeOS。BeOS由Be Inc.从零开发,目标很明确:更好地处理多媒体文件和繁重工作负载。1995年,当苹果还在打磨System 7、微软即将完成Windows 95时,BeOS低调登场了。 BeOS最独特的部分之一是它的文件系统,名为“Be文件系统”(BFS),于1997年随BeOS发展而到来。BFS并不把文件当作一堆意义不明的数据块来保存,而是允许应用程序为文件打上属性标签。例如,一张图片可以记录作者信息,一首歌可以关联艺术家、标题和流派。 文件一旦拥有了这些属性,操作系统就会在文件创建的同时,把它自动归档到B+树结构中。这意味着系统完全不需要一个后台守护进程去遍历文件、查找内容;文件到达的那一刻,它就已经待在正确的位置了。 在那个年代,这种设计相当超前。BFS把文件属性存储在一个类似数据库的系统中,并为这些属性建好了便于读取的列。更重要的是,属性与文件的inode数据放在一起,当系统需要检索信息时,可以直接在索引结构中快速定位,而不需要扫描整个硬盘。 如果这种方案如此优雅,为什么后来的主流操作系统没有采纳?这背后有商业竞争、生态惯性,也有技术路线的取舍。但可以肯定的是,BeOS在1995年就证明了:电脑搜索本来可以更快、更省资源,只是这条路没有成为我们今天熟知的“历史主流”。

打开网易新闻 查看精彩图片