» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[其他] 不知道什么是“虚拟内存”,我就来教育下。(Update)

引用:
原帖由 xphi 于 2009-6-26 00:57 发表


……
你还是没有理解虚存的核心含义啊,拜托你再去读读你自己引用的wiki文章,想想龙哥为什么问你那三个问题。
要是用文件保存临时数据和虚存技术也能算“类似的技术”的话,当年提出虚存技术的人都该去跳楼了 ...
类似的技术是说原始思想的一致性(把临时不用的先挪出来), 没说具体到实现方法。


TOP

引用:
原帖由 ffcactus 于 2009-6-26 01:08 发表

类似的技术是说原始思想的一致性(把临时不用的先挪出来), 没说具体到实现方法。
话说虚存技术原始思想并不是“把临时不用的先挪出来”啊……
你到底看过你自己引用的文章没有,“Virtual memory is a computer system technique which gives an application program the impression that it has contiguous working memory (an address space), while in fact it may be physically fragmented and may even overflow on to disk storage.”原文这第一句看懂没有?



TOP

引用:
原帖由 xphi 于 2009-6-26 01:12 发表


话说虚存技术原始思想并不是“把临时不用的先挪出来”啊……
你到底看过你自己引用的文章没有,“Virtual memory is a computer system technique which gives an application program the impression that it  ...
难道你以为是为了 contiguous ? 如果是这样, 应该只涉及到内存的划分与管理。

明天聊, 再见。


TOP

FF大婶的贡献是,提出了“虚拟内存”的重要理论,是对BD大婶的“常识流”的继承与创新,全面武装了全体索犯的思想境界,丰富了脑内补完的革命理论体系,是SDF党一次重大的历史性的理论飞跃。

——《索饭搜神记》

TOP

1 用户空间的应用程序没有理由去考虑不同平台下不同大小的物理内存的差异,更没有理由去关心自己所处的寻址空间是否与其他进程冲突,用户程序只管虚拟地址

2 内存是以页为单位进行映射和管理的(我想没有哪个操作系统会把mmu设为以1m的段来映射吧)。用户空间无法管理内存,物理内存全部由操作系统进行统一管理和分配,所有的物理内存在3g-4g的内核空间都有确定的虚拟映射(低端内存也就是低896m物理内存被直接平板映射道内核空间虚拟地址的低端寻址空间,比如从3g到3g + 896m的区域,高端内存通过pkmap反复映射来访问,映射关系记录在mm_struct结构体里),内核也不会去访问3g以下的用户空间地址,因为没有必要,内核能直接找到物理地址

话说在这种帖子里认真回帖是绝对煞笔行为啊

TOP

引用:
原帖由 ffcactus 于 2009-6-26 01:19 发表

难道你以为是为了 contiguous ? 如果是这样, 应该只涉及到内存的划分与管理。

明天聊, 再见。
莫非你认为虚存就是硬盘虚拟的内存?用硬盘扩展内存空间不需要用虚存这种技术,段覆盖就够了。
直说了吧,虚存不过是虚拟地址空间,而已,用硬盘做交换空间不过是虚存的一个附带功能而已,没有硬盘一样可以用虚存的。而且基本上所有的多进程处理器都必须支持虚存的,而且他们都必须使用虚存技术的来处理多个进程。所以自己想想PS3,XO有没有使用虚存吧。

[ 本帖最后由 xphi 于 2009-6-26 02:13 编辑 ]

TOP

引用:
原帖由 xphi 于 2009-6-26 00:37 发表
看得要崩溃了。
缺页中断变成“软件陷阱”了……
居然可以有没有操作系统支持的虚存系统……,难道还有在用户进程级调度内存页的?这个理论真神奇。

我还是围观好了。
軟件陷阱這是哪來的中文翻譯,隨便一本OS教科書只要不是山寨翻譯,也不可能出現這種名詞哪.

「trap(陷阱,或稱例外)是一種軟體中斷」,這是作業系統教科書聖經恐龍本的原句,FF神是看哪裡的擺渡資料得到「軟件陷阱」這種東拼西湊的新詞

哈哈

TOP

