操作系统(day08)内存
存储单元
内存的几个基本概念
存储单元
内存地址从0开始,每个地址对应一个存储单元
存储单元大小根据计算机按照什么方式编址
- 按字节编址
则每个存储单元大小为一字节,即1B,即8个二进制位 - 按字编址
看这个计算的字长是多少位,如果是字长16位的,则每个存储单元大小为一个字,每个字的大小是16个二进制位,2字节
从写程序到程序运行
- 编译
由编译程序将用户源代码编译成若干个目标模块(编译就是把高级语言翻译成机器语言) - 链接
由链接程序将编译后形成的一组目标模块,以及所需库函数链接在一起,形成一个完整的装入模块(有逻辑地址) - 装入(装载)
由装入程序将装入模块装入内存运行(将数据、程序放到内存的指定地址中,以便于后面cpu能根据地址找到)

内存的三种装入方式
绝对装入
如果在编译时,如果知道程序将放到内存中的哪个位置,编译程序将产生绝对地址的目标代码,装入程序按照装入模块中的地址,将程序喝数据装入内存。
缺点: 适用于以前的单道程序环境
静态重定位
编译、链接后的装入模块的地址都是从0开始的,指令中使用的地址、数据存放的地址都是相对于起始地址(0)而言的逻辑地址。可根据内存的当前情况(即哪里有空闲地址),将装入模块装入到内存适当位置。装入时对地址进行“重定位”, 将逻辑地址变换位物理地址(地址的变换是在装入时一次完成的)

动态重定位方式
动态重定位:又称动态运行时装入。编译、链接后的装入模块的地址都是从0开始的(逻辑地址)。装入程序把装入模块装入内存后(装入程序会存放一个初始位置,重定位寄存器会记住这个位置),并不会立即把逻辑地址转换为物理地址,
而是 把地址转换推迟到程序真正要执行时才会进行。因此装入内存后所有的地址依然时逻辑地址。这种方式需要一个重定位寄存器的支持
运行过程
例如一个程序装入内存中,内部的指令地址都是逻辑地址,是从0开始的。比如一个指令是
将地址为80(逻辑地址)的存储单元写入1,那么当cpu要执行这个指令的时候,cpu会根
据重定位寄存器上显示该程序的起始位置,比如100(物理地址),加上逻辑地址,就是
这个指令真正在内存中存在的地址
优点:
1.允许程序在内存中发生移动(只需将重定位寄存器更新该程序新的起始位置即可)
2.并且可将程序分配到不连续的存储区中;在程序运行前只需装入它的部分代码即可投入允许,然后在程序运行期间,根据需要动态申请分配内容;便于程序段的共享

链接的三种方式

课后思维导图总结

内存保护
方法一:
在CPU中设置一对上、下限寄存器,存放进程的上下限地址。进程的指令要访问某个地址时,CPU检查是否越界
方法二:
采用重定位寄存器和界地址寄存器。界地址寄存器中存放的时进程的最大逻辑地址,重定位寄存器中存放的是进程的起始物理地址

课后思维导图总结

覆盖与交换
覆盖技术

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

课后思维导图总结

