操作系统教材第6版——个人笔记5

news2024/11/26 20:25:38

3.2 单连续分区存储管理

3.2.1 单连续分区存储管理

单连续分区存储管理

  • 每个进程占用一个物理上完全连续的存储空间(区域)
  • 单用户连续分区存储管理
  • 固定分区存储管理
  • 可变分区存储管理

单用户连续分区存储管理

  • 主存区域划分为系统区与用户区
  • 设置一个栅栏寄存器界分两个区域,硬件用它在执行时进行存储保护
  • 一般采用静态重定位进行地址转换 硬件实现代价低 适用于单用户单任务操作系统,如DOS

单用户连续分区存储管理示意

静态重定位:在装入一个作业时,把该作业中程序的指令地址和数据地址全部转换成绝对地址

固定分区存储管理的基本思想

  • 支持多个分区
  • 分区数量固定
  • 分区大小固定
  • 可用静态重定位
  • 硬件实现代价低
  • 早期OS采用

固定分区方式的主存分配 

固定分区方式的地址转换

  • 硬件实现机制与动态重定位

可变分区存储管理概述

  • 固定分区存储管理不够灵活,既不适应大尺寸程序,又存在内存内零头,有浪费
  • 能否按照进程实际内存需求动态划分分区,并允许分区个数可变
  • 这就是可变分区存储管理

3.2.2 可变分区存储管理

可变分区存储管理

  • 按进程的内存需求来动态划分分区
  • 创建一个进程时,根据进程所需主存量查看主存中是否有足够的空闲空间
  • 若有,则按需要量分割一个分区
  • 若无,则令该进程等待主存资源
  • 由于分区大小按照进程实际需要量来确定,因此分区个数是随机变化的

可变分区方式的内存分配示例

可变分区方式的主存分配表

 可变分区方式的内存分配

最先适应分配算法

邻近适应分配算法

最优适应分配算法

最坏适应分配算法

可变分区方式的内存回收

地址转换与存储保护

可变分区方式的内存零头

固定分区方式会产生内存内零头 #固定--内存内零头

可变分区方式也会随着进程的内存分配产生一小的不可用的内存分区,称为内存外零头 #可变--小不可用内存分区

最优适配算法最容易产生外零头 #最优--外零头

任何适配算法都不能避免产生外零头

移动技术(程序浮动技术)

移动技术的工作流程

3.3 页式存储管理

3.3.1 页式存储管理的基本原理

页式存储管理的基本原理

  • 分页存储器将主存划分成多个大小相等的页架
  • 受页架尺寸限制,程序的逻辑地址也自然分成页
  • 不同的页可以放在不同页架中,不需要连续
  • 页表用于维系进程的主存完整性

页式存储管理中的地址

  • 页式存储管理的逻辑地址由两部分组成,页号和单元号 #逻辑=页号+单元号
  • 页式存储管理的物理地址也有两部分组成:页架号和单元号 #物理=页架号+单元号
  • 地址转换可以通过查页表完成

页式存储管理的地址转换思路

页式存储管理的内存分配/去配

页的共享

页式存储管理能够实现多个进程共享程序和数据数据共享: #多进程共享程序数据

不同进程可以使用不同页号共享数据页程序共享: #不同页号共享数据页程序

不同进程必须使用相同页号 #不通进程必须同页号

共享代码页共享代码页中的(JMP )指令,使用不同页号是做不到

3.3.2 页式存储管理的地址转换

页式存储管理的地址转换代价

  • 页表放在主存: 每次地址转换必须访问两次主存 #页表>>主存--访问两次主存
  • 按页号读出页表中的相应页架号 #页号>>页表中页架号
  • 按计算出来的绝对地址进行读写
    • 存在问题:降低了存取速度
    • 解决办法:利用Cache存放部分页表

页式存储管理的快表

  • 为提高地址转换速度,设置一个专用的高速存储器,用来存放页表的一部分
  • 快表:存放在高速存储器中的页表部分
  • 快表表项:页号,页架号
  • 这种高速存储器是联想存储器,即按照内容寻址,而非按照地址访问 #块表--联想存储器--内容寻址--存储页表部分

引入快表后的地址转换代价

  • 采用快表后,可以加快地址转换速度
  • 假定主存访问时间为200毫微秒,快表访问时间为40毫微秒,查快表的命中率是90%,平均地址转换代价为 (200+40) *90%+(200+200+40)*10%=260毫微秒
  • 比两次访问主存的时间(400毫微秒)下降了35%

