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

📄 mark_accessed.c

📁 虚拟地址空间基于文件的操作系统
💻 C
字号:
#include"memory.h"

void mark_accessed(int physical_block_number)
{
	int bn,front,back;
	struct physical_block *b,*b_f,*b_b;
	struct file_window *f;
	struct memory_process *p;
	
	bn=physical_block_number;
	b=bn+memory_body->physical_block;
	
	switch(b->state){
	case MODIFIED_BLOCK:
	case NOT_MODIFIED_BLOCK:
		f=memory_body->file_window+(b->file_window);
		if(f->state!=FILE_OPEN)
			break;
		p=(memory_body->memory_process);
		p=p+(f->file.memory_process);
		front=b->buf_front;
		back=b->buf_back;
		if(bn==front)
			break;
		b_f=front+memory_body->physical_block;
		b_b=back +memory_body->physical_block;
		b_f->buf_back=back;
		b_b->buf_front=front;

		if((p->block_ring)==bn)
			p->block_ring=front;
		front=p->block_ring;
		b_f=front+memory_body->physical_block;
		back=b_f->buf_back;
		b_b=back+memory_body->physical_block;

		b->buf_front=front;
		b->buf_back=back;
		b_f->buf_back=bn;
		b_b->buf_front=bn;

		break;
	default:
		break;
	}
	return ;
}

⌨️ 快捷键说明

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