相关文章:
操作系统(day08)内存
存储单元 内存的几个基本概念 存储单元 内存地址从0开始,每个地址对应一个存储单元 存储单元大小根据计算机按照什么方式编址 按字节编址 则每个存储单元大小为一字节,即1B,即8个二进制位按字编址 看这个计算的字长是多少位,如…...
11- 聚类算法 (KMeans/DBSCAN/agg) (机器学习)
聚类算法 聚类算法和降维算法那都属于无监督算法。KMeans 是以一个值为中心, 然后所有其他点到该点距离最小值的累积和。 kmeans KMeans(n_clusters3) # n_clusters 分类数量 kmeans.fit(data.iloc[:,1:]) # 无监督,只需要给数据X就可以 DBSCAN 算法是…...
日日顺供应链|想要看清供应链发展趋势,先回答这三个问题
技术变革如何支撑供应链及管理服务的发展? 数字化与科技化开始承托供应链管理能力的升级与变革? 如何从客户需求的纬度反推供应链及管理服务的模式变革?在过去的三年中,我国的供应链企业经受了最为极端的挑战,但当下&a…...
5守护进程与线程
进程组 多个进程的集合,第一个进程就是组长,组长进程的PID等于进程组ID。 进程组生存期:进程组创建到最后一个进程离开(终止或转移到另一个进程组)。与组长进程是否终止无关。 一个进程可以为自己或子进程设置进程组 ID 相关函数 pid_t …...
EZ-Cube简易款下载器烧写使用方法
一、硬件连接 跟目标芯片接4根线 VCC、GND、TOOL、REST 四根线,如果板子芯片自己外接电源的,VCC 线可以不接。 二、 安装烧写软件和驱动 烧写软件:https://download.csdn.net/download/Stark_/87444744?spm1001.2014.3001.5503 驱动程序&a…...
sql server安装并SSMS连接
博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞ÿ…...
Python_pytorch (二)
python_pytorch 小土堆pytotch学习视频链接 from的是一个个的包(package) import 的是一个个的py文件(file.py) 所使用的一般是文件中的类(.class) 第一步实例化所使用的类,然后调用类中的方法(def) Torchvision 数据集 数据集使用(CI…...
java手机短信验证,并存入redis中,验证码时效5分钟
目录 1、注册发送短信账号一个账号 2、打开虚拟机,将redis服务端打开 3、创建springboot工程,导入相关依赖 4、写yml配置 5、创建controller层,并创建controller类 6、创建service层,并创建service类 7、创建工具类&#x…...
kubectl命令控制远程k8s集群(Windows系统、Ubuntu系统、Centos系统)
文章目录1. 本地是linux2. 本地是Windows1. 本地是linux 安装kubectl命令 法一:从master的/usr/bin目录下拷贝kubectl文件到本机/usr/bin目录下法二:GitHub下载kubectl文件 在家目录下创建.kube目录config文件 法一:将master上对应用户的~/.…...
【求解器-COPT】COPT的版本更新中,老版本不能覆盖的问题
【求解器-COPT】COPT的版本更新中,老版本不能覆盖的问题方法1方法2如果license还是找不到作者:刘兴禄 参考网址: COPT的下载和配置步骤如下: 教程 | Windows系统下如何安装COPT求解器并配置许可文件: https://zhuan…...
Vue3.0文档整理:一、简介
1.1:什么是vue? Vue是一款用于构建用户界面的javascript框架;它基于标准HTML、CSS和Javascript构建,并提供了一套声明式、组件化的编程模型,帮助你高效的开发用户界面。 1.2:MVVM工作原理 MVVM指的是model、view和vie…...
vue2 diff算法及虚拟DOM
概括:diff算法,虚拟DOM中采用的算法,把树形结构按照层级分解,只比较同级元素,不同层级的节点只有创建和删除操作。 一、虚拟DOM (1) 什么是虚拟DOM? 虚拟 DOM (Virtual DOM,简称 VDOM) 是一种…...
Ray和极客们的创新之作,2月18日来发现
所在论坛:数据库技术创新&云原生论坛分享时段:2.18 10:30-11:00分享主题:云原生数据库PieCloudDB :Unbreakable安全特性剖析分享嘉宾:王淏舟,拓数派资深研发工程师 由中国开源软件推进联盟PostgreSQL分…...
Dubbo 源码分析 – 集群容错之 Router
1. 简介 上一篇文章分析了集群容错的第一部分 – 服务目录 Directory。服务目录在刷新 Invoker 列表的过程中,会通过 Router 进行服务路由。上一篇文章关于服务路由相关逻辑没有细致分析,一笔带过了,本篇文章将对此进行详细的分析。首先&…...
行人检测(人体检测)3:Android实现人体检测(含源码,可实时人体检测)
行人检测(人体检测)3:Android实现人体检测(含源码,可实时人体检测) 目录 行人检测(人体检测)3:Android实现人体检测(含源码,可实时人体检测) 1. 前言 2. 人体检测数据集说明 3. 基于YOLOv5的人体检测模型训练 4.人体检测模型…...
【图像分类】基于PyTorch搭建LSTM实现MNIST手写数字体识别(单向LSTM,附完整代码和数据集)
写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 提起LSTM大家第一反应是在NLP的数据集上比较常见,不过在图片分类中,它同样也可以使用。我们以比较熟悉的 mnist…...
Kotlin 1.8.0 现已发布,有那些新特性?
文章目录**如何安装 Kotlin 1.8.0****如果您遇到任何问题****更多文章和视频**结语Kotlin 1.8.0 版本现已发布,以下是其部分最大亮点: JVM 的新实验性功能:递归复制或删除目录内容提升了 kotlin-reflect 性能新的-Xdebug编译器选项ÿ…...
likeshop单商户SaaS商城系统—无限多开,搭建多个商城
likeshop单商户SaaS商城系统:适用于多开(SaaS)、B2C、单商户、自营商城场景,完美契合私域流量变现闭环交易使用,系统拥有丰富的营销玩法,强大的分销能力,支持DIY多模板,前后端分离。…...
Bean(Spring)的执行流程和生命周期
Bean(Spring)的执行流程具体的流程就和我们创建Spring基本相似。启动 Spring 容器 -> 实例化 Bean(分配内存空间,从无到有) -> Bean 注册到 Spring 中(存操作) -> 将 Bean 装配到需要的…...
工作记录------PostMan自测文件导入、导出功能
工作记录------PostMan自测文件导入、导出功能 测试文件导出 背景:写了一个文件下载功能,是数据写到excel中,下载,使用PostMan点击send后,返回报文是乱码。 解决办法: 点击send下面的 send and Downlo…...
深度学习迁移学习:从原理到实践
深度学习迁移学习:从原理到实践 1. 背景与动机 深度学习模型在各种任务上取得了显著的性能提升,但这些模型通常需要大量的标注数据和计算资源进行训练。在实际应用中,我们经常面临以下挑战: 数据不足:某些任务的标注数…...
避坑指南:C# ComboBox那些容易踩的坑(SelectedIndexChanged的诡异事件)
C# ComboBox开发避坑实战:SelectedIndexChanged的7个隐秘陷阱与解决方案 下拉框控件ComboBox看似简单,却暗藏诸多让开发者抓狂的"坑"。我曾在一个仓储管理系统中,因为ComboBox的异常行为连续加班三晚——数据绑定时的SelectedInde…...
【独家首发】Python扩展安全成熟度模型(PESMM v1.2):覆盖编译期/加载期/运行期的9维评分体系,仅限前500名开发者免费获取评估工具包
第一章:Python扩展模块安全概述Python 扩展模块(如 C/C 编写的 .so/.dll 文件或 Cython 生成的二进制模块)在提升性能的同时,也引入了原生层特有的安全风险。与纯 Python 代码不同,扩展模块直接操作内存、调用系统 API…...
Java面试如何突击?核心知识点有哪些?该如何准备拿下offer?
一、Java 面试核心知识点(按考察优先级排序)1. Java 基础面向对象:封装、继承、多态(重载与重写)、抽象类与接口的区别。String 系列:String 不可变性、StringBuilder 与 StringBuffer 的区别、常量池。集合…...
OpCore Simplify:零基础黑苹果配置的终极自动化解决方案
OpCore Simplify:零基础黑苹果配置的终极自动化解决方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的OpenCore EFI配置而烦…...
实用教程!用fft npainting lama镜像批量处理图片水印
实用教程!用fft npainting lama镜像批量处理图片水印 1. 引言 1.1 为什么需要批量水印处理 在日常工作中,我们经常遇到需要处理大量带有水印图片的情况。无论是电商平台的商品图、社交媒体上的素材,还是企业内部文档,水印的存在…...
Go语言广播系统设计:基于Channel的高性能事件分发机制
引言 在后端系统架构中,事件广播是一种常见的通信模式。本文将深入分析一个基于Go语言channel实现的广播管理器,探讨其设计思想、实现细节以及在实际项目中的应用价值。 参考代码 点击直达 背景与需求 在许多应用场景中,我们需要实现一对…...
全网最详细的AI产品经理学习路线,非常详细收藏这一篇就够了
前言 AI产品经理作为一个新兴且热门的职业,不仅需要具备传统产品经理的能力,还需要对AI技术有深入的理解和应用。本学习路线旨在帮助有志于成为AI产品经理的学习者系统地掌握所需的知识和技能。 前排提示,文末有大模型AGI-CSDN独家资料包哦…...
Webots R2021a搭配Anaconda环境:从SSL报错到Python API调通的完整避坑指南
Webots R2021a与Anaconda环境深度整合:Python控制器开发全流程解析 当机器人仿真与Python开发环境相遇时,Webots和Anaconda的组合为研究者提供了强大工具链。然而,从环境配置到API调用的完整流程中,开发者常会遇到各种"坑点&…...
认知几何学:思维如何弯曲意义空间(世毫九实验室原创理论修订版)
认知几何学:思维如何弯曲意义空间(世毫九实验室原创理论修订版)Cognitive Geometry: How Thought Curves Meaning Space (Revised Edition)方见华 世毫九实验室 摘要 本文在《新累土哲学》“关系先于实体”的框架下,对认知几何学进…...
