https://i.imgur.com/CAGBorW.jpg
不好意思想问一下这题的A
老师上题库班给的答案是B 还有画了下面那张图
依照这张图来看的话
是不是A也不太适合
对CPU1的P1P2 应该是要采取spinlock而非disable interrupt才对吧
作者: nannnnn (nannnnn) 2018-12-15 12:54:00
我觉得p1,p2 用disable不错啊,这样也不会影响另一颗cpu,如果p3要进来也会因为spinlock卡住,不进来也可以给其他人用不过这样变成p1跟p2同时要有disable机制以外也要另外实作spinlock来防止p3使用
不是很懂楼上的意思我的理解是 CPU1有P1 P2在用 如果用disable interrupt不仅失去平行度 而且还会有风险 process如果不enable的话process会占据CPU不放不会回到kernel所以我觉得A这里这个做法不太好有错还请指正感谢大家协助
作者: nannnnn (nannnnn) 2018-12-15 15:19:00
但是他只要disable一颗cpu就可以了阿
你想多了 交大这题要考的就是单cpu跟多cpu适合的互斥存取机制 如果要考虑到平行度和kernel拿不回cpu的话 大概没有题目是要选disable interrupt了...
作者: nannnnn (nannnnn) 2018-12-15 21:34:00
可是可以透过p1同时使用test and set防止p3使用又同时disable p1的cpu这样第二颗cpu不是还能同时给其他process使用吗