操作系统管程-地址-重定位-内存管理与存储管理

news2024/11/20 16:30:36
管程的基本概念:
为什么会出现管程?
    信号量机制的不足:程序编写困难、易出错
解决:
  • Brinch Hansen(1973)
  • Boare(1974)
方案:
  • 在程序设计语言中引入管程成分
  • 一种高级同步机制
管程的定义:
        是一个特殊的模块
        有一个名字
        有关于共享资源的数据结构及在其上操作的一组过程组成
进程与管理
        进程只能通过调用管程中的过程来间接的访问管程中的数据结构
管程作为一种同步机制,要解决两个问题:
互斥:
        管程是互斥进入的
                    ——为了保证管程中的数据结构的数据完整性
            管程的互斥性是由编译器负责保证的
同步:
        管程中设置条件变量及等待/唤醒操作以解决同步问题。
管程的实现有两种途径:
        直接构造——>效率高
        间接构造
                    ——>用某种已经实现的同步机制去构造
为什么需要通信机制?
  • 信号量及管程的不足
  • 不适用多处理器情况

地址重定位
已经了解的:
        程序装载到内存才可以运行
                通常,程序以可执行文件格式 保存在磁盘上
        多道程序设计模型
                允许多个程序同时进入内存
         每个进程都有自己的地址空间
                一个进程执行时 不能访问另一个进程的地址空间
                进程不能执行不适合的操作
静态重定位与动态重定位:
静态重定位:
当用户程序加载到内存时,一次性实现逻辑地址到物理地址的转换
                    ——》一般可以由软件完成
动态重定位:
在进程执行过程中 进行地址变换——即逐条指令执行时完成地址转换
                    ——》需要硬件部件支持

内存管理
回收问题:
内存回收算法:
        当某一块归还后,前后空闲空间合并,修改内存空闲区表
        四种情况:
                上相邻、下相邻、上下都相邻、上下都不相邻
碎片问题解决:
         碎片——>很小的、不易利用的空闲区
                    ——>导致内存利用率下降
         解决方案——>紧缩技术
                在内存移动程序,将所有小的空闲区合并为较大的空闲区
                        又称:压缩技术、紧致技术、搬家技术
         紧缩时要考虑的问题:
            系统开销、移动时机
交换技术
  • 设计思想:进程在内存与磁盘之间的动态调度

存储管理
虚拟存储技术
  • 当进程运行时,先将一部分装入内存,另一部分暂留在磁盘,当要执行的指令或访问的数据不在内存时,由操作系统自动完成将他们从磁盘调入内存的工作。
虚拟地址空间:
  • 分配给进程的虚拟内存
虚拟地址:
  • 在虚拟内存中指令或数据的位置上,该位置可以被访问,仿佛他是内存的一部分。
地址保护:
  • 确保每个进程有独立的地址空间—— 防止地址越界
  • 确保进程访问合法的地址范围—— 防止访问越权
  • 确保进程的操作是合法的
引入反转(倒排)页表
地址转换:
  • 从虚拟地址空间出发:虚拟地址——>查页表——>得到页框号——>形成物理地址
  • 每个进程一张页表
解决思路:
  • 从物理地址空间出发,系统建立一张页表
  • 页表项纪录进程i的某虚拟地址(虚页号)与页框号的映射关系

快表(TLB)的引入
问题:
  • 页表—>两次或两次以上的内存访问
  • CPU的指令处理速度与内存指令的访问速度差异大,CPU的速度得不到充分利用
如何加快地址映射速度,以改善系统性能?
  • 程序访问的局部原理—>引入快表——高速缓存
