首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

将内存储器虚拟成硬盘!

2011-12-10 
将内存虚拟成硬盘!!!现在有款很流行的小软件,可以将内存虚拟成硬盘(ramDisk),以提高对文件的读写速度。大家

将内存虚拟成硬盘!!!
现在有款很流行的小软件,可以将内存虚拟成硬盘(ramDisk),以提高对文件的读写速度。大家讨论一下,用C#
可以将内存虚拟成硬盘吗?可以有哪些实现方式?大家集思广益,一起研究一下!先献上100分。明天再加!

[解决办法]
这种事不是.NET的领域...要用C++或汇编做...
[解决办法]
学习,帮顶
[解决办法]
这个要写驱动...
不是C#干的活儿.
顶多用C/C++把驱动写了
拿C#写个用户界面.
[解决办法]
怎么反过来了..都是硬盘当虚拟内存...这内存大的可以当硬盘了...
你可以考虑申请一个内存区域...然后放东西..
[解决办法]
把内存当成硬盘……以加快文件读写速度???????

说反了吧!!!!!!!!!!
[解决办法]
dos 命令
subst z: C:\test
[解决办法]

探讨
這需求還挺有意思的,人家都是把硬盤虛擬成內存,還有反著乾的。

[解决办法]
要做磁盘驱动程序,目前C#还不能做驱动程序,一般用VC做。
[解决办法]
探讨
引用:
這需求還挺有意思的,人家都是把硬盤虛擬成內存,還有反著乾的。


大侠!
将硬盘虚拟成内存则么整啊?教教我吧!我的电脑的内存太小了!

[解决办法]
C#应该作不了这事!
[解决办法]
帮顶了
[解决办法]
up
[解决办法]
内在虚拟硬盘很好啊!
我有4G内在,把其中2G虚拟为硬盘,将pagefile、系统临时文件夹、
上网的临时文件夹等都放上去了,一般操作感觉不大,但上网明显快了!
我用的是VSuite.Ramdisk软件。

要虚拟一个硬件,用C#应该不适合。
[解决办法]
探讨
引用:
這需求還挺有意思的,人家都是把硬盤虛擬成內存,還有反著乾的。


大侠!
将硬盘虚拟成内存则么整啊?教教我吧!我的电脑的内存太小了!

[解决办法]
探讨
内在虚拟硬盘很好啊!
我有4G内在,把其中2G虚拟为硬盘,将pagefile、系统临时文件夹、
上网的临时文件夹等都放上去了,一般操作感觉不大,但上网明显快了!
我用的是VSuite.Ramdisk软件。

要虚拟一个硬件,用C#应该不适合。

[解决办法]
探讨
楼主脑子锈了??

把内存虚拟成硬盘,还能加快????


  偶只知道有虚拟机。虚拟出来一台机器。只存在你的内存中。有硬盘,还有CPU呢。

[解决办法]
探讨
引用:
楼主脑子锈了??

把内存虚拟成硬盘,还能加快????


偶只知道有虚拟机。虚拟出来一台机器。只存在你的内存中。有硬盘,还有CPU呢。


兄弟你脑子锈了??
写内存快还写硬盘快? 向硬盘写入的时候是写入大量零碎的文件块还是一次过写入大块的文件快?

把内存模拟成硬盘之后, 需要写入数据的时候,写硬盘变成写内存。只有当模拟的内存块积累到一定程度之后才一次过写入硬盘。当要…

[解决办法]
听了楼上两位的,觉得都有理!!
但我真的不知道哪个才正确啊!!、
接着看吧!!
[解决办法]
探讨
把内存当成硬盘……以加快文件读写速度???????

说反了吧!!!!!!!!!!

[解决办法]
探讨
引用:
引用:
楼主脑子锈了??

把内存虚拟成硬盘,还能加快????


偶只知道有虚拟机。虚拟出来一台机器。只存在你的内存中。有硬盘,还有CPU呢。


兄弟你脑子锈了??


写内存快还写硬盘快? 向硬盘写入的时候是写入大量零碎的文件块还是一次过写入大块的文件快?

把内存模拟成硬盘之后, 需要写入数据的时候,写硬盘变成写内存。只有当模拟的内存块积累…


[解决办法]
是不行的
[解决办法]
学习中
[解决办法]
用内存块虚拟硬盘不是什么新鲜玩意儿,早在20多年前的DOS时代就有了,光盘安装程序至今还在应用...

内存虚拟硬盘必定比物理存储器读写快得多,对小程序可以极大提高运行速度,尤其是对光盘这种读写极慢的存储介质...缺点是断电或系统崩溃时不可避免会丢失数据,另外就是一旦发生内存泄漏后果不可预料...

另外将数据全部加载到内存和内存块虚拟硬盘是完全不同的概念,虚拟硬盘的内存块是被系统作为物理存储器管理的,有完整的文件系统...