基于快表的地址转换流程

  • 按逻辑地址中的页号查快表
  • 若该页已在快表中,则由页架号和单元号形成绝对地址 #页在快表---页架号单元号=绝对地址
  • 若该页不在快表中,则再查主存页表形成绝对地址,同时将该页登记到快表中 #不在块表--查主存页表=绝对地址---登记块表
  • 当快表填满后,又要登记新页时,则需在快表中按一定策略淘汰一个旧登记项

多道程序环境下的进程表

多道程序环境下的地址转换

3.3.3 页式虚拟存储管理

页式虚拟存储管理的基本思想

  • 把进程全部页面装入虚拟存储器,执行时先把部分页面装入实际内存,然后,根据执行行为,动态调入不在主存的页,同时进行必要的页面调出
  • 现代OS的主流存储管理技术 首次只把进程第一页信息装入主存,称为请求页式存储管理

页式虚拟存储管理的页表

页式虚拟存储管理的实现

CPU处理地址

若页驻留,则获得块号形成绝对地址 #页驻留,块号形成绝对地址

若页不在内存,则CPU发出缺页中断 OS处理缺页中断 #页不在内存,缺页中断

若有空闲页架,则根据辅存地址调入页,更新页表与快表等

若无空闲页架,则决定淘汰页,调出已修改页,调入页,更新页表与快表

页式虚拟存储管理的地址转换

缺页中断的处理流程

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

搜索与图论:有向图的拓扑序列

搜索与图论&#xff1a;有向图的拓扑序列 题目描述参考代码 题目描述 输入样例 3 3 1 2 2 3 1 3输出样例 1 2 3 参考代码 #include <cstring> #include <iostream> #include <algorithm>using namespace std;const int N 100010;int n, m; int h[N], e…

城镇污水处理设施运维服务认证

初次申请认证时需提交的文件/资料 1、通用文件/资料(证明文件复印件需签字盖公章) ☐ 营业执照复印件、统一社会信用代码/组织机构代码证复印件 ☐ 增值税一般纳税人资格证复印件&#xff0c;或其他增值税一般纳税人资格认定文件复印件 ☐ 资质 或 许可证 复印件&#x…

Mac屏幕截图软件

一、简介&#xff08;有小伙伴留言说想要mac的屏幕截图软件&#xff0c;今天给大家分享一个还不错的&#xff09; 1、一个功能丰富的功能丰富的截图工具&#xff0c;具有许多高级功能&#xff0c;免费。用于快速拍摄并将它们组织成集合。Snappy还支持注释&#xff0c;共享&…

基于Vue的前端瀑布流布局组件的设计与实现

摘要 随着前端技术的不断演进&#xff0c;复杂业务场景和多次迭代后的产品对组件化开发提出了更高的要求。传统的整块应用开发方式已无法满足快速迭代和高效维护的需求。因此&#xff0c;本文将介绍一款基于Vue的瀑布流布局组件&#xff0c;旨在通过组件化开发提升开发效率和降…

免费插件集-illustrator插件-Ai插件-文本对象合并

文章目录 1.介绍2.安装3.通过窗口>扩展>知了插件4.功能解释5.总结 1.介绍 本文介绍一款免费插件&#xff0c;加强illustrator使用人员工作效率&#xff0c;进行文本对象合并。首先从下载网址下载这款插件 https://download.csdn.net/download/m0_67316550/87890501&…

树莓派与 Hailo 合作推出 AI套件

Raspberry Pi 与 Hailo Raspberry Pi 与 Hailo 公司合作开发&#xff0c;推出了一款售价 70 美元的扩展套件 它提供了一种便捷的方法&#xff0c;可将本地高性能、高能效推理集成到各种应用中&#xff0c;适用于 Raspberry Pi 5。 Raspberry Pi AI Kit 搭载了最新发布的 Ras…

k8s牛客面经篇

k8s的pod版块: k8s的网络版块: k8s的deployment版块: k8s的service版块: k8s的探针板块: k8s的控制调度板块: k8s的日志监控板块: k8s的流量转发板块: k8s的宏观版块:

PyQt5学习系列之基础知识“字典”

PyQt5学习系列之基础知识——字典” 啰嗦字典使用字典取值与赋值其他使用 总结 啰嗦 在项目中使用到解析数据存放在字典中&#xff0c;对字典中的数据进行数据转化。即需要使用到字典&#xff0c;并对字典中的数据取值。 字典 一种可变容器模型存储任意类型对象每个键值对&am…

德勤:税务合规要求下的税务技术应用分析

随着全球税务环境的不断变化&#xff0c;企业面临的税务合规压力日益增加。为应对复杂的税务法规和合规要求&#xff0c;企业需要依赖先进的税务技术&#xff0c;以确保税务数据的准确性和及时性&#xff0c;优化税务管理流程&#xff0c;提高税务透明度&#xff0c;并降低税务…

