2012-11-11 49 views

回答

2

你还会发现操作系统有一些知识,比如如何驱动VGA,也可以烘焙。操作CPU是在给定系统上实际运行的基础,因此操作系统必须知道这一点。其他一些功能也是必不可少的,操作系统包含访问这些设施的功能。

但是,某些功能是可选的。操作系统开发人员并没有让开发人员选择“烘烤”还是“艰难” - 或者更糟糕的是,将所有的驱动程序交付给操作系统并使操作系统变得庞大,操作系统开发人员可以在任意驱动程序中构建抽象的加载方式,通常与特定类型的子系统如USB或磁盘。这意味着任何人可以添加功能。通常,对于自己内置的驱动程序,也应该遵循这种架构来保持清洁,因此,如果不需要,也不必使用它们。

你也会发现许多内核被设计成代码明智的,只要这是可能的,就是CPU独立的。这是必要的编译时事情。例如,Linux有一个包含体系结构特定代码的arch/目录,然后将其抽象到内核的其余部分,因此,例如,块存储层不需要为每个体系结构重写。例如,Windows NT最初的目标是DEC Alpha以及x86。

+0

这并不是说驱动程序不存在“核心”系统组件的辅助功能。很好的例子是CPU功率和散热管理的驱动。 – marko

+0

@Marko true。这只是抽象,每当你想要替换任意一点功能时都会使用它们 - 即Windows称之为硬件抽象层。 – 2012-11-11 17:34:05

相关问题