Windows时代做这种软件不是件容易的事,因为系统对0环操作安全限制极大,不像DOS时代可以直接调用系统中断...要实现需要写底层驱动程序,不是调用Win32 API可以做到的事,对C#来说这是遥不可及的工作,不是.NET的领域...LZ要是不愿意花时间去研究C++或汇编的系统底层编程可以放弃了,否则就去找本Windows核心编程之类的书好好看两年吧...
[解决办法]
不懂,关注。。。
[解决办法]
关注
[解决办法]
关注
[解决办法]
c#做这东西应该很难吧,一般这些都是c++做的
[解决办法]
可以完全可以,实际为win32 api已经提供

内存映射文件 的相关api指令 那些玩c++对大文件读写,或多进程公用文件 基本都用这个api处理滴

[解决办法]
探讨
可以完全可以,实际为win32 api已经提供

内存映射文件 的相关api指令 那些玩c++对大文件读写,或多进程公用文件 基本都用这个api处理滴

[解决办法]
内存映射文件 和 内存虚拟磁盘 是完全不同的两码事...内存虚拟磁盘是一个模拟的硬件设备,系统要在其上建立文件系统...

Win32 API做不到,不用想了...必须写底层驱动...
[解决办法]
用内存块虚拟硬盘不是什么新鲜玩意儿,早在20多年前的DOS时代就有了,光盘安装程序至今还在应用... 

内存虚拟硬盘必定比物理存储器读写快得多,对小程序可以极大提高运行速度,尤其是对光盘这种读写极慢的存储介质...缺点是断电或系统崩溃时不可避免会丢失数据,另外就是一旦发生内存泄漏后果不可预料... 

另外将数据全部加载到内存和内存块虚拟硬盘是完全不同的概念,虚拟硬盘的内存块是被系统作为物理存储器管理的,有完整的文件系统... 

Windows时代做这种软件不是件容易的事,因为系统对0环操作安全限制极大,不像DOS时代可以直接调用系统中断...要实现需要写底层驱动程序,不是调用Win32 API可以做到的事,对C#来说这是遥不可及的工作,不是.NET的领域...LZ要是不愿意花时间去研究C++或汇编的系统底层编程可以放弃了,否则就去找本Windows核心编程之类的书好好看两年吧...

支持!!!!!!!
[解决办法]
这个真不会! 只用帮顶了! 同时学习
[解决办法]
顶了
[解决办法]
过去内存贵容量小,所以用硬盘做虚拟内存。现在内存便宜了,好多人都装了4G内存,往往会有大量的内存空间闲置,如果用一部分内存虚拟成硬盘放置临时文件什么的,倒不失为一个好办法,比如把IE(或者其他浏览器)的临时路径、系统的TEMP/TMP环境变量,这样肯定是会明显加快速度的,而且这些文件夹的东西一般也不需要断电保存的,只是这个虚拟硬盘的大小要找到一个合适的平衡点。
[解决办法]
太深奥,不懂。。up
[解决办法]
此帖内说不懂或者质疑的 其个人电脑估计没有使用过4g以上内存 
鉴定完毕 
 
估计只查API够呛 这个应该是比API还要底层的一些东西 API只是调用windows的一些基本方法 如果可能的话可以使者联系超级兔子的开发人员 交流一下 或者ramdisk的那个开发者 我记得叫什么gov***什么的
[解决办法]
探讨
此帖内说不懂或者质疑的 其个人电脑估计没有使用过4g以上内存
鉴定完毕

估计只查API够呛 这个应该是比API还要底层的一些东西 API只是调用windows的一些基本方法 如果可能的话可以使者联系超级兔子的开发人员 交流一下 或者ramdisk的那个开发者 我记得叫什么gov***什么的

[解决办法]
不要讨论c#了,要用汇编
[解决办法]
学习
------解决方案--------------------


探讨
把内存当成硬盘……以加快文件读写速度???????

说反了吧!!!!!!!!!!

[解决办法]
探讨
dos 命令
subst z: C:\test

[解决办法]
探讨
引用:
把内存当成硬盘……以加快文件读写速度???????

说反了吧!!!!!!!!!!

没说反,内存是比硬盘快啊。

