【问题标题】:Driver is a process or not?驱动程序是不是一个进程?
【发布时间】:2015-09-14 19:06:54
【问题描述】:

工作驱动程序是否是操作系统的进程? Wiki 说“进程是正在执行的计算机程序的实例”,但 dll 不是进程。另一方面,驱动程序像进程一样有虚拟内存,堆栈等,但打开我们使用CreateFile/fopen

【问题讨论】:

    标签: process operating-system driver


    【解决方案1】:

    一般来说,不会。驱动程序(至少部分地)没有进程上下文,因为它们是由硬件中断执行的,硬件中断从当前运行的进程转移执行。

    多级驱动程序可以并且确实支持线程/进程,但不能将最低级别视为进程/线程。

    【讨论】:

    • 操作系统如何在没有上下文的情况下调用驱动程序的函数?如果驱动程序想要执行系统调用(例如获取内存)怎么办?
    • '操作系统如何在没有上下文的情况下调用驱动程序的函数?'操作系统并不总是调用最低级别的驱动程序,它们会被硬件中断。 “如果驱动程序想要执行系统调用,例如获取内存怎么办?” - 在最低级别,许多系统调用不可用。尝试调用它们会炸毁操作系统。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多