当前位置: 首页 > wzjs >正文

专业网站建设全网网络营销

专业网站建设,全网网络营销,官方网站建设哪家公司好,国外教做美食网站第三章 内存 内存基础知识 内存管理概念 内存保护 内存映像 覆盖与交换 内存分配(连续分配方式) 内存分配(动态分配方式) 分页存储管理 进程的逻辑地址空间——页表——内存块——内存的关系 1. 进程拥有独立的进程空间&#xf…

第三章 内存

内存基础知识

image-20250605091536293

内存管理概念

image-20250605092427824

内存保护

image-20250605092457474

内存映像

image-20250605093745083

image-20250605093809827

覆盖与交换

image-20250605095841225

内存分配(连续分配方式)

image-20250605150348046

内存分配(动态分配方式)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

分页存储管理

image-20250607120452687

  1. 进程的逻辑地址空间——页表——内存块——内存的关系
1. 进程拥有独立的进程空间,每一个进程空间也是“页管理”
2. 页表:页号(隐含)+块号。块既对应逻辑空间的页,也对应物理空间的页(内存块)
3. 内存块:在物理空间的“页框”
三者的“页”(最小管理单元)对应,但是大小可能不同。页表更倾向于一种记录型的映射结构注意:页表项并不是和内存块一一对应的
如何实现地址转换

image-20250607122156025

2的整数次幂使得在计算页号和偏移量时更快

逻辑地址转换为物理地址的四件事:
1. 由 逻辑地址 获得页号、页内偏移量
2. 通过 页表 获得 页块
3. 计算 物理地址 = 页块 * 页大小 + 页内偏移量
注意:由于 乘法 的效率很低,所以当使用 2 的整数次幂时,会发现,在 32 位计算机中,页大小为 4KB = 2的12次方,因此,32位的前20位为整数位(页号),后12位为余数位(页内偏移量)的二进制表示。因此可以更快的拆分出 页号 + 页内偏移量

image-20250607123536667

页表寄存器:存储 页表 的 页表起始地址 和 页表长度(一种基于内存的地址变换机构)

页表项大小的进一步探讨:

image-20250607124507860

具有快表的地址变换结构:(基于 cpu高速缓存)

image-20250607125235598

访存:访问内存(查询慢表、目标内存单元速度相同)

两级页表

image-20250607130754815

这里其实说的是:页表结构也需要存在内存中,每一个页表很大,一个页表项一般为4kb,一般页表大小为2的20次方个页表项。一个内存块就是一个页面但是:如果整个页表都存在内存中,就需要一段很大的连续内存,而且可能产生页内碎片。这与我们离散型存储的思想相悖。所以我们对页表页进行离散式的存储。设置二级页表,用于记录 页表号、内存块号。根据页表号找到对应的内存块。然后就是典型的单级页表的查询方式了。这样情况下,原先的地址,比如32位:前10位为 页表号,中间10位为 页号,后面11位 为页内偏移量

image-20250607131642889

总结:

image-20250607132130287

分段存储管理

分段和分页的对比

image-20250607140816788

image-20250607141117350

段页式管理方式

image-20250607141621512

image-20250607141823710

虚拟内存

image-20250608123850379

请求分页管理方式

image-20250608125317462

页面置换算法

目的:选择换出哪个页面。尽量降低缺页率。

缺页率 = 缺页次数 / 整体请求页数量

最佳置换算法(opt)

简单的说,就是换出长时间不会被访问的页面。(理想化:因为不能预知之后要使用的页面序列)

性能最好(条件:可预知)

image-20250608130349422

先进先出置换算法(FIFO)

算法性能最差

image-20250608130829606

最近最久未使用置换算法(LRU)

image-20250608131114615

时钟置换算法(CLOCK)

image-20250608132538966

页面分配策略

image-20250608133429621

何时调入?

image-20250608134525377

何处调入?

image-20250608134747275

工作集:为了解决抖动(颠簸)现象

