操作系统系列学习——多级页表与快表

文章目录

  • 前言
  • 多级页表与快表


前言

一个本硕双非的小菜鸡,备战24年秋招,计划学习操作系统并完成6.0S81,加油!
本文总结自B站【哈工大】操作系统 李治军(全32讲)
老师课程讲的非常好,感谢
【哈工大】操作系统 李治军(全32讲)

多级页表与快表

在这里插入图片描述
在这里插入图片描述多级页表和块表,以及前面的分页机制合起来成为一套比较完善的内存访问机制

为了提高内存利用率,页应该小,页小了,页表项就多了,页表就大了;(页是4K,每个段最多浪费4K)

CPU执行指令关键花的时间就在于通过总线访问内存,这个速度是慢的
在这里插入图片描述
页号必须要连续,这样才可以立即定位到页表项
在这里插入图片描述
用多级页表既实现连续,又让页表占的内存变少

页目录表(章)+页表(节)

多级页表优点:

多级页表既保证了页表表项的连续性,使得查找起来非常快(时间复杂度O(1));
又保证了内存中存储的页表少了,减少了内存浪费,提高了内存使用率;

多级页表缺点

多级页表增加了访存速度,特别64位系统(因为64位系统的多级页表有5,6级);

多级页表,每增加一级,访存次数就会加1; 所以 64位系统的多级页表访存次数约为5,6次;
多级页表的级数越多,访存越多,效率越低(级数越多,类比书的多层目录),这会造成指令执行效率低;
在这里插入图片描述
快表:

  • 也叫TLB,TLB是一组相联快速存储,是寄存器;
  • TLB,即Translation lookaside buffer,又称为翻译后备缓冲区寄存器;
  • 通过TLB可以快速找到最近使用的逻辑页映射的物理页号;

基于快表的地址翻译步骤

步骤1: 根据逻辑地址的页号,查询一次TLB寄存器就可以得到页框号(物理页号);
步骤2: 若快表TLB不存在页框号(未命中),则查询多级页表,并把查询结果送入TLB存储作为缓冲用于后续地址翻译;
小结:快表+多级页表合在一起形成的结构,保证了查询(翻译物理地址)时间快,页表项连续,减少了内存资源浪费;

这也充分体现了操作系统折中思想;通过把一些技术组合在一起,使得访问时间不错,空间利用也不错;具体是:

多级页表是减少了空间浪费,降低了空间复杂度,访问时间还可以,但还想提高页表查询速度;
TLB是提高了页表查询速度,降低了时间复杂度;
TLB可以弥补多级页表(特别64位系统)访存耗时,慢的缺点;

在这里插入图片描述
TLB越大越好, 但TLB很贵,折中处理是 TLB可以存储的页表项数量范围是 [64,1024];

原因:

  • 程序的地址访问存在局部性
  • 因为访问局部性,所以程序用的是固定的那几个逻辑页号;
  • 最近访问的逻辑页与物理页映射关系会送入TLB存储,所以TLB的命中率会很高;
  • 补充:程序多体现在循环,顺序结构;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/497174.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PythonGUI应用:模拟航空订票小程序

在本教程中,我们将创建一个基本的航空订票管理系统GUI应用,用户可以通过图形界面执行各种操作。我们将使用Python编程语言和Tkinter库来实现此应用。 功能概述: 航班管理: 用户可以添加新的航班,输入航班号、起始地、目…

Convex and Semi-Nonnegative Matrix Factorizations

我们提出了非负矩阵分解(NMF)主题的几种新变体。考虑形式为X FG^T的因子分解,我们关注的是G被限制为包含非负元素的算法,但允许数据矩阵X具有混合符号,从而扩展了NMF方法的适用范围。我们还考虑了基向量F被约束为数据…

Ubuntu20.04更换镜像源------最简单的教程

本教程适用于:Ubuntu22.04 操作流程 打开终端,运行以下命令: sudo sed -i "shttp://.*archive.ubuntu.comhttps://mirrors.tuna.tsinghua.edu.cng" /etc/apt/sources.list 运行后即完成更改。 如果找不到22.04的镜像&#xff…

海外盲盒APP:加速开拓海外盲盒市场

盲盒是年轻群体消费中增速较快的模式,从前几年起,盲盒就在我国掀起了一股热潮,市场得到了迅速发展。 如今,盲盒经济已经遍布到了全球,尤其是在亚洲地区,盲盒消费呈现出了高速发展态势,在海外市…

支小蜜校园防霸凌系统的具体功能是什么?

在当今社会,校园霸凌问题日益严重,成为影响学生健康成长的一大隐患。为了应对这一问题,许多学校开始引入校园防霸凌系统。这一系统以其独特的功能,为校园安全提供了有力保障,为学生的健康成长创造了良好环境。 校园防…

蓝桥杯单片机快速开发笔记——PCF8591的DAC模拟电压输出

一、原理分析 PCF8591电压信号探测器:http://t.csdnimg.cn/R38tC IIC原理:http://t.csdnimg.cn/v4dSv IIC指令:http://t.csdnimg.cn/RY6yi HC573/HC138:http://t.csdnimg.cn/W0a0U 数码管:http://t.csdnimg.cn/kfm9Y 独…

反序列化动态调用 [NPUCTF2020]ReadlezPHP1

