【问题思考总结】什么是安全分配方式?

问题

今天在做到了5.2的时候发现了一个很奇怪的东西,叫安全分配方式,说是一旦进程发出IO请求后便进入阻塞状态,直到其IO操作完成时才被唤醒。进程获得了某种设备后便阻塞,不能再请求任何资源,而它在阻塞的时候又不保持任何资源,那么就是分配安全,缺点是CPU和IO设备是串行工作的,说是什么破坏了请求并保持条件。这实在槽点太多了。

  1. 进程获得某种设备后便阻塞。
    Q:那我获得了打印机的外设,现在我有一堆文档准备打印,你给我阻塞了?
  2. 不能再请求任何资源。
    Q:嗯,这个还可以理解,我一次只能持有一个资源,确实是损失了系统的并发性,可能会增加安全性?但是有的进程就得用两个资源,那你怎么办呢?
  3. 它阻塞时也不保持任何资源。
    Q:这更迷了!我拿到了打印机,我不打印,我释放??????
  4. 优点是设备分配安全。
    槽:hhh,当然安全了,我申请个设备,马上放了,能不安全嘛,设备全都空着,能不安全嘛?
  5. CPU和I/O设备是串行工作的。
    Q:这更迷了,CPU和I/O设备不是一直都是串行工作的吗?如果用中断方式的话,那么就是串行,DMA或者通道的话就是并行,这个跟你保持多少设备也没有关系吧!

思考

  1. 获得某种设备后,比如打印机,我就只能做这个打印的事情,不能去请求别的资源了,只能一心一意的打印,也就破坏了请求与保持的条件,因此破坏了死锁的必要条件,自然就安全了。在等待数据读入打印机缓存的过程中(可能是由DMA控制),进程当然要阻塞(否则继续执行可能会请求别的资源)。
  2. 那看来真就是了,或者我感觉就是可以一次性的分配多个设备这样子,总之不能破坏请求与保持。
  3. 这个还是不能理解,我打印机我总得保持着吧,进程阻塞了,我这个打印机还是属于我的在后台运行啊?(存疑)
  4. 设备分配安全,那确实,一定是相对我申请多个来说(我感觉主要是破解了循环等待(可能通过破解请求并保持))来说,破解了很多死锁的条件,比较安全了。
  5. 不能理解,我觉得还是并行工作的(存疑)

总结

总的来说,思考了一番并没有什么实质性的成果,只能是抛砖引玉了,因为网上并没有关于这个话题的讨论,有的也只是操作系统书上的原话翻来覆去,热切希望博友来指点迷津!

相关推荐
元亓亓亓1 天前
考研408--数据结构--day8--遍历序列&线索二叉树
数据结构·考研·408·线索二叉树
觉醒大王2 天前
哪些文章会被我拒稿?
论文阅读·笔记·深度学习·考研·自然语言处理·html·学习方法
CS创新实验室3 天前
《计算机网络》深入学:从自治系统内部到全球互联
计算机网络·考研·智能路由器·协议·408
元亓亓亓3 天前
考研408--数据结构--day6--串
数据结构·考研··408
西电研梦3 天前
26西电考研 | 寒假开始,机试 or C语言程序设计怎么准备?
c语言·考研·华为od·研究生·西安电子科技大学·计算机408
元亓亓亓4 天前
考研408--数据结构--day5--栈与队列的应用
数据结构·考研··408·队列
飞机和胖和黄4 天前
王道考研C语言第五周
c语言·考研·算法
Angelina_Jolie8 天前
一文搞懂 SCI、SSCI、CSSCI、C 刊、核心期刊:定义、作用、层级对比及投稿选择
考研·职场和发展·创业创新
17(无规则自律)8 天前
【CSAPP 读书笔记】第二章:信息的表示和处理
linux·嵌入式硬件·考研·高考
飞机和胖和黄8 天前
考研之王道C语言第三周
c语言·数据结构·考研