没有合适的资源?快使用搜索试试~ 我知道了~
sql内存管理机制
1星 需积分: 0 30 下载量 70 浏览量
2008-08-08
19:20:57
上传
评论 1
收藏 55KB DOC 举报
温馨提示
试读
6页
从开发者的角度来阐述了SQL SERVER 2000内存管理的内部机制
资源详情
资源评论
资源推荐
深入 SQL SERVER 2000 的内存管理机制
翻译:leimin(黄山光明顶)
http://msdn.microsoft.com/data/default.aspx?pull=/library/en-us/dnsqldev/html/sqldev_01262004.asp
Ken Henderson
Microsoft Corporation
备注:Ken Henderson 从开发者的角度来阐述了 SQL SERVER 2000 内存管理的内部机制
简介
在本专栏中,我们将从一个开发者的角度来探索 SQL SERVER 的内存管理。因此我们将讨论服务器内存管理的
API 和操作系统的内存管理机制,他们是如何运行的。以这种新颖的方式来探讨 SQL SERVER 内存管理,可以使开
发人员明白其中的前因后果,懂得一个软件使如何工作和已向用途,并且最终控制它。
我们首先开始的研究,它包括一些 Windows 内存管理的基本原理。和所有的 32 位的 Windows 程序一样,SQL
SERVER 也是使用 Windows 的内存管理机制来分配、释放和正常的内存管理资源。也就是说,SQLSERVER 和其他
Windows 程序一样通过 WIN32 API 函数和操作系统提供的内存管理资源交互。
因为几乎所有的 SQLSERVER 内存分配都是使用虚拟内存而不是堆的方式,大部分的内存分配的代码分解到
最后也是调有 Win32 的 VirtualAllo 和 VirtualFree 函数。SQL SERVER 通过调用 VirtualAllo 函数来保留和提交
虚拟内存,通过 VirtualFree 函数来是否内存。
虚拟内存和物理内存
在 INERT X86 处理器的系列中,Windows 提供所有的程序可以寻址 4G 虚拟内存空间。所谓“虚拟”的意思是并不
是传统意义上的内存,它仅仅是一段没有物理存储的隐式地址段。因为只有一个程序开始内存分配,才开始使用这些
地址段和物理的分配存储空间。而且,这些物理的存储空间并不需要物理的内存(不完全),通常是磁盘空间。明确
的说应该是在系统的虚拟页文件中。这就是为何可以有许多程序(每个程序有 4GB 的虚拟内存空间)可以同时运行在
只有 128M 的物理内存的机器上,就像每个程序分配真实的内存一样。Windows 透明地控制从系统页文件拷贝和读取
数据,因此程序可以在运行的机器上分配比物理内存更多的内存空间并且各种程序可以均等的访问该机器物理内存。
4GB 的内存地址空间分为 2 块区域:用户内存空间和核心内存空间。默认每个容量为 2G,你可以通过 Windows
NT 系列操作系统的 BOOT.INI 文件来改变默认空间的大小(比如:Windows NT,Windows 2000,Windows
XP 和 Windows Server 2003 都是 Windows NT 系列的产品,Windows 9x 和 Windows ME 不是
的)。
尽管每一个程序接受自己的虚拟内存空间,系统代码和设备驱动代码共享一个单独私有的虚拟地址空间。每个虚拟内
存页都和一种特殊处理器模式关联。为了满足所有的系统页都可以被访问,处理器必须是请求模式。这个意思是说用
户的程序是无法直接访问核心内存空间,系统必须切换为核心模式,这样核心模式的内存空间才可以被访问。
程序内存空间调整
在 BOOT.INI 文件中有一个”/3G”的参数可以允许改变默认的限制(这个参数在 Windows advanced server 和
Windows 2000 Data Center 有效),这样可以通过牺牲核心内存空间(从 2G 降低到 1G)将用户应用程序的内存空
间从 2G 增加到 3G.在 Windows 的用法中,这种机制叫程序内存空间调整或叫 4GT 调整(4GT).你可以通过在
BOOT.INI 文件的[operating systems]区域的适当的行加/3GB 参数来调整应用程序的内存空间.对一般的人来说可
以选择配置 BOOT.INI 文件的[operating systems]区域的适当的行增加/3GB 或不加/3GB 参数来启动系统.
人月神话
- 粉丝: 38
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- NetOps-py通过sftp替换网络设备启动文件
- STM32单片机FPGA毕设电路原理论文报告任务驱动教学法在单片机课程教学中的应用
- STM32单片机FPGA毕设电路原理论文报告任务驱动法在单片机教学中的应用
- STM32单片机FPGA毕设电路原理论文报告人造金刚石压机智能化压力测控系统设计
- 以某列为依据匹配多项(Excel版)
- STM32单片机FPGA毕设电路原理论文报告人体短臂离心机实验台的显示控制系统
- STM32单片机FPGA毕设电路原理论文报告人工气候室监控系统的环境控制器研究
- STM32单片机FPGA毕设电路原理论文报告染整自动线张力控制系统的设计
- 数据挖掘与机器学习-实验
- 基于Linux系统Nginx的动态网站的LNMP环境源码包
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1