[解决办法]
第一次听说可以把内存虚拟成硬盘!!
呵呵o(∩_∩)o...
[解决办法]
服了,楼主是人才啊!顶一下!
[解决办法]
总是亲眼见识了一下学.Net的人的水平了。。。。。。。。
呵呵,微软真是会忽悠人呢,把一群群的有志青年都培养成了NC,鄙人深感惋惜。。。
不说题外话了,Ramdisk是一个微软自己做的虚拟内存盘的程序,上面有的人说的那些软件
其实都是基于这个的,Ramdisk可以在微软的网站上下载。自己去搜。
下载来的是一个驱动程序,以及其源代码,其代码中有一个宏,定义了内存盘的大小,
诸位可以更改之。编译这个驱动需要安装DDK,VC++就更不用说了。呵呵
然后按照标准方法添加到硬件管理器中重启即可(貌似有一个好人写了一个外壳,可以方便的自动安装,可惜名字我忘记了)
[解决办法]
转发随便一个喜欢的不清楚随机
服了,楼主是人才啊!顶一下!
[解决办法]
study
[解决办法]
探讨
引用:
dos 命令
subst z: C:\test

基本的dos命令就可以完成!

[解决办法]
居然这么多人不知道ramdisk,我真是服了学dotnet的人了。
[解决办法]
学习
[解决办法]
同意2楼说法,都是把硬盘虚拟成内存,很少见把内存虚拟成硬盘
[解决办法]
这个C#暂时实现不了吧。应该要用汇编语言才行吧
[解决办法]
赚点积分
[解决办法]
ddddddddddddddddddddddd
[解决办法]
用C#肯定是不能做到的.不用想了
[解决办法]
C#估计实现不了吧
[解决办法]
C#好像不好干这个,假设能实现的话,那么我就可以在硬盘中划分一块加密区域再虚拟一个逻辑分区了。

还有,建议版主不要胡乱把帖设置成推荐,要有判断力


[解决办法]
帮顶。
[解决办法]
关注中。。。。。。。。。
[解决办法]
我从火星来,这事没听说过
[解决办法]
up
[解决办法]
感觉说的都有道理!!
[解决办法]
学习一下
[解决办法]
这个比较涉及底层代码的实现 如果要使用c#似乎是不可能实现的哦
[解决办法]
探讨
引用:
引用:
dos 命令
subst z: C:\test

基本的dos命令就可以完成!


不是这个意思,ramdisk的功能是把内存虚拟为硬盘。甚至可以放数据库文件(当然是不重要可随时恢复的)来提高性能。也有很多人用来做IE的缓存目录。subst只是把文件加映射文磁盘。



[解决办法]
居然这么多人不知道ramdisk....dos时代就有的东东.
win98的启动盘就带了个ramdisk存放放解压出来的工具用来加
速工具程序的读取让软驱不用老嘎嘎嘎的叫唤.windows下也就是
写个驱动程序模拟个文件系统.

话说这帖都推荐合适么?
[解决办法]
不是太清楚!
[解决办法]
将内存虚拟成硬盘?吃饱了撑的?硬盘的读写速度远远低于内存的读写速度。
我想你的意思是想把硬盘上的文件虚拟成一个单独的盘符吧?
而且这种事情c#肯定干不来,需要写驱动程序的,可以用c++、汇编或Delphi来写。
[解决办法]

[解决办法]
[size=12px][/size][b][/b]帮顶了,对于32位系统不能识别4g内存很好,可以把多余的几百兆利用起来(看到过,不知如何用)
[解决办法]
学习
[解决办法]
路过帮顶...丿
[解决办法]
用session,别关页面,随取随用~~
[解决办法]
做底层 用C或者C++吧 别指望C#什么都能干 去看看WM手机和WinCE的手机 就知道封装的后果
关键是这种封装我觉得应该是没有的吧 像刚才看到的一篇文章所说的 
“程序语言就是我们在某种场景下交流的工具,汇编是机器语言;C和C++ 是编译型语言,它们是一种针对汇编的高级抽象;而Java 和 C# 就是更高级的抽象了,甚至于抽象了一层虚拟机出来(这个产生的影响就是,之后的很多高级语言评判标准,都是“是否支持虚拟机”),再到后面的许多动态语言,那就是更抽象了。”
用底层的来做你会发现更简单 玩.net的兄弟们也多学点计算机基础的理论 别成个只会写代码的机器人了 PS:快工作了 第一份工作也是个.net的网页制作
其实楼主也就是想知道可不可能实现的吧 我有时也是这样 遇到想开发的功能就想能不能用下C# 比较提供的接口多 不用很费劲去写点底层的东西了
[解决办法]
的确可以实现,我的朋友都这样做了
[解决办法]
唉!世代不同了!
[解决办法]
还“推荐”?????

[解决办法]
ramdisk
我知道 网吧做虚拟盘 有些就把会写做在ramdisk出来的分区
[解决办法]
回写!
[解决办法]
这个好像没得实际意义么·~
现在硬盘达到TB了。而且便宜的要死~,还非的把小小的内存拽上?

实现起来,也不是C#能做的。
用C语言把驱动反写一下··
[解决办法]
C#实现不了吧
C++、汇编可以完成吧
一般情况下都是将硬盘虚成内存来使用
而楼主是反着来

热点排行