use*_*691 -5 operating-systems drivers
是否有可能以无需为操作系统编写驱动程序的方式构建设备和硬件?
为什么需要一个驱动来操作一个硬件哦?他们不能在硬件内部实现一个“驱动程序”吗?
打车的时候,司机跟着出租车过来,你直接说去哪里就行了!为什么硬件设计不一样?
在过去(40 年代至 70 年代),您从一家制造或外包自己的硬件、编写所有操作系统软件和大部分应用程序软件的公司购买计算机。该操作系统只能在卖家平台上运行,完全使用他们最初购买时出售的硬件。应用程序是用汇编程序编写的,只能在那个平台上运行,并且必须为每个 CPU 重写,而且通常为每个操作系统版本重写。对于硬件的每一个细微差别,都需要构建和维护新版本的操作系统。简而言之,硬件、操作系统和应用程序都是不可移植的。
在 60 年代,随着计算开始变得商品化,便携性成为一个大问题。Unix 和 C 编程语言一直被誉为开启可移植性新时代的两项关键技术。Unix 内核大部分是用 C 编写的,只有最少量的 CPU 特定程序集,因此任何带有 C 编译器的平台都可以运行为另一个平台开发的 C 应用程序,包括操作系统内核。由于我们现在拥有可以在多个硬件平台上运行的操作系统,因此我们需要一种方法来支持所有硬件,而无需将其置于操作系统的核心中。这就是驱动程序的用武之地。Unix 可以运行在一千个平台上,但不需要知道如何访问这些平台上可能出现的各种硬件。它所需要的只是一个设计用于硬件的驱动程序,
所以总而言之,司机不是一个需要答案的问题,他们是一个问题的答案,这个问题如此之大,以至于整个行业需要 5 年的时间才能解决。
| 归档时间: |
|
| 查看次数: |
129 次 |
| 最近记录: |