动态重定位、分段、分页

本文详细介绍了动态重定位的作用、实现和缺点,以及分段和虚拟内存的概念。虚拟内存通过分页机制,借助MMU进行地址转换,并通过页表管理内存。讨论了加速分页过程中的转换检测缓冲区(TLB)和多级页表等优化策略,旨在理解现代操作系统内存管理的关键技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1动态重定位

作用

实现

缺点

2分段

3虚拟内存

虚拟内存的基本思想

分页

MMU操作过程

页表

加速分页过程

①转换检测缓冲区

②软件TLB管理

针对大内存的页表

①多级页表

②倒排页表


1动态重定位

作用

把每个进程的地址空间映射到物理内存的不同部分

实现

每个CPU配置2个特殊的硬件寄存器,叫作基址寄存器界限寄存器,当一个程序运行时,程序的起始物理地址装载到基址寄存器中,程序的长度装载到界限寄存器中,每次一个进程访问内存,取一条指令,读或写一个数据字,CPU硬件会在把地址发送到内存总线之前,自动把基址值加到进程发出的地址值上,同时,它检查程序提供的地址是否等于或大于界限寄存器里的值,如果地址超出界限,则产生错误并中止访问

缺点

每次访问内存都需要进行加法和比较运算,加法由于进位传递时间的问题,在没有使用特殊电路的情况下会显得很慢

2分段

把一个程序分成好几个段,每个段有各自的特点,各自的用途,分别放入内存
如何定位具体指令?<段号,段内偏移>,寻址的时候要地址要加上对应的段的基址,原来的PCB中只需要放整个程序的基址,分段后,PCB中要放每一个段的基址,这个称为进程段表(LDT)。操作系统的进程对应的段表就是GDT表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值