用虚拟内存256MB内存可以和512MB内存叫板
     虚拟内存对PS3的系能提升很大
      虚拟内存对PS3的性能有提升
      PS3肯定能用虚拟内存
  FF神的思路就这样一路过来啊,中间穿插了对虚拟内存的研究
  好歹把帖子爬完了啊
  不容易啊
   当然 明天有人指责我脑内补完

TOP

战区果然是喷子的天下……
1)虚拟内存不是为了把内存放硬盘里头的一种技术……
2)虚拟内存技术其实只是有开发方便和对RAM空间使用效率高的优势,其实和性能没什么关系
3)为什么影响性能的是因为虚拟内存认为这数据暂时就不用丢硬盘去了,结果被命中了
4)算法才是性能的关键,内存再快,与L1,L2比也只是蜗牛……

虚拟内存
维基百科,自由的百科全书
跳转到: 导航, 搜索

虚拟内存是计算机系统的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个地址空间),而实际上,它可能是被分隔成多个碎片,甚至被交换到磁盘存储器上的。与没有使用虚拟内存技术的系统相比,使用这种技术的系统使得大型程序的编写变得更容易,对真正的物理内存(例如RAM)的使用也更有效率

注意:虚拟内存不只是用磁盘空间来扩展物理内存的意思——这只是扩充内存级别以使其包含硬盘驱动器而已。把内存扩展到磁盘只是使用虚拟内存技术的一个结果,它的作用也可以通过覆盖或者把处于不活动状态的程序以及它们的数据全部交换到磁盘上等方式来实现。对虚拟内存的定义是基于对地址空间的重定义的,即把地址空间定义为连续的虚拟内存地址,以借此欺骗程序,使它们以为自己正在使用一大块的连续地址。

现代所有用于一般应用的操作系统都对普通的应用程序使用虚拟内存技术,例如字处理软件,电子制表软件,多媒体播放器等等。老一些的操作系统,如DOS和1980年代的Windows,或者那些1960年代的大型机,一般都没有虚拟内存的功能——但是Atlas,B5000和苹果公司的Lisa都是很值得注意的例外。[1]

那些需要快速一致响应的嵌入式系统和其他的特殊应用的计算机系统可能会因为决定论而选择不使用虚拟内存。

目录 [隐藏]
1 Windows操作系统下虚拟内存的实现
2 Linux操作系统下虚拟内存实现
3 页面文件与磁盘碎片
4 参见
5 参考资料



[编辑] Windows操作系统下虚拟内存的实现
此章節的准确性有争议。
掛上此模板的編輯者需在对话页說明本文准确性有爭議的原因,以便讓各編輯者討論和改善。

在Windows 9x时代,例如Windows 98,用于实现虚拟内存的文件存放在系统分区的根目录下。通常是系统分区根目录下的win386.swp(具有隐藏、系统属性)。有关虚拟内存设置则存放在系统目录中的system.ini中,其中形似“PagingDrive=C:\Win386.swp”的一行就是虚拟内存文件路径、文件名的设置。
在Windows NT系列中,例如Windows XP,用于实现虚拟内存的文件则以系统分区根目录下的页面文件 pagefile.sys(具有隐藏、系统属性)形式来保存。这些文件的大小——即pagefile.sys文件大小的默认值是物理内存的1.5倍。同时,页面文件可以设置一个比平常值大的最大值,当物理内存与页面文件皆不够用时,系统会自动生成temppf.sys(意为temporary pagefile,临时页面文件)进行补足,temppf.sys的大小在页面文件的大小和最大值之间。

[编辑] Linux操作系统下虚拟内存实现
此章節的准确性有争议。
掛上此模板的編輯者需在对话页說明本文准确性有爭議的原因,以便讓各編輯者討論和改善。

在Linux操作系统支持两种形式的交换空间:交换分区和交换文件。 交换分区:在磁盘中专门分出一个磁盘分区用于交换 交换文件:创建一个文件用于交换 交换空间大小没有规定特定的值,如果物理内存较小(小于512M字节)时,一般设置为物理内存的1.5倍到2倍。

