我在这里工作,我正在参加一系列有关数据库查询优化器的讲座。在演讲者介绍数据库时,他对内核基本上管理进程表,指向打开文件,inode等的内核做了非常有见地的评论,因此它基本上是一个符合POSIX的数据库引擎。显然,很久以前读过巴赫,当我年轻,缺乏经验时,我从来没有从这个角度来分析这个问题,但这基本上是正确的。
你可以想象,google并不容易...所以我问:我想知道是否有一些疯狂的人设计了一个(希望,只是为了好玩,真正的有趣的)用户空间POSIX在MySQL之上的兼容内核......
修改:请注意。我不是在谈论具有数据库文件系统的内核。我在谈论一个由MySQL处理整个ring-0状态的内核。
编辑2 :澄清,因为我似乎被误解了。我没有在生产中使用它。我只是想知道是否有人这样做是因为他想玩得开心。 真正的乐趣是指我在写作时“只是为了好玩”这一事实,但它最终成为了一个严肃的产品,因此我添加了真实暗示完全缺乏严肃性。那里有一堆无用的项目,只是因为它们不同寻常或疯狂到足以让它变得有趣。我的问题是寻找在这种观点下发展起来的东西。
答案 0 :(得分:4)
我不知道是否已经完成,但如果是的话,我不想使用它。无论速度有多快,我都无法相信它会像高度调整的核心特定数据结构一样快。我认为你会开始从通用数据库中尽快丢弃功能以获得性能,并且最终可能会比专门构建的数据结构更慢。
答案 1 :(得分:1)
我希望任何操作系统课程的目的都是教会学生软件/硬件接口,处理硬件的固有并发性,各种同步技术,物理和虚拟内存管理等,从而正确设计适当的内核数据结构。还有丰富的历史和开源代码可供使用。
你所描述的是一个玩具。在董事会上进行讨论可能会很有趣,但是通过引入一些胖抽象,它会从实际的硬件机器中获得更多。鉴于现在大多数CS学生对硬件和操作系统内部都有非常模糊的想法,我不想雇用任何有这个操作系统课程的人:)
答案 2 :(得分:0)
BeOS是基于数据库的不是吗?
另一方面,Plan 9使所有文件系统都成为文件系统的一部分。
答案 3 :(得分:0)
那不行 - 根据定义MySql依赖于内核才能运行(它是一个进程,并且为了运行它需要文件系统访问),所以我们留在了不可能的“哪个先来”情况。