gpt4 book ai didi

linux - OS - OS 如何将准备好的设备数据映射到各个进程

转载 作者:太空宇宙 更新时间:2023-11-04 10:22:12 30 4
gpt4 key购买 nike

让我们以硬盘驱动器/网络接口(interface)为例。它由多个进程共享。现在多个进程可能会向硬盘驱动器发出并发命令来读取数据。当数据可用时,内核如何知道哪个进程的数据已准备好?操作系统和硬盘驱动器之间是否遵循某种协议(protocol)。即一些与就绪数据一起返回的元数据?

最佳答案

当涉及到每个进程的特定数据时(例如,访问从硬盘驱动器或接收网络上的文件系统打开的文件),通常使用锁定机制对其进行序列化。 “协议(protocol)”(将适当的检索数据分配给请求进程)或多或少是特定于驱动程序或内核部分的 afaik - 在例如中以不同方式完成。网络代码和虚拟文件系统代码。

这在 Kroah-Hartman、Rubini 和 Corbet 合着的 Linux 设备驱动程序一书中名为“并发和竞争条件”的章节中有很好的描述。你可以在这里看看:https://www.safaribooksonline.com/library/view/linux-device-drivers/0596005903/ch05.html

关于linux - OS - OS 如何将准备好的设备数据映射到各个进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43393690/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com