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

📄 memory_struct.h

📁 虚拟地址空间基于文件的操作系统
💻 H
字号:

#ifndef OS_MEMORY_STRUCT
#define OS_MEMORY_STRUCT

struct file_window{
	enum{
		FILE_OPEN,
		FILE_CLOSE
	} state;
	struct file file;
	int block_ring;
	int file_front,file_back;
	int lock_number;
};
struct memory_sleep_semaphore{
	int processor,semaphore;
};
struct physical_block{
	enum{
		FREE_BLOCK,
		READING_BLOCK,
		NOT_MODIFIED_BLOCK,
		MODIFIED_BLOCK,
		WRITING_BLOCK
	}state;

	int lock_number;
	int file_window,logic_block_number;
	int physical_number;
	int file_front,file_back;
	int buf_front,buf_back;
	int hash_front,hash_back;
	struct memory_sleep_semaphore sleep_semaphore;
};

struct memory_resource{
	int process_number;
	int file_number,max_file_number;
	int max_block_number,trigger_block_number;
	int block_number,read_block_number,write_block_number;
	struct capability capability;
};

struct memory_process{
	int file_number,max_file_number,file_ring;
	int max_block_number,trigger_block_number;
	int block_number,read_block_number,write_block_number;
	int block_ring,read_block_ring,write_block_ring;
	struct capability capability;
};

struct memory_hash{
	int hash_ring;
};

struct memory_body_struct{
	int *free_physical_block,*free_file;
	int *block_number,*free_block_number;
	int *file_number,*process_number,*hash_number;
	struct physical_block *physical_block;	
	struct file_window *file_window;
	struct memory_process *memory_process;
	struct memory_hash *hash;
	int (*hash_function)(int file,int logic_block);
	int my_processor,my_memory_body;
	struct memory_sleep_semaphore *wait_block;
};
struct install_memory_body_parameter{
	char *base;
	int (*hash_function)(int file,int logic_block);
	int my_processor,my_memory_body;
	int block_number,file_number;
	int process_number,hash_number;
	int first_block;
	struct capability capability;
};

#endif

⌨️ 快捷键说明

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