虚拟硬盘系统 —— Windows系统 磁盘加速软件 —— 优缺点以及与真实物理磁盘访问文件的区别
在家里的局域网搞了一个NAS,但是由于磁盘读存速率问题导致远程copy的速度只有15MB/s,而如果NAS中的文件已在内存中有缓存则远程copy的速度为50MB/s。
于是考虑利用内存建立虚拟硬盘:
https://www.bilibili.com/video/BV1te41127vd/?vd_source=f1d0f27367a99104c397918f0cf362b7
如何建立虚拟硬盘:
1)使用第三方工具;
2)Windows10/Windows11操作系统的磁盘管理工具自带功能;
虚拟磁盘和真实物理磁盘在读取性能上的原理区别:
如果大学是学计算机专业的,而且还学过操作系统这门课后学的还OK的话,那么就应该知道操作系统在读取和存储真实物理磁盘内容时本身采取的就是内存缓存映射的机制,而这里的虚拟硬盘也是使用同样的工资机制,因此从本质上来说二者的工作原理是完全一致的,二者的区别在于管理独立性问题上。如果使用操作系统直接对真实物理磁盘进行访问那么真实物理磁盘上的文件在内存中的映射是受操作系统直接管理的,也就是说整个电脑上所有的访问过的文件与内存的映射关系是受操作系统统一调配的,操作系统会根据所有打开文件的优先级权限来对某些文件取消映射关系的,而使用虚拟硬盘的话会单独划分一部分固定内存出来的,这部分内存是不受操作系统调配的,也就是说不会由操作系统收回的,因此对虚拟硬盘中的文件与内存的映射关系不由操作系统调配和管理而是由虚拟硬盘软件所管理,说直白些就是虚拟硬盘将操作系统对指定的磁盘文件与内存的映射关系的管理权限接管了过去,避免了与其他打开文件竞争映射关系的权限。
在实际工作中的区别:
虽然二者工作原理完全一致,但是在实际应用中还是有一定区别,根据操作系统的原理可以知道,磁盘在内存中的映射文件被修改后会同步写会到磁盘中的,但是虚拟磁盘在实际工作中往往在同步写会磁盘时的同步频率较真实硬盘文件读取情况要低,这也就意味着虚拟磁盘在突然掉电的情况下更有可能丢失数据,甚至丢失更多数据(真实文件映射内存的情况下,内存的修改内容往往会及时保存到磁盘,而虚拟磁盘往往为了加速读存性能而不会及时保存到磁盘中)。
丢失文件数据或损坏数据后的恢复:
真实物理磁盘读存的情况下,即使由于掉电等问题丢失数据,那么受影响的往往也只是部分文件(掉电是内存修改内容未来得及同步到磁盘的部分文件),而虚拟磁盘是在真实物理磁盘的上面用软件形式重新划分了一个磁盘空间,而这部分空间在真实物理磁盘的文件是一个文件形式,一般是 *.vhd 格式,也就是说掉电后不仅虚拟磁盘中的文件会丢失数据,甚至会导致这个 *.vhd 文件的基本格式受损,而导致整个划分出的虚拟磁盘都无法再次挂载,甚至需要专业的数据维护才可以挂载。而真实的物理磁盘在近10多年的时间里已经建立了比较完善的掉电保护机制,比如机械硬盘会安全的收回磁盘头而不损害磁盘,固态硬盘会设置继电电容或快照技术或恢复电源后的数据重组技术,总之真实的物理磁盘会在一定程度上保证掉电后即使丢失部分文件数据也不会损坏整个磁盘的文件结构和内容。
总结来说,不论真实物理磁盘存储还是虚拟磁盘,在掉电时都可能丢失数据,但是虚拟磁盘可能丢失更多的数据甚至损坏整个磁盘内容,因此安全性更差,不过这本身也是一个矛盾的问题,即使真实磁盘读存也是存在安全级别的,比如家用磁盘和企业级磁盘就存在很大区别,因此这个也需要看具体的使用场景的需求。
关于虚拟硬盘的缺点:
源自:https://diy.pconline.com.cn/cpu/reviews/1211/3065665_all.html
虚拟硬盘争议最大就是“断电后数据自动丢失不可恢复”。虽然现在有一些RAMDisk软件提供断电恢复功能,也仅是把临时文件关机前写进硬盘,开机再从硬盘再次调进虚拟盘中,而每次开机\关机读写零碎文件数据时间会很长,很麻烦。
虚拟硬盘系统 —— Windows系统 磁盘加速软件 —— 优缺点以及与真实物理磁盘访问文件的区别的更多相关文章
- windows的磁盘操作之七——获取当前所有的物理磁盘号 加备注
windows的磁盘操作之七--获取当前所有的物理磁盘号 2011-07-28 17:47:56 标签:windows API DeviceIoControl 物理磁盘 驱动器号 原创作品,允许转载 ...
- Linux下硬盘安装Windows系统。
注意:本方法安装后会把Linux系统损坏,方法适用于完全不再需要Linux系统. 本方法在ubuntu 14.04,centos 6.5,debian 8测试成功. 安装方法是通过grub2引导Win ...
- 使用 windows 下的 secureCRT 软件的 通过 sftp 上传和下载文件到远端 linux 设备
secureCRT 按下ALT+P就开启新的会话进行ftp操作. 输入:help命令,显示该FTP提供所有的命令 pwd: 查询linux主机所在目录(也就是远程主机目录) lpwd: 查询本地目录 ...
- golang---获取windows系统相关信息
package main import ( "fmt" "net" "runtime" "strings" " ...
- 虚拟机中如何挂载物理磁盘(VMware操作)
测试的时候难免会遇到,从真是机器拷贝东西到虚拟机中,虽说安装了VMware tools(Vm→Install VMware tools...),就可以将文件直接拖到虚拟机里面去,但是这样拷贝总是需要花 ...
- UEFI+GPT模式下的Windows系统中分区结构和默认分区大小及硬盘整数分区研究
内容摘要:本文主要讨论和分析在UEFI+GPT模式下的Windows系统(主要是最新的Win10X64)中默认的分区结构和默认的分区大小,硬盘整数分区.4K对齐.起始扇区.恢复分区.ESP分区.MSR ...
- 如何在Windows版本的VMware虚拟机上安装苹果系统
有时我想玩玩苹果系统,但自己有没有mac,只能在虚拟机上装一个苹果玩玩,但又由于某些原因虚拟机软件VMware不支持安装苹果系统,还在有大佬出于不明目的,在网上散布了适用于Windows版本的VMwa ...
- 转载请注明:Windows 系统必备好用软件&工具合集跟推荐 | 老D博客
Windows 系统必备好用软件&工具合集跟推荐 97 63,371 A+ 所属分类:工具软件 一.浏览器 二.下载软件 三.播放软件 五.电子邮件客户端 六.图片/照片 浏览查看工具 七.文 ...
- Mac系统下使用VirtualBox虚拟机安装win7--第三步 在虚拟机上安装 Windows 7
第三步 在虚拟机上安装 Windows 7 等待虚拟机进入 Windows 7 的安装界面以后,在语言,货币,键盘输入法这一面,建议保持默认设置,直接点击“下一步”按钮,如图所示
- zz Windows 10安装教程:硬盘安装Win10 系统步骤(适合32位和64位)
Windows 10安装教程:硬盘安装Win10 系统步骤(适合32位和64位) Posted on 2015年01月28日 by 虾虾 22 Comments 最新的Windows 10 MSD ...
随机推荐
- Vulkan的VkImage和OpenGL的Texture2D互转的3种方法
Vulkan的纹理和OpenGL的纹理之间共享的解决方案, 因为项目的功能需要同时引入OpenGL和Vulkan,又因为效率的影响必须想办法优化,两者之间需要互相访问互相转换的高效方案. Vulkan ...
- Invalid revision: 3.18.1-g262b901-dirty CMake Error: CMake was unable to find a build program corresponding to "Ninja".
一次在GitHub上找到的项目,本想编译运行下,但报如下的问题 错误一 Invalid revision: 3.18.1-g262b901-dirty 解决办法: 这是因为版本不对应,可在local. ...
- 聊一聊 Monitor.Wait 和 Pluse 的底层玩法
一:背景 1. 讲故事 在dump分析的过程中经常会看到很多线程卡在Monitor.Wait方法上,曾经也有不少人问我为什么用 !syncblk 看不到 Monitor.Wait 上的锁信息,刚好昨天 ...
- 《编译原理》阅读笔记:p18
<编译原理>学习第 3 天,p18总结,总计 14页. 一.技术总结 1.assembler (1)计算机结构 要想学习汇编的时候更好的理解,要先了解计算机的结构,以下是本人学习汇编时总结 ...
- .NET 中使用RabbitMQ初体验
在.NET Core中使用RabbitMQ 前言 逛园子的时候看到一篇.NET 学习RabbitMq的文章(视频地址和文章地址放在文章底部了),写的不错,我也来实现一下. 我是把RabbitMQ放在服 ...
- 高通平台Android设备各种开机模式的进入与退出
原文地址:https://www.cnblogs.com/we-hjb/p/9784659.html 高通方案的Android设备主要有以下几种开机模式,Android.EDL.Fastboot.Re ...
- Linux 中 uid、gid、euid、egid、groups 之间的关系
导航 1 权限匹配流程 2 五种身份变化 3 有效用户/组 4 特权对 Shell 脚本无效 5 Sudo 与 SUID/SGID 的优先级 6 SUID.SGID.Sticky 各自的功能 Linu ...
- Nuxt3 的生命周期和钩子函数(七)
title: Nuxt3 的生命周期和钩子函数(七) date: 2024/6/30 updated: 2024/6/30 author: cmdragon excerpt: 摘要:文章阐述了Nuxt ...
- spark共享变量---广播变量和累加变量
从三个方面来分析:1.什么时候使用,2.原理是什么3.性能上有什么优化 累加变量:--(自定义累加器很重要) 使用场景:累加器的一个常见用途是在调试时对作业执行过程中的事件进行计数,如:统计日志中空行 ...
- npm install及其目录结构
npm install 安装包及其依赖.npm install: 默认情况下,安装package.json文件中列出的所有依赖.加-P或--production后,只安装dependencies列出的 ...