覆盖与交换-第四十二天

news2024/11/27 18:34:29

目录

内存空间的扩充

覆盖技术

实例 

交换技术

思考

本节思维导图


内存空间的扩充

历史背景:早期计算机内存很小,内存大小不够的情况
解决办法:后来人们引入了覆盖技术,用来解决“程序大小超过物理内存总合”的问题

覆盖技术

基本思想:将程序分为多个段(多个模块)常用的段常驻内存,不常用的段在需要时调入内存

解决方法:

  1. 内存中分为一个”固定区“和若干个”覆盖区“,需要常驻内存的段放在”固定区“中,调入后就不再调出(除非运行结束)
  2. 不常用的段放在”覆盖区“,需要用到时调入内存,用不到时调出内存

注意事项:必须由程序员声明覆盖结构,操作系统完成自动覆盖

缺点:对用户不透明,增加了用户编程负担

实例 

交换技术

基本思想:内存空间紧张时,系统将内存中某些进程暂时换出外存,把外村中某些已具备运行条件的进程换入内存(进程在内存与磁盘间动态调度)

中级调度(内存调度):决定将哪个处于挂起状态的进程重新调入内存

暂时换出外存等待的进程状态为挂起状态

挂起状态又可以进一步细分为就绪挂起、阻塞挂起两种状态

思考

  1. 应该在外存(磁盘)的什么位置保存被换出的进程
  2. 什么时候应该交换
  3. 应该换出哪些进程

本节思维导图

~over~

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

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

相关文章

Elasticsearch:Serarch tutorial - 使用 Python 进行搜索 (二)

这个是继上一篇文章 “Elasticsearch:Serarch tutorial - 使用 Python 进行搜索 (一)” 的续篇。在今天的文章中,我们接着来完成如何进行分页及过滤。 分页 - pagination 应用程序处理大量结果通常是不切实际的。 因此&#xff0…

【QT 5 +Linux下+录屏软件使用+总结说明+使用录屏软件+简单软件使用+SimpleScreenRecorder+操作说明】

【【QT 5 Linux下录屏使用录屏软件简单软件使用SimpleScreenRecorder操作说明】】 1、前言2、实验环境3、录屏软件综述SimpleScreenRecorder:Kazam:OBS Studio (Open Broadcaster Software):VokoscreenNG:RecordMyDesktop&#xf…

Spring 面试题学习笔记整理

Spring 面试题学习笔记整理 Spring的理解IOC读取 xml注入 配置过程解析注解注入过程 高频 :IOC 理解 及原理 底层实现IoC的底层实现高频:Bean的生命周期(图解)高频:Bean的生命周期(文解)扩展知识…

如何使用Cloudreve+Cpolar搭建个人PHP云盘系统并发布公网可访问

文章目录 1、前言2、本地网站搭建2.1 环境使用2.2 支持组件选择2.3 网页安装2.4 测试和使用2.5 问题解决 3、本地网页发布3.1 cpolar云端设置3.2 cpolar本地设置 4、公网访问测试5、结语 1、前言 自云存储概念兴起已经有段时间了,各互联网大厂也纷纷加入战局&#…

【自学笔记】01Java基础-08Java常用API:String、ArrayList集合

记录学习Java基础中有关应用程序接口(API)的基础知识,包括两个常用类String和ArrayList类的介绍。 什么是API? API是Application Programming Interface(应用程序编程接口)的缩写,它是一组预先…

陪诊系统|北京陪诊小程序提升陪诊服务效果

随着科技的不断发展,人们对于医疗服务的需求也越来越高。在过去,陪诊师和陪诊公司通常需要通过电话或传真等传统方式与医院进行沟通和安排。然而,现在有了陪诊小程序,这些问题得到了解决。本文将介绍陪诊小程序的开发流程和功能&a…

Python 简单爬虫程序及其工作原理

前言 网络中包含大量的数据,这些数据对于我们来说是非常有价值的,因此编写一个爬虫程序,自动从网页中获取所需的数据,对于信息收集和分析是非常有帮助的。Python 是一种高效而灵活的编程语言,它提供了强大的库和框架来…

SpringBoot学习(三)-整合JDBC、Druid、MyBatis

注:此为笔者学习狂神说SpringBoot的笔记,其中包含个人的笔记和理解,仅做学习笔记之用,更多详细资讯请出门左拐B站:狂神说!!! 一、整合JDBC使用(理解) 创建项目 勾选依赖启动器 查看依赖 …

vue3 插槽 slot 使用