在源代码上看到提示 访问一下看看 代码审计一下 <?php #error_reporting(0); class HelloPhp {public $a;public $b;public function __construct(){$this->a "Y-m-d h:i:s";$this->b "date";}public function __destruct(){$a $this->a;…

编译安装飞桨fastdeploy@FreeBSD(失败)

FastDeploy是一款全场景、易用灵活、极致高效的AI推理部署工具&#xff0c; 支持云边端部署。提供超过 &#x1f525;160 Text&#xff0c;Vision&#xff0c; Speech和跨模态模型&#x1f4e6;开箱即用的部署体验&#xff0c;并实现&#x1f51a;端到端的推理性能优化。包括 物…

上传镜像到仓库

上传镜像到公开仓库 1、给要上传的镜像打标签 # 从206节点上传镜像到仓库&#xff08;201&#xff09;magedu项目&#xff0c;查看206镜像 [rootk8s-node2 ~]# docker images REPOSITORY TAG IMAGE ID CRE…

arp 协议

数据链路层 我们之前学习到的 IP 协议解决的是数据跨网络传输的问题。 数据链路层解决的是&#xff1a;直接相连的主机&#xff0c;进行数据交付的问题&#xff01; 直接相连的设备包括我们的电脑&#xff0c;路由器等等哈&#xff01; 我们在网络基础那篇文章中讲过什么是以…

OneDiff加速“图生生”,解锁电商AI图像处理新范式

2024年&#xff0c;电商领域正目睹生成式AI软件工具的飞速发展&#xff0c;AI Generated Content (AIGC) 技术在电商应用中的普及率正在显著提升&#xff0c;这类技术能够显著提高商业运营的效率&#xff0c;并促进业绩的稳步增长。 硅基流动研发的图片/视频生成推理引擎OneDif…

近线数仓优化改造

近线数仓优化改造 1. 背景2. 优化3. 改造3.1. 重构3.2. 优化 1. 背景 大概就是有那么一个数仓&#xff0c;然后简略结构如下&#xff1a; #mermaid-svg-PVoUzuQhj2BK7Qge {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid…

Linux系统中的软件管理

如何让虚拟机上网 # 1.Linux中软件包的类型 # &#xff08;1&#xff09;DEB #UBlinux DEBlinux &#xff08;2&#xff09;RPM #redhat centOS fadora &#xff08;3&#xff09;bz2|gz|xz #1.需要源码安装需要编译 #2.绿色软件&…

PDFgear:一款免费的PDF编辑、格式转化软件

日常办公中&#xff0c;很多朋友都会接触到PDF文件。把文件转化成PDF是保留文件格式、防范别人修改常用的方法。但是很多人会为PDF文件的生成、压缩、编辑和格式转化而头疼&#xff0c;还有人为了能把PDF转化成Word还购买了不少付费的软件。 为了解决大家这个痛点&#xff0c;…

2024 ccfcsp认证打卡 2023 03 02 垦田计划

import java.util.*;public class Main {public static void main(String[] args) {Scanner input new Scanner(System.in);int N 100100; // 定义一个较大的常数Nlong[] t new long[N]; // 存储任务的耗时long[] c new long[N]; // 存储每块区域投入资源的数量long[] c…

【推导结果】如何得到 回归均方误差 估计系数的标准误

对线性回归模型系数标准差标准误的理解 1.生成数据 yxe3.610.633.42-1.387.631.017.44-1.0111.651.3811.46-0.63 2.回归 y β 0 β 1 x ϵ y \beta_{0}\beta_{1}x\epsilon yβ0​β1​xϵ y i β 0 β 1 x i e i y_{i}\beta_{0}\beta_{1} x_{i}e_{i} yi​β0​β1​xi…

Linux第84步_了解Linux中断及其函数

1、中断号 中断号又称中断线&#xff0c;每个中断都有一个中断号&#xff0c;通过中断号即可区分不同的中断。 2、Linux中断API函数 需要包含头文件“#include <linux/interrupt.h>” 1)、在使用某个中断功能的时候&#xff0c;需要执行“申请中断” int request_irq(…

如何压缩视频到最小?教会你压缩原理~

在网上上传视频时&#xff0c;经常会遇到因为视频体积过大上传失败等情况发生&#xff0c;怎么降低视频体积呢&#xff1f;科普一个小知识&#xff1a;视频体积和视频的时长、编码格式、分辨率和比特率&#xff08;又称码率&#xff09;有关。视频文件大小计算公式&#xff1a;…

掼蛋怎么开牌

一、强牌出单张 1、只有打完小单张&#xff0c;才能争得头游。特别是有两三手小牌&#xff0c;必须要先出掉一两手。 2、首发单张&#xff0c;特别是5以下的小单牌&#xff0c;即先打小牌。表明是强牌。尤其是在贡牌后首发小单牌&#xff0c;属于“明知山有虎&#xff0c;偏向…

13.Java能干什么?以及Java的三大平台

文章目录 一、JavaSE二、JavaME三、JavaEE JAVA从95年以来&#xff0c;已经问世了20多年了&#xff0c;可能比部分同学的年龄还大。 Java到底能干嘛呢&#xff0c;此时就需要讲到Java的三大平台&#xff0c;其实也就是它的三个分类&#xff1a;JavaSE、JavaME、JavaEE。 一、Ja…