操作系统之地址变换机构

地址变换机构的目的就是将用户地址空间中的逻辑地址转换为内存空间中的物理地址

由于此转换的频率非常高,所以需要采用硬件来实现。

页表功能是由一组专门的寄存器实现的

由于寄存器具有较高访问速度,因而有利于提高地址变换的速度

一个页表有很多页表项,一个页表项用一个寄存器

但是由于成本、资源问题,又不可能都用寄存器实现,所以,页表大多贮存在内存

在系统中只设置一个页表寄存器PTR

在这里插入图片描述
上图取于百度图片

由于目的是逻辑地址转变为物理地址,分为下面6布
1.首先将逻辑地址分为页号和页内地址
2.以页号为索引去检索页表
3.将页号与页表长度进行比较(若页号大于页表长度则表示,所访问的地址已经超越进程的地址空间,出现越界中断)
4.由硬件执行查找操作
5.将页表始址与页号和页表项长度的乘积相加,得到该表项在页表中的位置(可从中得到该页的物理块号)
6.拼接之前的页内地址,形成物理地址

例题

页号P页内地址d的求法
设A — 逻辑地址空间中的地址
L — 页面大小
页号P = INT [ A / L ]
页内地址d = [A] MOD L
例 :A = 2170 B L = 1 KB
P = INT [ A / L ] = INT [ 2170/1024 ] = 2
d = [ A ] MOD L = [ 2170 ] MOD 1024 =122
先把1KB与B进行换算,1KB=1024B,

在这里插入图片描述

分段地址变换

实现逻辑地址转变到物理地址。
1.首先将逻辑地址的段号S与段表长度TL进行比较,若S>TL,表示段号太大,是访问越界,于是产生越界中断信号。
2.未越界则根据段表的始址和该段的段号,计算出该段对应段表项的位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yoo前端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值