操作系统
文章平均质量分 91
热情的半坡居士
这个作者很懒,什么都没留下…
展开
-
内存管理——进程创建,执行,缺页,终止
与分页相关的工作。1、进程创建时:当进程被创建时,操作系统需要确定程序和数据在初始时有多大,并针对其大小为进程创建页表,操作系统需要在内存中为页表分配空间并进行初始化。此外,操作系统需要在磁盘交换区中分配空间,以用来在一个进程换出时在磁盘上有放置此进程的空间;2、进程执行时:重置MMU,刷新TLB,清除先前进程信息,将新进程页表设置为当前页表(Linux操作硬件设置CR3控制寄存器为新的进程页目录...转载 2018-03-06 16:08:12 · 813 阅读 · 0 评论 -
空闲内存管理
学习自《现代操作系统》操作系统在动态分配内存时(malloc,new),需要对空间内存进行管理。一般采用了两种方式:位图和空间链表。1、使用位图的存储管理内存被划分为若干个几字节大小的分配单元,每个分配单元是否是空闲的情况采用位图来进行描述,如果已分配,相应位置1,未分配,置0。当需要分配新内存时,从位图中遍历找到满足大小的连续个0所在位置的内存,将其分配。很显然,如果分配单元越小,则位图将会越大...转载 2018-03-06 16:09:21 · 990 阅读 · 0 评论 -
缓冲区溢出攻击
转:http://www.cnblogs.com/scu-cjx/p/7741977.html图片来源:http://blog.csdn.net/u010651541/article/details/49849557主要根据此图给出一些程序变量的分配情况,以及缓冲区溢出攻击的简单原理。上述图主要描述进程虚拟地址空间,即用户空间内容,进程内核地址空间为所有进程共用(Linux内核中)栈区:理解为函数...转载 2018-03-06 16:11:04 · 393 阅读 · 0 评论 -
TLB和cache的关系
一)TLB1)TLB的概述TLB是一个内存管理单元用于改进虚拟地址到物理地址转换速度的缓存.TLB是位于内存中的页表的cache,如果没有TLB,则每次取数据都需要两次访问内存,即查页表获得物理地址和取数据.分页与页表概念性内容不再阐述。直接给出解释。MMU为内存管理单元,其作为硬件用于将虚拟地址映射为物理地址。上图右边部分,箭头所述部分内容即采用MMU完成地址映射。虚拟地址通过多级页表映射后对应...转载 2018-03-06 15:50:59 · 18579 阅读 · 0 评论