`
yingyingol
  • 浏览: 745763 次
文章分类
社区版块
存档分类
最新评论

内存管理的概念

 
阅读更多
进程和内存空间
进程: 一旦程序正在运行,它就叫进程,进程拥有它自己的内存,文件句柄及其他系统资源. Windows任务栏显示的是主窗口而不是进程,单个进程可能有几个主窗口,每个窗口都由它自己的线程支持.
每个进程都具有它自己"私有"的4GB虚拟地址空间, 它包括:程序的EXE映像,所加载的任何非系统的DLL(包括MFC DLL),程序的全局数据,内丰映射文件等等.
Windows95的进程地址空间
在95中,只有地址空间最底部的2GB(0--0X7FFFFFFF)才是真正私有的,顶部的2GB对于所有的进程都是相同的,被所有的进程共享,它顶部的1GB包括Windows95内核,可执行程序,虚拟设备驱动程序(VxDs)和文件系统代码等,另外1GB存放Windows DLL, 内存映射文件.
Windows NT进程地址空间
NT进程只能访问其底部2GB地址空间,且其中最低的和最高的64KB不可访问.NT内核,执行程序及设备程序都驻留在顶部2GB之中.
虚拟内存的工作方式
一般分页存储,每一页为4KB,当使用一页时,占用物理内存,但物理地址你永远看不到,Intel微处理器可以有效地把一个32位虚拟地址映射为物理页以及在该页内的偏移量.每个进程都有它自己的分页表,芯片的CR3寄存器就保持指向当前运行的进程的目录页的指针,进程之间的切换只需要更新CR3即可.
当我们试图访问一个不在当前RAM之中的页,将触发一个中断,Windows通过检查,如果内存引用是假的,就会得到我们常见的"页面错误",程序退出.否则就把该页从磁盘文件读入RAM中.
分享到:
评论

相关推荐

    08-内存管理概念.pdf

    内存管理概念

    操作系统之MM(concept)内存管理概念

    操作系统之MM(concept)内存管理概念

    详解vSphere5.x中的内存管理相关概念

    教程名称:详解vSphere 5.x中的内存管理相关概念课程目录:【】详解vSphere 5.x中的内存管理相关概念1【】详解vSphere 5.x中的内存管理相关概念3【】详解vSphere 5.x中的内存管理相关概念4【】详解vSphere 5.x中的...

    内存管理 3.1内存管理概念1

    引入目的和概念局部性原理时间局部性指令近期多次执行,数据近期多次访问;如循环语句空间局部性存储单元附近的也可能访问,如连续的存储单元数组每访问一个逻辑地址,都要

    内存管理内存管理内存管理

    本文将介绍手工的、半手工的以及自动的内存管理实践的基本概念。 追溯到在 Apple II 上进行汇编语言编程的时代,那时内存管理还不是个大问题。您实际上在运行整个系统。系统有多少内存,您就有多少内存。您甚至...

    内存管理技术内幕

    无论计算机安装了多少内存,似乎从来就没有感到足够过。Windows NT所面对的最...我也将讲解两个NT内存管理的强有力的特色:内存共享和写时拷贝。下个月,我会描述更多的内部数据结构,NT怎样实现共享内存和工作集调整

    操作系统(内存管理)

    本文将介绍手工的、半手工的以及自动的内存管理实践的基本概念。 追溯到在 Apple II 上进行汇编语言编程的时代,那时内存管理还不是个大问题。您实际上在运行整个系统。系统有多少内存,您就有多少内存。您甚至...

    C++内存管理.doc

    内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++...

    虚拟内存管理基础知识

    虚拟内存基础,系统讲述了虚拟内存的概念和基本原理。

    第4章 内存管理.ppt

    ◆熟悉存储管理目的和功能,掌握地址重定位的概念。 ◆熟悉单一连续分配、固定分区、可变分区实现原理,掌握可变分区分配的数据结构和分配回收算法。了解覆盖与交换的概念。 ◆熟练掌握分页存储管理原理,熟练掌握...

    WIN32内存管理笔记

    WIN32内存管理笔记,对WIN32内存管理的概念,内存管理的函数进行介绍。

    基于ARM CPU的Linux物理内存管理

    这样方便理解为什么内存管理中需要虚拟地址,物理内存和访问保护。 第二部分介绍在ARMC CPU上是如何支持内存管理的。操作系统对内存的管理的目的就是满足应用程序(当然也有部分内核代码)的内存申请和释放,而内存...

    微机组装,内存存储管理

    内存储器简称内存,也称主存,它主要负责CPU与其它设备间的数据传递,是计算机存储各种信息的部件;是泛指计算机系统中存放数据与指令的半导体存储单元。

    内存管理内幕

    内存管理是计算机编程最为基本的领域之一。在很多脚本语言中,您不必担心内存是如何管理的,这并不能使得内存管理的重要性有一点点降低。...本文将介绍手工的、半手工的以及自动的内存管理实践的基本概念。

    操作系统内存管理.docx

    操作系统内存管理全文共6页,当前为第1页。操作系统内存管理全文共6页,当前为第1页。内存管理 操作系统内存管理全文共6页,当前为第1页。 操作系统内存管理全文共6页,当前为第1页。 分页内存管理方案 分页的最大...

    Yarn 内存分配管理机制及相关参数配置.

    关于Yarn内存分配与管理,主要涉及到了ResourceManage、ApplicationMatser、NodeManager这几个概念,相关的优化也要紧紧围绕着这几方面来开展。这里还有一个Container的概念,现在可以先把它理解为运行map/reduce ...

    C语言内存管理与联合结构课件笔记.md

    本课件首先介绍了C语言中的内存管理知识,包括堆栈概念、动态内存分配函数及内存泄漏等问题,并给出了示例代码。然后详细讲解了C语言中的结构体与联合的定义、访问及嵌套使用,每部分都配有代码实例说明。内容结构清晰,...

    JavaScript内存管理相关.docx

    该文档是笔者经余月整理后所得,里面包含了JavaScript内存相关的知识概述。大概有浏览器内存管理、JavaScript内存泄漏及补救措施、闭包的概念,希望对诸君有帮助

    110-演示文稿-内存管理基本概念.pdf

    110-演示文稿-内存管理基本概念.pdf

    windows的内存管理

    window 内存管理机制,如何查看进程的内存占用,以及相关的概念介绍:工作集,私有内存,共享内存 等。我用官方的html文档做成的电子书。

Global site tag (gtag.js) - Google Analytics