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

📄 disk.h

📁 一个简单的虚拟机和虚拟操作系统
💻 H
字号:
#pragma once
#include "StdAfx.h"
#include "all.h"
#include<memory>
using namespace std;

class Disk
{
	friend class FS;
private:
	/*
	 * return a pointer points to the block of
	 * the given index
	 */
	char* getBlock(int index)const
	{
		if(index >= BLOCK_NUM||index < 0)
			throw OUT_OF_DISK;
		return (char*)data+index*BLOCK_SIZE;
	}
	bool readBlock(int index,char* buffer)const
	{
		if(index >= BLOCK_NUM||index < 0)
			return false;
		memcpy(buffer,data+index*BLOCK_SIZE,sizeof(char)*BLOCK_SIZE);
		return true;
	}
	bool writeBlock(int index,const char* buffer)
	{
		if(index >= BLOCK_NUM||index < 0)
			return false;
		memcpy(data+index*BLOCK_SIZE,buffer,sizeof(char)*BLOCK_SIZE);
		return true;
	}
private:
	//a space stored the disk data
	char data[DISK_SIZE];
};

⌨️ 快捷键说明

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