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

📄 touch_block.c

📁 国内一位牛人自己开发的操作系统
💻 C
字号:
#include"memory.h"

int touch_block(int memory_process_number,int physical_block_number,
	int sleep_semaphore)
{
	struct physical_block *b;
	struct file_window *f;
	b=physical_block_number+memory_body->physical_block;
	for(;;)
	switch(b->state){
	case MODIFIED_BLOCK:
	case NOT_MODIFIED_BLOCK:
		f=memory_body->file_window+b->file_window;
		if(memory_set_tlb_item(f->file.memory_process,
			b->file_window,b->logic_block_number,
			b->physical_number,f->file.right)>=0)
				b->lock_number++;
		mark_accessed(physical_block_number);
		return 0;
	case READING_BLOCK:
	case WRITING_BLOCK:
		wait_block(physical_block_number,sleep_semaphore);
		return 0;
	default:
		return 0;
	}
}

⌨️ 快捷键说明

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