64位操作系统的原理

64bit软件和32bit软件最大的区别是64bit的软件可以同时操作大于4GB的内存。注意这里的内存指的是地址空间,而不是物理内存。比如现在有一个10GB的数据库需要进行排序。64bit的软件可以malloc一个10GB的空间把整个数据库“放进”内存然后使用任意经典排序算法,而32bit的软件在malloc时就会崩溃(out-of-memory)。所以32位软件的程序员只能使用复杂的算法显式的分块读入,局部排序,写回数据库,然后重复。这样不仅程序复杂难写,程序员swap内存和文件的算法效率可能也不如OS自动处理来的高效。另一方面,64bit软件巨大的内存空间也可能加速物理内存的消耗,增加寻址的开销,因此未必总是能够提高性能。当然最终系统的效率还是取决于物理内存的大小,64bit只是解决了地址空间的瓶颈

链接:https://www.zhihu.com/question/23408154/answer/24499675

posted @ 2022-08-19 22:44  luoganttcc  阅读(13)  评论(0编辑  收藏  举报