最新要闻
- 当前速读:女子厨房接水时速热水龙头突然爆炸冒白烟:爆炸声堪比雷响
- 【天天时快讯】特斯拉Model 3追尾公交1死1伤 事故已影响销售:网友关心刹车问题
- 全球快资讯丨女子屋内湿度表1年数值不变 好奇拆下检查后无语:还以为是坏的
- 曾经很火但消失了的APP!网友第一个想到的是”腾讯微博“
- 环球即时:女子入住网红酒店发现床垫有尿渍:满房一股味
- 防AI越界!微软将出手:把必应聊天回复限制在5条以内
- 天天热文:全球最高安全标准 我国自研华龙一号技术:太平岭核电预计2025年投产发电
- 天天热资讯!挑战全网最土的“公主下午茶” 让人看饿:网友感慨羞辱多少爱装腔作势人
- 每日消息!称霸意甲的非洲新一代神锋,奥斯梅恩正在征服足坛
- 让NV对30系显卡降价不可能!厂商清仓RTX 3080:2年后价格重回首发价
- 全球观速讯丨《文明6》已玩腻 等了7年的《文明7》官宣:主管大换血
- 【世界独家】全天候显示能掉多少电?iOS 16.4告诉你
- 环球观速讯丨公司回应要求员工扫厕所:这是福利 每月有几十元奖励
- 焦点日报:冲击40亿有望!《流浪地球2》累计票房已超38亿
- 女子情人节翻垃圾桶捡到金链:最后被前主人要回 网友热议
- 观天下!假的!马斯克否认修改算法推荐自己帐号 将追责说谎员工
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
当前简讯:期末复习——内存管理
内存管理
为什么要进行内存管理?对单道系统来说,内存分配较简单。对多道系统,如果不进行管理,容易导致数据混乱。
- 内存两部分
- 用于驻留OS:低地址内存空间
- 用于用户进程:高地址OS对内存的划分和动态分配。因为不可能把所有用户进程和系统所需的资源、数据放入内存,需要对内存空间进行合理划分和动态管理。
- 内存管理主要功能:
- 内存空间分配、回收
- 地址转换,LA-->PA,虚拟地址-->物理地址
- 内存空间扩充。在逻辑上
- 内存共享
- 存储保护。
背景知识
逻辑地址空间、物理地址空间
ps.逻辑地址、虚拟地址不区别。32位系统,虚拟地址范围 0到232-1CPU生成地址:逻辑地址LA,内存单元看到的是物理地址PA(加载到内存地址寄存器的地址),用户程序看不到真实的PA,只是处理LA。不同的进程可以有相同的LA,因为映射到不同的PA上,不冲突。
- LA-->PA映射:由内存管理单元 MMUMemory-Management Unit进行地址重定位
- 基地址寄存器:重定位寄存器,交给内存的地址=用户进程生成的地址+基地址寄存器的值(重定位寄存器的值)
动态加载
获得更好的内存空间利用率,程序A只有调用时才加载到内存中,所有程序都以可重定位加载格式保存在磁盘中。
(资料图片仅供参考)
- 调用一个程序过程:
- 判断程序是否已加载到内存
- 在内存中,执行
- 不在,利用可重定位链接程序加载到内存,更新程序地址表。
- 判断程序是否已加载到内存
动态链接、共享库
程序的链接、装入
- 编译:编译完成后,所有目标模块地址都是从0开始的相对地址,链接时对其进行修改。
- 链接:把一组目标模块and其库函数链接在一起-->完整的装入模块。有3种方式。
- 静态链接:程序运行前,把各个目标模块和其库函数链接成一个完整的装配模块(①修改相对地址、②变换外部调用符号:模块里用的外部符号改成相对地址),之后不再拆开。
- 装入时动态链接:边装入内存边链接,便于修改更新and实现对目标模块的共享。
- 运行时动态链接:程序执行过程中进行。
- 装入内存:3种方式
- 绝对装入:只适用于单道程序环境。使用绝对地址。
- 可重定位装入静态重定位:装入时一次完成地址的重定位。ps多道程序条件下,多目标模块都是用相对地址(各自从0开始)。
- 动态运行时装入动态重定位:程序在内存中发生移动需要采用这个做法。装入时都还是相对地址。到真正运行时才转换。
- 可以把程序分配到不连续的存储区。
内存保护
每个用户进程都有自己的单独的内存空间,所以要保护OS不受用户进程的影响,保护用户进程之间不相互影响。
- 两种措施:
- 在CPU中设置一对(上限寄存器,下限寄存器),每次访问一个地址时,利用这对寄存器判断地址是否合法。
- 采用重定位寄存器(基地址寄存器)Base最小PA-plus 和 界限寄存器 最大LA-compare。
- 判断CPU存的LA<界限寄存器值。若否则错误;
- 小于则加 CPU寄存器地址+重定位Base = PA
- 根据这个PA访问对应的内存单元。
覆盖与交换
主要针对同一进程,同一程序。早期计算机系统的内存很小,把用户空间分成1固定区(常活跃),多个覆盖区(可覆盖)。
交换
对不同进程、不同程序之间的操作。增加多道程序程度。现代OS已不适用,使用其变种。
- 换出:处于等待的程序(等待I/O的不可)从内存移入备份存储(辅存),腾出内存空间。
- 换入:准备好竞争CPU的程序从备份存储移入内存中。
- 备份存储:通常是快速磁盘,要足够大,独立于文件系统。且提供对这写内存映像的直接访问。
变种:正常情况禁止交换。①内存空闲过低时启用交换/②交换进程的一部分,降低交换时间。
- 移动设备通常不支持交换。使用闪存。
1. 连续内存分配
早期方法。一个进程的空间是连续的。
- 单一连续分配:内存(系统区 低地址/用户区 高地址),用户区只有一个用户程序独占。无外部碎片,有内部碎片,不需要内存保护,利用率低。
- 固定分区分配:用户内存空间划分成固定大小的区域,每个分区装一道作业。有空闲区域时装入新作业。有内碎片,无外碎片。
- 分区大小相等:缺乏灵活性
- 分区大小不等
- 动态分区分配:分区大小正好适合进程需要,动态分配。有外碎片,无内碎片。可以用紧凑技术减少外部碎片。
碎片
- 内部碎片:分配给进程的这个块的大小-进程自身大小。分区内部多余部分。
- 外部碎片:多个进程之间的空隙大小,因为不连续。用紧缩技术解决。
动态分区分配算法
性能:首次≈最优适应>最差适应。
- 首次适应法:空闲的孔中,第一个满足的。较快
- 最优适应法:刚好装入。
- 最差适应:分配最大的孔。-->产生最大剩余孔。
2. 分段 segment
产生外碎片、无内碎片。段内连续,段间不必连续。段的长度由实际需求决定,不固定。
- CPU存的地址格式:段的LA表示:<段号,偏移>
- 一个C语言程序的段
- 代码段
- 全局变量段
- 堆
- 每个线程使用的栈
- 标准C语言库
地址映射
- 通过段表实现:利用段号索引(CPU的LA=<段号s,段偏移d>)
- 段基地址:这个段的其实地址
- 段界限:这个段的大小or长度,要判断段偏移d是否<段界限,超出了就是非法。
段号 | 段界限 | 段基地址 |
---|---|---|
0 | 1000 | 1400 |
1 | 400 | 6300 |
2 | 400 | 4300 |
3 | 1100 | 3200 |
4 | 1000 | 4700 |
- 例CPU<3,852>:合法,PA=3200+852=4052
- 计算各个段的PA:
- 段0:1400-2400
- 段1:6300-6700
- 段2:4300-4700
- 段3:3200-4300
- 段4:4700-5700
3. 分页 page
无外碎片、有内碎片。
- 帧/页帧 frame:将物理内存分成固定大小的块
- 页/页面 page:将逻辑内存分成同样大小的块。
一级分页
- 一般每页大小为4KB=212,需要20位做页偏移n。32位机器上,页号有32-12=20位。(m-n)位页号,说明在系统中,一个进程最多允许有2m-n个页面,总物理内存可以更大。
- 在m=32位机器上,CPU存储的LA格式:
31 12|11 0|页号|页偏移量|
- LA映射到PA:PA=
页号*页大小+页偏移
- 一个页表:页表项:(页号)<帧号>。举例(LA 4位=2+2)页号隐藏!!!!
页号 | 页基地址 |
---|---|
0 | 5 |
1 | 6 |
2 | 1 |
3 | 2 |
- LA=0 PA=?
- 方法1:5D 00B= 20D
- 方法2:(5X4)+0=20
- LA=3 PA=?LA=0011,PA=(5X4)+3=23
页表项下限定几B?(页号)<帧号> //页号不用存e.g.32位逻辑地址空间 => 232B,一页4KB地址空间有 232B/4KB=1M页=220页,需要20位表示全范围。同时是字节作编址单位:页表项>=ceil(20/8)=3B
TLB 快表
因为页表一般都比较大,放在物理内存中。这样在访问字节时,要访问两次物理内存(①物理内存中找到页表,访问页表条目得知物理帧号 ②计算完之后访问具体位置取出数据)so slow,于是在MMU中存一块页表缓存,TLB存储一些页表项,LA-->PA过程先利用TLB查找↓
- 利用TLB-->1次TLB+(1次内存)+1次物理地址访问=1or2次物理内存访问
- TLB命中。帧号可用,计算完访问物理内存。
- TLB不命中。访问页表,按照特定算法淘汰一个旧页表项。访问TLB比内存里的页表项更快了。
分层分页页表
二级页表
顶级页表只能有1面
- 假设32位机器页面4KB=212,每项32b=4B顶级页表最多存储(4KB/4B)=1K=210条,要用到10位地址。
- 32(总)-12(页偏移)-10(顶级页表占用) = 10b分给二级页号两层。。三层目录-->目录2-->目录...-->帧号
哈希页表
处理大于32位地址空间的常用方法。
- 哈希值:页码(虚拟页码)
- 哈希表:哈希表项都包含一个链表
- 链表中每个元素包含:虚拟页码,映射的帧码,
*ptr->next
- 链表中每个元素包含:虚拟页码,映射的帧码,
- 机制:LA的虚拟页码指向哈希表。在对应链表中寻找自己的node结点,用帧码得到PA。
倒置页表
整个系统只有一个页表,减少了存储页表所需的内存空间,但是增加查找时间。
- 通常情况:每个进程都有一个页表,每个虚拟页都有自己的页表项。缺点:但这样页表很大,耗费很多物理内存。
- 倒置页表:每个条目对应真正内存位置上的页的LA,一个物理页只有一个条目。
- LA=<进程id,页码,偏移>倒置页表HASH=<进程id,页码>
有效内存访问时间
100ns访问内存,利用TLB,命中率80%
- 命中:访问内存时间 = 100ns
- 不命中:访问内存时间=200ns
- 有效内存访问时间 =
100*0.8 + 200*0.2 = 120ns
分页机制下内存保护
保护位
通过与每个帧关联的保护位实现,通常保存在页表中。一个位定义页的可读/可写,计算物理地址时通过保护位检查有没有越权操作。
有效位
捕捉非法地址,
- 有效:这一页在进程的逻辑地址空间中,有效页
- 无效:不在进程的逻辑地址空间内。例进程对应着0-5页,现试图访问第6页,(有效位)=无效,OS报错:非法访问。
4. 段页式管理
一个段表--多个页表。
- 作业地址空间分成若干逻辑段,有自己的段号
- 每段再分成若干页
- 每个进程一张段表,段表项<段号,页表长度,页表初始地址>
- 每个分段一张页表,页表项<页号,帧号>
- LA结构:<段号s,页号p,页内偏移量>
- 页内偏移量由页面大小决定
-
报道:django连接ubuntu22下的mysql8
1 安装mysql(这里就不过多赘述了)sudoapt-getinstallmysql-server2 登录mysql(1)在根目录 etc mysql debian cnf,使用默
来源: 当前简讯:期末复习——内存管理
报道:django连接ubuntu22下的mysql8
打造自己的ChatGPT:逐字打印的流式处理
从矩阵的谱半径到神经网络梯度消失
当前速读:女子厨房接水时速热水龙头突然爆炸冒白烟:爆炸声堪比雷响
【天天时快讯】特斯拉Model 3追尾公交1死1伤 事故已影响销售:网友关心刹车问题
全球快资讯丨女子屋内湿度表1年数值不变 好奇拆下检查后无语:还以为是坏的
世界时讯:【JS】Pug调用自定义JS函数
头条:Java正则匹配域名白名单
曾经很火但消失了的APP!网友第一个想到的是”腾讯微博“
环球即时:女子入住网红酒店发现床垫有尿渍:满房一股味
防AI越界!微软将出手:把必应聊天回复限制在5条以内
天天热文:全球最高安全标准 我国自研华龙一号技术:太平岭核电预计2025年投产发电
天天热资讯!挑战全网最土的“公主下午茶” 让人看饿:网友感慨羞辱多少爱装腔作势人
【新要闻】组合数学_第1章_排列与组合
每日消息!称霸意甲的非洲新一代神锋,奥斯梅恩正在征服足坛
让NV对30系显卡降价不可能!厂商清仓RTX 3080:2年后价格重回首发价
全球观速讯丨《文明6》已玩腻 等了7年的《文明7》官宣:主管大换血
环球关注:tui.editor一款功能强大的markdown编辑器
热消息:关于python中将字典的所有key组成一个列表的方式
【环球报资讯】Cesium CallbackProperty(十五)
【世界独家】全天候显示能掉多少电?iOS 16.4告诉你
环球观速讯丨公司回应要求员工扫厕所:这是福利 每月有几十元奖励
焦点日报:冲击40亿有望!《流浪地球2》累计票房已超38亿
女子情人节翻垃圾桶捡到金链:最后被前主人要回 网友热议
全球速读:【算法训练营day48】LeetCode198. 打家劫舍 LeetCode213. 打家劫舍II LeetCode337. 打家劫舍III
GitHub 入门 与 2023年2月18日10:29:02
观天下!假的!马斯克否认修改算法推荐自己帐号 将追责说谎员工
环球微动态丨颠覆性创新 潍柴全球首发大功率SOFC燃料电池:研发花了20亿
环球新资讯:学习笔记——尚好房项目的数据库建表文件
VirtualBox 配置虚拟机 Host-only 和 Nat
世界百事通!win系统提示请插入多卷集的最后一张磁盘解决方法
第三章 计算机进行小数运算时出错的原因
全球聚焦:北江纺织:拟冲刺上交所IPO上市,预计募资4.22亿元,近年综合毛利率逐年下降
【环球速看料】五菱会玩!城市玩乐潮品SUV悦也“小书包”是块屏:可自定义内容
天天看点:打造名族品牌!杨元庆:联想核心生产制造还是立足中国
天天快播:[数据结构] AVL树
全球头条:超越GPS主导国内导航定位 北斗日定位量超3000亿次
焦点简讯:努比亚Z50 Ultra保护壳泄漏:后置摄像模组巨大无比
全球快看:院士称我国已经具备ChatGPT算力基础 关键在如何爆发
全球新消息丨工作至死:日本789万老人还在打零工
资讯:菲律宾一飞机早上起飞后失联:近期第二起
(数据库系统概论|王珊)第四章数据库安全性:习题
快播:橙色奶油冰淇淋层蛋糕食谱
世界要闻:精装版吉利星越L?领克DX11最新谍照曝光:首上魅族车机
天天消息!秒美国资费!每月198 还能更便宜:我国千兆宽带将全面普及 第二批城市名单来了
焦点报道:java便捷的word导出工具(officejj)
当前观点:关于 The River All Red (Tr.许渊冲) 的一点感想
高尔夫美女参战《蚁人3》
网友曝光《狂飙》拍摄地有人竖牌“拍视频5元1次”:官方回应来了
天天精选!三亚去世侏儒抹香鲸被解剖:胃内有大量塑料/线虫 导致无法进食
4.打包子应用 投票
环球今日讯!极兔一面:10亿级ES海量搜索狂飙10倍,该怎么办?
一文让你彻底了解ChatGPT
焦点快看:要控制人类节奏!聊天机器人爱上用户并诱其离婚 微软出手限制了
年制绿氢3万吨、绿氧24万吨!我国全球最大绿氢项目开工
刘强东完了!章泽天官宣喜讯,被出轨4年。网友:这反击漂亮!
环球观点:数据结构刷题2023.02.18小记
环球精选!特斯拉追尾公交致1死 车主呼吁放开单踏板模式:为何老是失控?这是原因
环球资讯:1986年拍摄的泰坦尼克号残骸视频首次公开:残骸尺寸巨大
当前滚动:如何保存石榴
当前观点:iPhone 15 Pro CAD渲染图对比iPhone 14 Pro:改用USB C端口、相机更凸起、边框更窄
今日热门!渔民出海偶遇100多只海豚逐浪嬉戏:场面很美很壮观
苹果iOS 16.4首个公测版发布:普通用户将告别测试版
天天观焦点:油电平价!比亚迪秦PLUS DM-i 2023冠军版杀疯了:9.98万就能买DM-i超级混动
start+up韩剧在线观看_start up
环球快消息!女子不吃碳水半年狂减46斤 结果脱发、怕冷:治了半年
时讯:老黄厨房新菜来了 NVIDIA确认GTC 2023大会3月20日开幕
环球观天下!为什么这年头是个人就能造车?这事真就没门槛?
比半张A4纸还小 惠普1L迷你主机实测:3050 Ti独显给力
环球头条:iPhone安装不了第三方App?没关系它会出手!
世界简讯:咬牙耳朵里面疼怎么办_耳朵外轮廓疼怎么办
当前简讯:《星际2》冠军为孙哥黄哥剃光头:“卤蛋”情绪稳定
Vue急速入门-4
python项目中的“填坑”记录
自命为缓存之王的Caffeine(6)
MyBatis-Plus (SpringBoot2 版) Learning Day01
百事通!河南安阳一楼盘推出0首付0月供购房,这是什么操作?
交个朋友陷恶意裁员风波 没有了罗永浩还能走多远
世界快资讯丨口碑又崩了 漫威大片《蚁人3》豆瓣开分6.4:量子力学也带不动
【世界快播报】红旗接入百度AI文心一言 打造国产豪车品牌标杆
【当前独家】物理老师用《塞尔达传说:荒野之息》讲解小船过河原理:林克听了都说好!
世界头条:144MB缓存游戏神U!锐龙9 7950X3D跑分首曝:果然不出所料
每日热门:小米13 Ultra渲染图曝光:中分造型四摄
世界观热点:剪绳子问题 之动态规划 及 大数越界情况下的求余问题
千万小心二手RTX 20显卡!新套路出现:黑片秒变白片
日本MRJ刚失败 印度也要自研国产飞机:可载100人
女子第一次打到无人驾驶网约车:十分激动
每日热门:支持30+种中外语言!搜狗输入法力挺麒麟OS
世界微头条丨网站设计师招聘_网站设计师
世界热点!3、TreeMap源码解析
每片5.5元!绿联苹果钢化膜促销:适用iPhone 14/13/12系列
每日视讯:河南发布电动车佩戴头盔规定草案:未戴拒不改正罚20元
全球观天下!苦等3年微软终于点头:苹果M1/M2 Mac正式支持运行Win11
天天短讯!李荣浩新歌《乌梅子酱》火了!乌梅子酱淘宝搜索量暴涨200倍
新资讯:1999元!小米米家智能除湿机50L发布:100平除湿 梅雨季不怕了
当前信息:阿里一面:谈一下你对DDD的理解?2W字,帮你实现DDD自由
看热讯:关于ChatGPT,我们到底在担心什么?
【世界新要闻】在centos stream 9上搭建k8s最新版本(当前:v1.26.1)集群环境
【环球热闻】云原生学习作业8