快表是什么?
  • TLB——Translation Look-aside Buffers( 翻译查找缓冲区
  • 相联存储器
                 特点:按内容并行查找
  • 保存正在运行进程的页表的子集(部分页表项)
页错误PAGE FAULT
  • 又称页面错误、页故障、页面失效
  • 地址转换过程中硬件产生的异常
具体原因:
  • 所访问的虚拟页面没有调入物理内存
    •     ——>缺页异常
  • 页面访问违反权限(读/写、用户/内核)
  • 错误的访问地址
缺页异常处理:
  • 是一种Page Fault 页面错误
  • 在地址映射过程中,硬件检查页表时发现所要访问的页面不在内存,则产生该异常——缺页异常
  • 操作系统执行缺页异常处理程序:获得磁盘地址,启动磁盘,将该页调入内存。
    • 如果内存中有空闲页框,则分配一个页框,将新调入页装入,并修改页表中相应页表项的有效位及相应的页框号。
    • 若内存中没有空闲页框,则要置换内存中某一页框;若该页框内容被修改过,则要将其写回磁盘。

页框锁定
为什么要锁定页面?
  • 采用虚拟技术后
    • 开销——>使进程运行时间变得不确定
  • 给每一页框增加一个锁定位
  • 通过设置相应的锁定位,不让操作系统将进程使用的页面换出内存,避免产生由交换过程带来的不确定的延迟。
  • 例如:操作系统核心代码、关键数据结构、I/O缓冲区。
最佳页面置换算法(OPT)
  • 设计思想:
    • 置换以后不再需要的或最远的将来才会用到页面
先进先出算法(FIFO)
  • 选择在内存中驻留时间最长的页并置换它。
  • 对照:超市撤换商品
  • 实现:页面链表法
最近最少使用算法(LRU)
Least Recently Used( 最近最少使用算法
选择最后一次访问时间距离当前时间最长的一页并置换
及置换未使用时间最长的一页
  • 性能接近OPT
  • 实现:时间戳或维护一个访问页的栈
    • ——>开销大
最不经常使用算法(NFC)
Not Frequently Used
选择访问次数最少的页面置换
  • LRU的一种软件解决方案
  • 实现:
    • 软件计数器,一页一个,初值为0
    • 每次时钟中断时,计数器加R
    • 发生缺页中断时,选择计数器值最小的一页置换
工作集算法
基本思路:
  • 找出一个不在工作集中的页面并置换它
思路:
  • 每个页表项中有一个字段:记录该页面最后一次被访问的时间
  • 设置一个时间值T
  • 判断:根据一个页面的访问时间是否落在“当前时间-T”之前或之中决定其在工作集之外还是之内。
实现:
  • 扫描所有页表项,执行操作
1.如果一个页面的R位是1,则将该页面的最后一次访问时间设为当前时间,将R位清零
2.如果一个页面的R位是0,则检查该页面的访问时间是否在“当前时间-T”之前
    (1)如果是,则该页面为被置换的页面;
    (2.)如果不是,记录当前所有被扫描过页面的最后访问时间里面的最小值。扫描下一个页面并重复1、2。
本讲重点:

典型的文件逻辑结构与文件存取:
流式文件:构成文件的基本单位是字符
  • 文件是有逻辑意义、无结构的一串字符的集合
  • 记录式文件:文件由若干个记录组成,可以按记录进行读、写、查找等操作
  • 每条记录有内部结构
磁盘访问:
  • 一次访盘请求:
  • 读/写,磁盘地址(设备号,柱面号,磁头号,扇区号),内存地址(源/目)
完成过程由三个动作组成:
  • 寻到(时间):磁头移动定位到指定磁道
  • 旋转延迟(时间):等待指定扇区从磁头下旋转经过
  • 数据传输(时间):数据在磁盘与内存之间的实际传输。
有关数据结构:
  • 位图:
    •  用一串二进制位反映磁盘空间中分配使用情况,每个物理块对应一位,分配的物理块为0,否则为1
    • 申请物理块时,可以在位图中查找为1的位,返回对应物理块号
    • 归还时,将对应位转置1
  • 空闲块表:
    • 将所有空闲块记录在一个表中,即空闲块表
    • 主要两项内容:起始块号,块数
  • 空闲块链表:
    • 把所有空闲块链成一个链
    • 扩展:成组链接法

       

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

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

相关文章

使用MAXScript脚本编写圣诞树建模插件教程

一、前言 2022年圣诞节到来啦,很高兴这次我们又能一起度过~ 今年的圣诞节为大家分享用MAXScript脚本编写圣诞树建模插件的技术创意,喜欢的同学别忘记在下面点个赞! 二、创意名 一键圣诞树插件 三、效果展示 四、实现步骤 1.制作圣诞树的设计稿…

智能巡检系统:企业安全生产管理的智能助手

智能巡检是一种高效代替传统人工巡检的新方式,其依靠物联感知技术,通过物联网采集获取信息,自动记录巡检信息,及时发现问题,实现巡检科学化。 工业4.0带来的技术革新加速了企业的转型升级进程,传统企业的运…

F5张振伦:让应用安全、快速、可靠地交付到需要的地方丨2022首届全球数字生态大会

科技云报道原创。 日前,由杭州市人民政府和浙江省商务厅主办的“2022首届全球数字生态大会”在杭州国际博览中心成功举办。 本次大会以“新技术、新业态、新模式”为主题,邀请到国内外20余位演讲嘉宾和超300位专业观众线下参会。 与此同时,…

IB成绩换成GPA,美国大学是如何算的?

IB课程体系是全球公认的难度大、结构强的课程体系。 IB课程可以通过IB文凭课程(也称为IBDP)进行系统研究。IB课程体系是国际公认的基础文凭,世界上几乎所有大学都认可IB课程体系。这是否意味着IB在申请美国大学时会有优势? 事实上…

【vue系列-02】vue的核心属性,数据代理,事件

vue的核心属性一,vue的核心属性1,模板语法1.1,插值语法1.2,指令语法2,数据绑定2.1,单向绑定2.2,双向绑定3.mvvm模型4,数据代理4.1,数据代理的基本使用4.2,数据…

pytorch实现好莱坞明星识别

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍦 参考文章地址: 365天深度学习训练营-第P6周:好莱坞明星识别🍖 作者:K同学啊一、前期准备 1.设置GPU import torch from torch import nn …

获取rdp保存的凭证

获取用户保存的rdp凭证 当获取到一台windows服务器,可以尝试获取本地远程连接的信息,如果用户在登入rdp时勾选了 允许为我保存凭证的选项,则在该用户本地会生成一个凭证文件,我们只需要破解该凭证文件即可获取其明文密码。 通过注…

[含文档+PPT+源码等]基于SSM框架图书借阅管理系统开发与设计

博主介绍:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 项目名称 [含文档PPT源码等]基于SSM框架图书借阅管理系统开发与设计 系统介绍 《基于SSM框架图书管理系统开发与设计》 该项目含有源码、配套开发软件、软件安…

元数据相关的术语,你知道几个?

元数据被认为是数据治理的基石,但关于元数据相关的概念,很多人不是那么清楚,今天就和大家详解元数据相关的术语。当然,与元数据相关的概念非常多,以下仅罗列几个常见的。 01 元数据 1.名词解释 元数据最简单的定义…

【关于时间序列的ML】项目 7 :使用机器学习进行每日出生预测

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

u盘无法识别如何修复?恢复U盘,建议尝试下这些方法

我们基本都有使用过U盘,也都遇到过U盘损坏的问题。u盘无法识别如何修复?有没有什么实用的方法呢?来看看这篇文章,简单几步,就可以修复成功。如果在操作过程中,遇到数据丢失,也有方法帮你恢复&am…

ASP.NET开发的医疗健康咨询平台源码 养生知识咨询 寻根问药平台源码 C#源码

一、源码特点: 爱心医生健康知识门户网站是一个权威的医疗科普视频、语音、知识、医疗健康问答平台。 包含所有源代码和数据库,可以直接部署到IIS中使用。 二、菜单功能 网站页面: 1、首页:包含幻灯片。 2…

MySQL面试常问问题(SQL 优化 ) —— 赶快收藏

目录 1.慢SQL如何定位呢? 2.有哪些方式优化慢SQL? 避免不必要的列 分页优化 索引优化 JOIN优化 排序优化 UNION优化 3.怎么看执行计划(explain),如何理解其中各个字段的含义? 1.慢SQL如何定位呢&a…

基于python开发的DIY宠物桌面系统(附源码)--可自定义修改

定制你的宠物桌面 最近想要做一个自己独一无二的桌面宠物,可以直接使用python来自己订制。属于一个小项目,这个教程主要包含几个步骤: 准备需要的动图素材 规划自己需要的功能 使用python的PyQt5订制功能 在这个教程中,我主要…

Apache Flink 任务 Tasks 和任务槽 Task Slots

目录 任务槽(Task Slots) 任务槽数量的设置 任务对任务槽的共享 任务槽和并行度的关系 任务槽(Task Slots) Flink 中每一个 worker(也就是 TaskManager)都是一个 JVM 进程,它可以启动多个独立的线程,来并…

【数据结构】详解队列和循环队列

目录一.队列1.队列的概念及结构2.队列的实现Queue.hQueue.c二.循环队列1.循环队列的实现2.设计循环队列解题思路代码一.队列 1.队列的概念及结构 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出…

四、网络层(六)移动IP

目录 6.1 移动IP的概念 6.2 移动IP的基本工作原理 6.2.1代理发现与注册 6.2.2固定主机向移动主机发送IP数据报 6.2.3移动主机向固定主机发送IP数据报 6.2.4同址转交地址(简单了解) 6.2.5三角形路由问题(简单了解) 6.1 移…

事关你“吃住行游购娱”的12项安全国标图解来了

标准是安全建设的“尺子”。近期,国家市场监督管理总局、国家标准化管理委员会发布中华人民共和国国家标准公告(2022年第13号),全国信息安全标准化技术委员会归口的14项网络安全国家标准获批发布,其中12项涉及数据安全…

不同类型单板布线策略6大类

类型一PCB布线策略 一 ,类型一主要特征如下: 严格的长度规则、严格的串扰规则、拓扑规则、差分规则、电源地规则等。 二,关键网络的处理:总线定义Class; 要求满足一定的拓扑结构、stub及其长度(时域&a…

关于模型中的R方

1、一元线性回归 R方在一元线性回归模型中,衡量【响应变量X和预测变量Y】的线性关系。 R方cor(X,Y)^2 但是,在多元线性回归模型中,因为涉及多个预测变量,全部R方就是衡量响应变量和多个预测变量当中的关系。 而有关…