抖动(颠簸)现象:页面频繁换入换出的现象。主要原因:分配给进程的物理块不够

image-20250608135051658

image-20250608135107659

内存映射文件

image-20250608140843027

操作系统内存管理总结

一、内存管理概述

  • 核心目标:高效、安全地分配和管理内存资源,提升内存利用率,保障多进程间内存隔离与数据安全。
  • 关键功能:内存分配与回收、内存保护、地址映射、内存扩充(虚拟内存技术)。

二、内存管理基本技术

(一)连续分配管理方式

  1. 单一连续分配
    • 特点:内存分为系统区和用户区,仅允许单个用户进程运行。
    • 优缺点:实现简单,但内存利用率极低,仅适用于单道程序环境。
  2. 固定分区分配
    • 特点:将内存划分为若干固定大小的分区,每个分区可装入一个进程。
    • 优缺点:支持多道程序,存在内部碎片(分区内未被利用空间),分区大小固定导致大进程无法装入。
  3. 动态分区分配(可变分区分配)
    • 特点:根据进程实际需求动态划分内存分区,分区大小随进程变化。
    • 内存分配算法
      • 首次适应算法:从低地址开始查找第一个足够大的空闲分区,简单高效,易产生碎片。
      • 最佳适应算法:选择与进程大小最接近的空闲分区,易产生大量微小碎片。
      • 最坏适应算法:选择最大的空闲分区,减少碎片但可能导致大分区被分割。
    • 优缺点:无内部碎片,但存在外部碎片(分散的小空闲分区),需紧凑技术(内存移动合并碎片)辅助。

(二)非连续分配管理方式

  1. 分页存储管理
    • 基本思想:将内存和进程划分为大小相等的页(内存物理块)和页框,通过页表实现逻辑地址到物理地址的映射。
    • 关键概念
      • 页号:逻辑地址高位,对应页表索引。
      • 页内偏移量:逻辑地址低位,确定页内具体位置。
      • 页表:记录页号与物理块号的映射关系,存于内存,查询需一次访存。
    • 优缺点:无外部碎片,内存利用率高,支持虚拟内存;存在页内碎片(每页最后部分可能未被利用),地址转换开销较大。
  2. 分段存储管理
    • 基本思想:按程序逻辑结构(如代码段、数据段、栈段)划分为若干段,每段有独立段名和长度,通过段表映射逻辑段到物理内存。
    • 关键概念
      • 段号:逻辑地址高位,标识段类型和功能。
      • 段内偏移量:逻辑地址低位,确定段内具体位置。
      • 段表:记录段号、段长和基址,检查偏移量是否越界(段内偏移量≤段长)。
    • 优缺点:便于程序模块化设计和共享,支持动态链接;存在外部碎片,地址转换需两次访存。
  3. 段页式存储管理
    • 基本思想:结合分段和分页,先将进程分为若干段,每段再划分为若干页,通过段表和页表实现两级地址映射。
    • 地址转换过程:逻辑地址→段表(查段对应的页表基址)→页表(查页对应的物理块号)→物理地址,需三次访存(引入快表可加速)。
    • 优缺点:兼具分段和分页优势,减少碎片,支持动态链接和共享;结构复杂,地址转换开销大。

三、虚拟内存技术

(一)核心思想

  • 基于局部性原理(进程在一段时间内集中访问部分区域),允许进程仅装入部分页面 / 段到内存,其余数据存于外存,运行时按需调入(请求调页 / 段),实现 “内存不足时运行大程序” 的效果。

(二)关键技术

  1. 请求分页存储管理

    • 与分页的区别:页表增加状态位(是否在内存)、访问位(记录访问频率)、修改位(是否被修改),支持缺页中断(进程访问不在内存的页时触发,调入页面)。

    • 页面置换算法

      :当内存无空闲块时,选择淘汰页面的策略。

      • 最佳置换算法(OPT):理论上最优,淘汰最远将来才使用的页,无法实现,用于性能对比。
      • 先进先出算法(FIFO):淘汰最早进入内存的页,可能产生 “Belady 现象”(增加物理块数反而使缺页率上升)。
      • 最近最久未使用算法(LRU):淘汰最长时间未访问的页,需记录页访问时间,硬件成本高(可用寄存器或栈实现近似算法)。
      • Clock 算法(最近未使用算法,NRU):通过访问位标记页是否被访问,淘汰未被访问的页,简单高效。
  2. 请求分段存储管理:类似请求分页,增加段的状态位和缺段中断,支持段的动态增长和共享。

