CPU一次只允许一个进程占用吗?还有资源共享,进程互斥与同步,临界区等概念问题,被绕迷了,请指教
2个回答
展开全部
处理器中一个逻辑内核只允许一个线程占用。
进程互斥,临界区都是资源保护。
比如说a,b 两个线程同时运行,它们都要存取变量var,
a将var设置为20,然后继续其他工作。这时候b也要用了,它把var设置成自己需要的值。过一会a又回来读取var,这时候var已经不是a之前存进去的值了。
保护该变量有多种方法,信号量,锁 等等。
你可以看一看 AST 和 ASW写的 Operating System: Design and Implementation 和 Intel的多核多线程技术,里面讲的很详细
进程互斥,临界区都是资源保护。
比如说a,b 两个线程同时运行,它们都要存取变量var,
a将var设置为20,然后继续其他工作。这时候b也要用了,它把var设置成自己需要的值。过一会a又回来读取var,这时候var已经不是a之前存进去的值了。
保护该变量有多种方法,信号量,锁 等等。
你可以看一看 AST 和 ASW写的 Operating System: Design and Implementation 和 Intel的多核多线程技术,里面讲的很详细
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询