问:如何解释同时打开很多进程之后电脑变“卡”这一现象?
答:同时运行在系统中的进程太多,由此分配给每一个进程的物理块太少,不能满足进程正常运行的基本要求,致使每个进程在运行时,频繁地出现缺页,必须请求系统将所缺之页调入内存。使得在系统中排队等待页面调进/调出的进程数目增加。造成每个进程的大部分实践都用于页面的换入/换出,而几乎不能再去做任何有效的工作,从而导致处理机的利用率急剧下降并趋于0的情况。我们称此时的进程处于“抖动”状态。
问:如何解决这一现象?
答:1、增加系统的内存,即加内存条
2、选择暂停的进程
3、采用局部置换策略 缺页时只能在分配给自己的内存空间内进行置换,不允许从其它进程获得新的物理块,但效果不好,延长其他进程缺页中断的处理时间
4、将工作集算法融入到处理机调度中 在调度程序从外存调入作业之前,必须先检查每个进程在内存的驻留页面是否足够多。如果足够多,此时便可以从外村调入新作业,不会因新作业调入而导致缺页率的增加,反之则应首先为那些缺页率居高的作业增加新的物理块,此时不再调入新作业
5、利用“L=S”准则调节缺页率 L为缺页之间的平均时间 S为平均缺页服务时间,当L与S接近时,磁盘和处理机可达到它们的最大利用率
参考文献:《深入理解计算机系统》、《计算机操作系统第四版》