摘要: 什么是分段(类似于分页管理中的分页) 进程的地址空间,会按照自身的逻辑关系,划分为若干个段,每个段都有一个段名,在低级语言中,程序员使用段名来编程)每段都要从0开始编址 内存分配规则:以段为单位分配,每个段在内存中占据连续空间,但是各段之间可以不相邻 由于是按照逻辑功能模块划分,用户编程更加方便,程 阅读全文
posted @ 2025-10-01 21:43 是我,米老鼠 阅读(19) 评论(0) 推荐(0)
摘要: 单级页表存在什么问题,如何解决 问题一:页表必须连续存放,因此当页表很大时,需要占用更多个连续的页框 解决方法:为离散分配的页表再建立一张页表,称为页目录表(套娃) 问题二:进程在一段时间内只需要访问几个页面就可以正常运行了,没有必要让整个页表都常驻在内存 解决方法:再需要访问页面时再把页面掉入内存 阅读全文
posted @ 2025-10-01 21:10 是我,米老鼠 阅读(15) 评论(0) 推荐(0)
摘要: 什么是快表 又叫做联想寄存器(translation lookaside buffer)是一种访问速度比内存快得多的高速缓存,用来存放最后访问的页表项的副本,可以加速地址变换的速度,于此对应,内存中的页表通常被叫做慢表 不能把整个页表都放在TLB中,因为很贵 引入快表后,地址的变换过程 1.计算页号 阅读全文
posted @ 2025-10-01 20:49 是我,米老鼠 阅读(18) 评论(0) 推荐(0)
摘要: 设页面大小为L,逻辑地址A到物理地址E的变换过程如下 1.计算页号P和页内偏移量W 2.比较页号P和页表大小M如果P>=M则会发生越界中断,否则继续执行。(页号从0开始,页表长度至少为1,因此P=M也会越界) 3.页表中页号P对应的页表项地址=页表起始地址F+页号P*页表项长度,取出该页表项内容b, 阅读全文
posted @ 2025-10-01 11:24 是我,米老鼠 阅读(15) 评论(0) 推荐(0)
摘要: 将内存分为一个个大小相等的分区,每个分区就是一个页框(页框=页帧=内存块=物理快=物理页面)每一个页框都有一个编号--页框号,页框号从0开始。 将进程的逻辑地址空间也分为与页框大小相等的一个个部分,每个部分称为一个页/页面,每个页也有一个编号,叫做页号,页号也是从0开始的 进程的页面与内存的页框都有 阅读全文
posted @ 2025-10-01 11:05 是我,米老鼠 阅读(28) 评论(0) 推荐(0)
摘要: 首次适应算法[first fit] 每次都从低地址开始查找,找到对歌能满足大小的空闲分区 空闲分区以地址递增的次序排列,每次分配内存时顺序查找空闲分区链或表,找到大小能满足要求的第一个空闲分区 最佳适应算法[best fit] 由于动态分配是一种连续分配方式,为各进程分配的空间必须是连续的一整片区域 阅读全文
posted @ 2025-10-01 10:06 是我,米老鼠 阅读(36) 评论(0) 推荐(0)
摘要: 连续分配:系统为用户分配的必须是一个连续的内存空间 单一连续分配 单一连续分配,内存分为系统区和用户区,系统区一般都在低地址 内存中只能又一道 用户程序,它独占整个用户空间 优点:实现简单,没有外部碎片,不一定采取内存保护 缺点:只能用于单用户,单任务的操作系统,有内部碎片,内存利用率低 固定分区分 阅读全文
posted @ 2025-10-01 09:35 是我,米老鼠 阅读(23) 评论(0) 推荐(0)