页面置换算法:
①OPT(最佳置换算法):选择后永远不会被使用或很长时间不会使用的页面替换(无法实现)
②FIFO(先进先出):淘汰最先进入内存的页面
③LRU(最近最久未使用):每个页面用字段记录上次被使用经过的时间,淘汰时间最长的页面
注:Java可用双向链表+HashMap或LinkedHashMap模拟实现
④LFU(最近最少使用):选择最近使用最少的页面替换
银行家算法:
目的:避免死锁
当进程申请资源,先试探性分给该线程所需资源,通过安全性算法判断分配后系统是否安全,若不安全,分配作废,安全则直接分配。
每个进程有两个属性:当前已拥有资源Allocation、额外还需要的资源Need
①遍历进程查找系统剩余资源满足Need的进程
②将资源分配给,预计执行完
③将系统资源+Allocation作为后续查找的剩余资源从①重新开始
持续上述步骤直到找到满足所有进程的分配方法后,实行真正分配。