摘要: 虚拟存储器虚拟存储器是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。通过一个很清晰的机制,虚拟存储器提供了三个重要的能力:(1)它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回... 阅读全文
posted @ 2015-04-26 23:28 Jessica程序猿 阅读(4203) 评论(0) 推荐(0) 编辑
摘要: linux内存管理---虚拟地址、逻辑地址、线性地址、物理地址的区别(一)这篇文章中介绍了四个名词的概念,下面针对四个地址的转换进行分析CPU将一个虚拟内存空间中的地址转换为物理地址,需要进行两步(如下图):首先,将给定一个逻辑地址(其实是段内偏移量,这个一定要理解!!!),CPU要利用其段式内存管... 阅读全文
posted @ 2015-04-26 22:26 Jessica程序猿 阅读(1426) 评论(0) 推荐(0) 编辑
摘要: 分析linux内存管理机制,离不了上述几个概念,在介绍上述几个概念之前,先从《深入理解linux内核》这本书中摘抄几段关于上述名词的解释:一、《深入理解linux内核》的解释逻辑地址(Logical Address) 包含在机器语言指令中用来指定一个操作数或一条指令的地址(有点深奥)。这种寻址方式... 阅读全文
posted @ 2015-04-26 22:25 Jessica程序猿 阅读(1679) 评论(0) 推荐(1) 编辑
摘要: 1 思路:自己实现一个栈,其中成员为标准库中的栈,一个存放全部的元素,一个存放最小元素,一个存放最大元素。使用自己实现的栈来实现一个求最大值最小值的队列,其中包含两个成员,一个作为出队的栈,一个作为入队的栈。2 C++实现代码:#include#include#includeusing namesp... 阅读全文
posted @ 2015-04-26 12:41 Jessica程序猿 阅读(1117) 评论(0) 推荐(0) 编辑
摘要: 一、题目概述:有一个没有排序,元素个数为2N的正整数数组。要求把它分割为元素个数为N的两个数组,并使两个子数组的和最接近。假设数组A[1..2N]所有元素的和是SUM。模仿动态规划解0-1背包问题的策略,令S(k, i)表示前k个元素中任意i个元素的和的集合。显然:S(k, 1) = {A[i] |... 阅读全文
posted @ 2015-04-26 10:05 Jessica程序猿 阅读(2265) 评论(1) 推荐(0) 编辑