加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – .Net Framework中的手动内存分页(可能/如何?)

发布时间:2020-12-15 17:28:56 所属栏目:百科 来源:网络整理
导读:我对编写数据库管理系统很感兴趣.阅读了几页关于如何实现SQL Server 2000的内容,我发现使用了4KB内存页,每个页都是硬盘上4KB页面的直接副本.这些页面根据需要加载到RAM中,然后在它们闲置时懒散地写回磁盘(过度简化). 在我的项目的计划阶段,我想知道在CLR上运
我对编写数据库管理系统很感兴趣.阅读了几页关于如何实现SQL Server 2000的内容,我发现使用了4KB内存页,每个页都是硬盘上4KB页面的直接副本.这些页面根据需要加载到RAM中,然后在它们闲置时懒散地写回磁盘(过度简化).

在我的项目的计划阶段,我想知道在CLR上运行的代码中是否可以实现这种级别的控制.我意识到C,C或D可能更适合这项任务,但我想首先向我自己证明.这背后的动机部分是我最终希望用我自己的CLR垃圾收集器覆盖我的数据库作为堆,至少对于相对陈旧的对象.

是否可以直接从CLR控制内存?如果是这样,我该怎么做?

现在假设我的数据是一堆256字节宽的结构/类,存储在磁盘上的平面表中,而我使用的是64KB页面.

解决方法

有点.您可以在.NET中使用 memory mapped files,以便写入“内存”实际上是写入磁盘.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读