2018-2019-1 20165201 《信息安全系统设计基础》第9周学习总结
2018-2019-1 20165201 《信息安全系统设计基础》第9周学习总结
学习内容总结
第9章 虚拟存储器
理解虚拟存储器的概念和作用
为解决内存小而作业大、作业多的矛盾,以及执行过程中只是把当前运行需要的那部分程序和数据装入内存。所以,操作系统把各级存储器统一管理起来。就是说,应该把一个程序当前正在使用的部分放在内存,而其余部分放在磁盘上,就启动执行它。操作系统根据程序执行时的要求和内存的实际使用情况,随机地对每个程序进行换入/换出。
这样,就给用户提供一个比正式的内存空间大的多的地址空间,这就是虚拟存储器。所谓虚拟存储器是用户能作为可编址内存对待的存储空间,在这种计算机系统中虚地址被映射成实地址。简单地说,虚拟存储器:是由操作系统提供的一个假想的特大存储器。就是说,虚拟存储器并不是实际的内存,它的大小比内存空间大的多;用户感觉所能使用的“内存”非常大,但这是操作系统对物理内存的扩充。
理解地址翻译的概念
使用虚拟寻址时,CPU通过生成一个虚拟地址(VA)来访问主存,这个虚拟地址在被送到存储器之前先转换成适当的物理地址。将一个虚拟地址转换为物理地址的任务叫做地址翻译。
理解存储器映射
存储器映射:Linux通过将一个虚拟存储器区域与一个磁盘上的对象(object)关联起来,以初始化这个虚拟内存区域的内容的过程。
虚拟存储器中的块分为:未分配的,缓存的,未缓存的
未分配的:这一块的虚拟存储器不映射于任何块
缓存的:这一块的虚拟存储器映射于已经存在于DRAM中的物理页
未缓存的:这一块的虚拟存储器映射于存在于磁盘中的虚拟页
掌握动态存储器分配的方法
当运行时需要额外虚拟存储器时,使用动态内存分配器维护一个进程的虚拟存储器区域。
分配器有两种基本风格。两种风格都要求应用显式地分配块。不同在于由哪个实体来负责释放已分配地块:
显示分配器:要求应用显式地释放任何已经分配的块。
隐式分配器:要求分配器检测一个已分配块何时不再被程序所使用,就释放这个块。也叫做垃圾收集器。
理解垃圾收集的概念
动态内存分配器,自动释放程序不再需要的已分配块。
垃圾收集器将内存视为一张有向可达图,从根节点出发,不可达的堆节点视为垃圾。两个节点的指向关系是其中一个节点包含另一个的位置信息。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 2000行 | 20篇 | 200小时 | |
第一周 | 83/83 | 1/1 | 8/8 | |
第六周 | 75/158 | 2/3 | 10/18 | |
第八周 | 75/158 | 3/6 | 10/28 | |
第九周 | 75/158 | 2/8 | 13/41 |