1、无操作系统时硬件、驱动和应用软件的关系
在没有操作系统的情况下,设备驱动的接口直接交给应用软件工程师,应用软件没有跨越任何层次
就直接访问了设备驱动的接口。
2、有操作系统时,硬件、驱动、操作系统和应用软件的关系
当系统中包含操作系统后,我们需要把驱动程序融合到内核中,为了实现这种融合,必须在所有设备的驱动中
设计面向操作系统内核的接口,这样的接口是由操作系统规定的,对一类设备而言结构一致,独立于具体的设备。
由此,当系统中存在操作系统时,驱动变成了连接硬件和内核的桥梁。
为什么要使用操作系统?
1)一个复杂的软件系统需要处理多个并发的任务,没有操作系统,想完成多任务并发是很困难的。
2)操作系统给我们提供内存管理机制,一个典型的例子是,对于多数含MMU的处理器而言,linux等操作系统可以让每个
进程都可以独立地访问4GB内存空间。
3)当驱动程序都按照操作系统给出的独立于设备的接口而设计,那么,应用程序将可使用统一的系统调用接口来访问
各种设备。对于linux来说,应用程序通过read, write 就可以完成对字符设备及块设备的访问。方便了应用工程师的开发。
时间: 2024-10-14 15:20:38