一、已知磁盘分区容量、以及所需簇的个数,求磁盘分区簇的大小,或者三者知二求一
设磁盘分区簇的大小为x,先把容量的单位转换为kb,用容量除以磁盘分区簇的大小,再除以(磁盘分区簇换算成位,也就是x * 1024 * 8),得到的大小就是所需簇的个数。
具体算法: 20* 1024 * 1024Kb / x Kb / (x * 1024 * 8) = 160 解得x=4K
二、为使进程一定不发生死锁,并发进程最多为多少?
设进程个数为n,每个进程需要的某个资源数为m,则一定不发生死锁时,公式为:n * m + 1 - n = 共同竞争的资源总数。
例如这里,n * 5 + 1 - n = 39 ,解得n = 9.5 ,一定不发生死锁时,取整,也就是n = 9
跟他相类似的是可能发生死锁时,求进程数最少为多少。这时的公式变为了 n * (m - 1) = 共同竞争的资源总数。 也就是 n * (5 - 1) = 39 ,解得 n = 9.75 ,这个时候不是取整了,而是取整数位的大一位,也就是 n取 10 才对。