前几天看到有人问死锁和内存的关系,简单总结一下:
答案:没有关系。
首先需要明确产生死锁的条件是什么??
四个必要条件:
(1) 互斥条件:一个资源每次只能被一个进程使用。
(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立。
总结起来:由于系统资源的各种问题导致的死锁。
其中的:
(3)是资源不足。
(1)(2)资源分配不当。
(4)进程运行顺序不合适。
那么就需要去明确系统资源和内存的关系了,很明确了,这两者没什么关系。
系统资源是直接和操作系统进行挂钩,有多少系统资源,怎么使用,是由操作系统进行调度分配。而内存它只是为了操作系统使用的时候拿东西的地方地方变大了,拿东西速度快了。
与系统资源没什么关系。
举个例子:苹果厂酿苹果醋(相当于操作系统)
当前放苹果的地方就是内存 8G大小
具体酿苹果醋的地方机器按部就班的一瓶一瓶的在放入饮料、包装、加封。
现在把苹果厂地方拆了,放苹果的地方变到了16G大小,放苹果的是放的多了,当前可以把更多的苹果早早的放到酿苹果的地方早早放着,但是具体怎么酿(操作系统怎么处理)还是和之前一样,都得一个一个放入饮料,包装,加封,这些都不会变的,和你旁边不停的堆放苹果没关系。