vue3 插槽 slot 使用 在 Vue3 中,插槽(slot)是一种重要的组件复用和内容分发机制。通过使用插槽,可以让组件更加灵活和具有可复用性,在不同的地方渲染不同的内容,同时保证相同的样式。 插槽资料 官网介绍&…

【uniapp】多规格选择

效果图 VUE <template> <view><view class"wp-80 pd-tb-40 mg-auto"><button type"warn" click"showDrawer(showRight)">筛选</button></view><!-- 筛选-uni-drawer --><uni-drawer ref"s…

tolist()读取Excel列数据,(Excel列数据去重后,重新保存到新的Excel里)

从Excel列数据去重后&#xff0c;重新保存到新的Excel里 import pandas as pd# 读取Excel文件 file r"D:\\pythonXangmu\\quchong\\quchong.xlsx" # 使用原始字符串以避免转义字符 df pd.read_excel(file, sheet_namenameSheet)# 删除重复值 df2 df.drop_duplica…

HTTP打怪升级之路

新手村 上个世纪80年代末&#xff0c;有一天&#xff0c;Tim Berners-Lee正在工作&#xff0c;他需要与另一台计算机上的同事共享一个文件。他尝试使用电子邮件&#xff0c;但发现电子邮件不能发送二进制文件。Tim Berners-Lee意识到&#xff0c;他需要一种新的协议来共享二进制…

IntelliJ IDEA 如何配置git

在 IntelliJ IDEA 中配置 Git 的步骤如下&#xff1a; 打开 IntelliJ IDEA。找到 File–>Setting–>Version Control–>Git–>Path to Git executable。在 Git 的安装路径下找到 cmd 文件夹下的 git.exe&#xff0c;到此 Git 配置已完成。

Windows 安装配置 Anaconda、CUDA、cuDNN、pytorch-cuda全流程

Windows 安装配置 Anaconda、CUDA、cuDNN、pytorch-cuda全流程 1. 安装Anaconda 网址&#xff1a;https://repo.anaconda.com/archive/ 选择第一个下载即可 双击exe文件&#xff0c;按安装向导安装即可&#xff08;除安装路径自己选择外&#xff0c;其余均可按默认选项&#x…

02 Deep learning algorithm

Neural Networks target&#xff1a; inference&#xff08;prediction&#xff09;training my own modelpractical advice for building machine learning systemdecision Tress application: speech&#xff08;语音识别&#xff09; ----> images(计算机视觉)—> t…

【Redis-09】Redis哨兵机制的实现原理-Sentinel

Sentinel是Redis高可用性的解决方案&#xff1a;由一个或者多个Sentinel实例组成的哨兵系统监视多个主从服务器&#xff0c;并实现主从服务器的故障转移。 Sentinel本质上只是一个运行在特殊模式下的Redis服务器&#xff0c;使用以下命令可以启动并初始化一个Sentinel实例&…

面试题:聊聊 SpringBoot 中的 SPI 机制

文章目录 简介Java SPI实现示例说明实现类1实现类2相关测试 源码分析Spring SPISpring 示例定义接口相关实现 相关测试类输出结果源码分析 总结 简介 SPI(Service Provider Interface)是JDK内置的一种服务提供发现机制&#xff0c;可以用来启用框架扩展和替换组件,主要用于框架…

灸哥问答:数据结构对软件开发的作用

在软件开发的浩瀚海洋中&#xff0c;数据结构如同一座坚固的灯塔&#xff0c;为开发者指明方向&#xff0c;确保他们在构建复杂系统时不会迷失。数据结构不仅仅是编程的基础&#xff0c;更是高效、稳定、可扩展软件的核心。 一、提升算法效率 数据结构与算法紧密相连&#xf…

linux 使用iniparser读取.ini文件的配置信息

为什么要用项目配置文件 对于很多程序中要用的参数如果是可变的&#xff0c;那么最好的处理方式就是通过main(int argc,char **argv) 函数参数传递&#xff0c;或者从别的地方去获取&#xff0c;这其中之一就是配置文件&#xff0c;但是在一个成熟和架构完善的系统&#xff0c…

Spring之强大的DefaultListableBeanFactory

系列文章目录 如何查看类继承结构参考这里 文章目录 系列文章目录一、DefaultListableBeanFactory的类继承实现结构二、实现接口 一、DefaultListableBeanFactory的类继承实现结构 二、实现接口 AliasRegistry&#xff1a;支持别名功能&#xff0c;一个名字可以对应多个别名B…