GBase 8a
运维管理
文章
gbase8a LIRS机制基本原理
发表于2025-11-11 18:46:0042次浏览4个评论
LIRS分为两个队列:
Stack S :存储LIR块和HIR块(常驻或非常驻内存)
List Q :存储所有常驻HIR块
对LIRS中的数据又三种访问情况:
访问一个LIR块X。LIR块的访问会在S中命中,此时需要将改X移动到S的栈顶,如果X最初在栈底,那么移动之后需要做【栈剪枝】操作;
访问一个HIR常驻内存块X。该访问也会被命中,首先将X移动到S栈顶,然后:
X在S中,将X状态由HIR修改为LIR,并从Q中移除,将S栈底的LIR块移到Q的尾端,并将状态修改为HIR,S执行【栈剪枝】;
X不在S中,保持其状态HIR,并将其移动到Q的尾端;
访问一个HIR非常驻内存块X。由于内存非常驻,因此未命中,先移除Q队列首端的HIR常驻内存(状态变为非常驻),然后将X加载入以释放的内存并将其放在S的栈顶,然后:
如果X本身就在S中,将其状态修改为LIR,并将S栈底的LIR块移除到Q的尾端,状态改为HIR,S执行【栈剪枝】;
如果X不在S中,保持其HIR的状态,并放在Q的尾端。
栈剪枝:在S栈底依次移除HIR块,直到栈底为LIR块内存。
热门帖子
- 12025-12-01浏览数:182763
- 22023-05-09浏览数:25057
- 42023-09-25浏览数:18525
- 52020-05-11浏览数:17528