首页 > 试题广场 >

由于设备分配中设置了若干数据结构,所以在设备分配中不会发生死

[单选题]
由于设备分配中设置了若干数据结构,所以在设备分配中不会发生死锁。
设备分配是指根据用户的I/O请求分配所需的设备。分配的总原则是充分发挥设备的使用效率,尽可能地让设备忙碌,又要避免由于不合理的分配方法造成进程死锁。
设备分配依据的主要数据结构有设备控制表(DCT)、控制器控制表(COCT)、通道控制表(CHCT)和系统设备表(SDT)
编辑于 2018-10-17 13:56:48 回复(0)
操作系统对设备的管理是通过系统内存储的数据结构。这些数据结构包括:系统设备表、管道信息表、DMA信息表、设备信息表
一个用户进程不会直接访问和请求设备。那么操作系统如何为进程分配设备呢?~操作系统通过设备驱动向设备管理器(DMA)发送控制信息,【DMA具有设备接口,并且保存与CPU的通信】,如果所有的设备都被CPU控制,那么其负担将会很大,于是,在CPU和DMA之间建立一个通道,这个通道连接所有的设备,CPU只需要向通道发送控制信息就可以间接控制所有的设备。
设备信息表:设备ID、 设备忙碌状态(0/1)、设备队列的队首指针(该指针列表存储所有请求该设备而被堵塞的进程指针)
系统设备表:设备类、设备标识符、DOC(设备信息表)、驱动程序入口
DMA信息表:控制器标识符、状态。。等
管道信息表:管道标识符、状态。。。等
操作系统为进程分配设备,当进程发出访问逻辑设备号时,操作系统查找相应设备id,并检查相应的通道,控制器,和设备表。如果某个设备忙碌,则将其阻塞到相应设备的队列。否则同时空闲则按 分配算法 分配该设备。
设备分配的算法和进程调度算法类似,主要有按 优先权分配 ,在优先权相同的情况下按 先来先服务算法 分配。具体的分配任务由操作系统调用 分配程序 完成。

发表于 2015-08-20 17:28:56 回复(0)
死锁是有媳妇还喜欢别人家的老婆
发表于 2020-02-27 19:45:59 回复(0)
应该是不对的
死锁造成的原因是一资源有限,二程序推进顺序不对。而和数据结构无关
发表于 2015-08-21 16:02:02 回复(0)
错误,死锁是指在一组进程中的各个进程占有不会释放的资源,但又相互申请其他进程所占有的不释放的资源导致的永久等待状态
发表于 2017-04-20 15:23:23 回复(0)
错误,死锁是指在一组进程中的各个进程占有不会释放的资源,但又相互申请其他进程所占有的不释放的资源导致的永久等待状态
发表于 2015-09-18 17:36:09 回复(2)
和数据结构无关
发表于 2021-12-23 00:21:46 回复(0)

<stron>只要任意一个条件不成立,死锁就不会发生,最本质原因就是资源竞争 </stron>

(1) 互斥条件:一个资源每次只能被一个进程使用。
(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。

(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
上题阐述的设备数据结构的类型,和上诉四个条件不吻合,所以不会产生死锁
发表于 2018-03-12 22:45:18 回复(0)