22. 计算机网络 - 物理层

通信方式带通调制 通信方式 根据信息在传输线上的传送方向&#xff0c;分为以下三种通信方式&#xff1a; 单工通信&#xff1a;单向传输半双工通信&#xff1a;双向交替传输全双工通信&#xff1a;双向同时传输 带通调制 模拟信号是连续的信号&#xff0c;数字信号是离散的…

详细分析Mysql中的 JSON_ARRAYAGG 基本知识(附Demo)

目录 1. 基本知识2. Demo2.1 简单聚合2.2 带排序聚合2.2.1 子查询进行排序2.2.2 创建临时表 2.3 带条件聚合2.4 多列聚合2.5 嵌套 JSON 结构 1. 基本知识 JSON_ARRAYAGG为 SQL 聚合函数&#xff0c;用于将一组值聚合为一个 JSON 数组 多行结果组合成一个 JSON 数组形式的场景…

第100+10步 ChatGPT文献复现:ARIMA-ERNN预测百日咳

基于WIN10的64位系统演示 一、写在前面 我们来继续这篇文章&#xff1a; 《BMC Public Health》杂志的2022年一篇题目为《ARIMA and ARIMA-ERNN models for prediction of pertussis incidence in mainland China from 2004 to 2021》文章的模拟数据做案例。 这文章做的是用…

centos7安装mysql(完整)

官网5.7版本&#xff1a;https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar 文件存于百度网盘&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1x0fucIsD36_7agu88Jd2yg 提取码&#xff1a;s4m8 复制这段内容后打开百度网盘手机A…

k8s——Pod容器中的存储方式及PV、PVC

一、Pod容器中的存储方式 需要存储方式前提&#xff1a;容器磁盘上的文件的生命周期是短暂的&#xff0c;这就使得在容器中运行重要应用时会出现一些问题。 首先&#xff0c;当容器崩溃时&#xff0c;kubelet 会重启它&#xff0c;但是容器中的文件将丢失——容器以干净的状态&…

基于Gdb快速上手调试Redis

写在文章开头 近期很多读者有询问有没有什么简单的办法快速上手调试redis&#xff0c;对此&#xff0c;笔者用到了Linux系统中比较易上手的调试工具GDB&#xff0c;本文将基于一个C语言两数交换的例子演示一下这款工具的使用。 Hi&#xff0c;我是 sharkChili &#xff0c;是个…

Unity DOTS技术(十二) SystemBase修饰及操作

文章目录 一.变量修饰容器二 . Native Container 分配器三.NativeArray的创建及释放四.线程阻塞释放容器五.只读容器六,安全检查开关七.实体操作八.更优的实体操作方式 一.变量修饰容器 在上节中我们讲到多线程操作,为避免对线程的操作导致数据错乱,我们需要为变量进行修饰.于…

Python开发运维:VSCode与Pycharm 部署 Anaconda虚拟环境

目录 一、实验 1.环境 2.Windows 部署 Anaconda 3.Anaconda 使用 4.VSCode 部署 Anaconda虚拟环境 5.Pycharm 部署 Anaconda虚拟环境 6.Windows使用命令窗口版 Jupyter Notebook 7.Anaconda 图形化界面 二、问题 1.VSCode 运行.ipynb代码时报错 2.pip 如何使用国内…

C++开发基础之初探CUDA计算环境搭建

一、前言 项目中有使用到CUDA计算的相关内容。但是在早期CUDA计算环境搭建的过程中&#xff0c;并不是非常顺利&#xff0c;编写此篇文章记录下。对于刚刚开始研究的你可能会有一定的帮助。 二、环境搭建 搭建 CUDA 计算环境涉及到几个关键步骤&#xff0c;包括安装适当的 C…

【C++】 使用CRT 库检测内存泄漏

CRT 库检测内存泄漏 一、CRT 库简介二、CRT 库的使用1、启用内存泄漏检测2、设置应用退出时显示内存泄漏报告3、丰富内存泄漏报告4、演示使用 内存泄漏是 C/C 应用程序中最微妙、最难以发现的 bug&#xff0c;存泄漏是由于之前分配的内存未能正确解除分配而导致的。 最开始的少…

MySQL主从同步优化指南:架构、瓶颈与解决方案

前言 ​ 在现代数据库架构中&#xff0c;MySQL 主从同步是实现高可用性和负载均衡的关键技术。本文将深入探讨主从同步的架构、延迟原因以及优化策略&#xff0c;并提供专业的监控建议。 MySQL 主从同步架构 ​ 主从复制流程&#xff1a; 从库生成两个线程&#xff0c;一个…