Linux支持同时使用多个交换设备,还能为它们分配给不同的优先级。当需要交换出物理内存中页时,操作系统根据优先级顺序选择可用的交换设备。如果有多个交换设备优先级相同,那么它们是按照类似level 0 RAID的方式分配使用的。如果能够并行地访问这些交换设备的话,给他们分配相同的优先级就能够使系统性能得到提供。因此,分配优先级的时候还应该特别注意一些问题。例如,在同一物理磁盘上的多个交换分区就不应该被并行地使用,而应该以访问速度从高到底的顺序使用。所以在只有一块物理磁盘的时候,设置多个交换分区,并不能提高性能,反而可能会使性能下降。


[编辑] 页面文件与磁盘碎片
此章節的准确性有争议。
掛上此模板的編輯者需在对话页說明本文准确性有爭議的原因,以便讓各編輯者討論和改善。

由于虚拟内存使用了硬盘,硬盘上非连续写入的文件会产生磁盘碎片,因此一旦用于实现虚拟内存的文件或分区过于零碎,会加长硬盘的寻道时间,影响系统性能。有观点误认为Windows系统频繁读写pagefile.sys就会产生磁盘碎片,实则不然。因为pagefile.sys文件一旦创立,在分区中的分布连续形式就固定下来,文件内部读写并不增加或减少pagefile.sys的文件大小。仅当页面文件告罄后系统创建的temppf.sys会带来磁盘碎片。 而在Linux系统中,将用于虚拟内存的部分置于单独的分区中,不影响其他的分区或文件,则基本杜绝了磁盘碎片带来的影响。


[编辑] 参见
高速緩存文件置換機制

[编辑] 参考资料
^ Windows Version History.Microsoft(Last Review: July 19, 2005).於2008年12月3日查閱.
Windows NT的虚拟内存管理
Windows XP的虚拟内存与性能
微软官方内存管理白皮书
Linux下内存管理
来自“http://zh.wikipedia.org/wiki/%E8%99%9A%E6%8B%9F%E5%86%85%E5%AD%98

TOP

算法确实是关键
  但是随着页面数的增加,任何算法不可避免的降低命中率
    多任务的情况还好,大不了挂起这个任务做其他事情
      可玩游戏这个情况,原本该在内存的贴图或者其他数据丢硬盘去了
       CPU除了死等还有什么其他办法

TOP

虚拟内存对PS3的系能提升很大----虚拟内存对PS3的性能有提升----PS3肯定能用虚拟内存


ff神一路狂缩啊.

下限啊.

TOP

还UPDATE啊,呵呵,知错就改是么……

TOP

引用:
原帖由 cf3b5 于 2009-6-26 02:27 发表
战区果然是喷子的天下……
1)虚拟内存不是为了把内存放硬盘里头的一种技术……
2)虚拟内存技术其实只是有开发方便和对RAM空间使用效率高的优势,其实和性能没什么关系
3)为什么影响性能的是因为虚拟内存认为这 ...
尽管是wiki的也很不错至少把某些软饭的错误纠正了一下!也同时让我学习了真正认识到只要不是原则性不干涉直接或间接他人人身安全的生活影响的实施的和未实施的都没有承认错误的必要!如同软饭也一样!

TOP

引用:
原帖由 xphi 于 2009-6-26 00:57 发表
……
你还是没有理解虚存的核心含义啊,拜托你再去读读你自己引用的wiki文章,想想龙哥为什么问你那三个问题。
要是用文件保存临时数据和虚存技术也能算“类似的技术”的话,当年提出虚存技术的人都该去跳楼了 ...
引用:
原帖由 ffcactus 于 2009-6-25 08:02 发表
你问的那些与本贴有关系吗? 炫耀智商?
这是ffcactus的原话,龙哥看后直接哭出来,这才是真理啊。

TOP

引用:
原帖由 legendkang 于 2009-6-26 05:11 发表

尽管是wiki的也很不错至少把某些软饭的错误纠正了一下!也同时让我学习了真正认识到只要不是原则性不干涉直接或间接他人人身安全的生活影响的实施的和未实施的都没有承认错误的必要!如同软饭也一样!
看来你也和lz一样共同下限了,加油!:D还有你只代表你个人,你算什么东西来代表软饭?:D

TOP

发新话题
     
官方公众号及微博