(三)内存扩充效果

  • 逻辑地址空间远大于物理内存空间,提升多道程序并发度,但需注意缺页 / 段率过高导致的 “抖动”(频繁内外存交换,系统性能急剧下降)。

四、内存保护机制

  • 目的:防止进程越权访问或破坏其他进程 / 系统内存数据。
  • 实现方式
    • 界限寄存器:设置上下界寄存器,检查进程访问地址是否在合法范围内。
    • 存储键与访问权字节:内存块分配存储键,进程持访问权字节(密钥),匹配则允许访问。
  • 与地址映射结合:在地址转换过程中同步检查访问权限,确保安全。

五、总结对比

管理方式连续 / 非连续主要碎片类型典型应用场景
单一连续分配连续无(仅单进程)早期单用户系统(如 DOS 雏形)
固定分区分配连续内部碎片简单多道程序系统(如早期批处理系统)
动态分区分配连续外部碎片需动态适应进程大小的系统(需紧凑技术)
分页管理非连续页内碎片(内部)现代操作系统基础(如 Linux 内存管理基础)
分段管理非连续外部碎片支持程序模块化的系统(如早期 UNIX)
段页式管理非连续页内碎片复杂系统(如 Windows 早期版本)
虚拟内存(请求分页 / 段)非连续页内碎片 + 外部碎片(通过置换算法缓解)多任务、大程序运行的现代系统(如 Linux、Windows)

重点总结:内存管理围绕 “高效分配、安全隔离、虚拟扩充” 展开,连续分配简单但碎片问题严重,非连续分配(分页 / 分段)是主流,虚拟内存技术突破物理内存限制,保护机制确保系统稳定。不同场景需权衡碎片、性能和实现复杂度选择合适方案。

http://www.dtcms.com/wzjs/145533.html

相关文章:

  • 做网站需要技术百度网址安全中心
  • php做网站用html做吗长春百度网站快速排名
  • 做网站写代码怎么样宁波seo关键词排名
  • 17网站一起做网店普宁轻纺城做个电商平台要多少钱
  • 天津哪家网站设计公司好企业百度推广怎么收费
  • 如何做一网站首页百度关键词挖掘查排名工具
  • 广西执业药师培训网站seo咨询
  • 哈尔滨视频制作公司泉州seo网站排名
  • 专门做ppt的网站名称网站推广公司哪家好
  • 做直播导航网站泉州搜索推广
  • 门户网站建设管理总则app营销
  • 手机价格网站建设网站提交收录软件
  • 动易政府网站源代码鱼头seo软件
  • 三五互联网站建设垃圾网络营销策略案例
  • 品牌设计公司是做什么的seo排名培训
  • 网站制作软件手机it培训机构培训费用
  • 做商品网站的教学视频seo实战指导
  • 福州企业做网站百度老年搜索
  • 孝感市建设局网站seo网站优化详解
  • 政府门户网站建设论文网络营销推广计划
  • 网络代理修复怎么解决杭州seo优化
  • 功能网站首页模板站长工具友链检测
  • 茶叶网站建设模板百度竞价开户3000
  • 广东手机网站建设价格阿里巴巴logo
  • 张家港市规划建设网站做微商如何引流推广怎么找客源
  • 网站两个域名网络推广营销方式
  • 绿色大气网站百度网站排名搜行者seo
  • 专业做破碎机的网站怎么引流推广自己的产品
  • 郑州市建设局网站指数计算器
  • 免费的ppt下载网站网站搜索优化找哪家