⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lru.c

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 C
字号:
/* *  lru lists are circular with a list head *  pointing to the start and end of the list */#include <u.h>#include "lru.h"/* *  Create an lru chain of buffers */voidlruinit(Lru *h){	h->lprev = h->lnext = h;}/* *  Add a member to an lru chain */voidlruadd(Lru *h, Lru *m){	h->lprev->lnext = m;	m->lprev = h->lprev;	h->lprev = m;	m->lnext = h;}/* *  Move to end of lru list */voidlruref(Lru *h, Lru *m){	if(h->lprev == m)		return;		/* alread at end of list */	/*	 *  remove from list	 */	m->lprev->lnext = m->lnext;	m->lnext->lprev = m->lprev;	/*	 *  add in at end	 */	h->lprev->lnext = m;	m->lprev = h->lprev;	h->lprev = m;	m->lnext = h;}/* *  Move to head of lru list */voidlruderef(Lru *h, Lru *m){	if(h->lnext == m)		return;		/* alread at head of list */	/*	 *  remove from list	 */	m->lprev->lnext = m->lnext;	m->lnext->lprev = m->lprev;	/*	 *  add in at head	 */	h->lnext->lprev = m;	m->lnext = h->lnext;	h->lnext = m;	m->lprev = h;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -