首页 > 系统相关 >操作系统内存管理学前补充知识

操作系统内存管理学前补充知识

时间:2024-07-02 21:41:32浏览次数:18  
标签:操作系统 装入 管理学 程序 物理地址 地址 指令 内存

操作系统内存管理学前补充知识

目录

什么是内存,有什么作用

手机有内存,电脑中也有内存条。内存的作用就是存放数据。程序执行前需要先放到内存中,才能被CPU处理,这是为了缓和CPU和硬盘之间的速度矛盾。多道程序环境下,系统内有多个程序并发运行,也就是有多个程序的数据需要同时放到内存中,如何区分各个程序的数据是放在什么地方呢?方案:给内存的存储单元编地址.

image-20240702211350150

计算机给内存的存储单元编址有两种方式,一种是按字节,一种是按字。1字节=1B=8bit。如果是按字编址的话,字长和计算机有关,要看题目的要求。一个地址可以对应一个存储单元。

数据的数量单位

image-20240702212010645

通过内存的大小,可以推算出,二进制位数是多少。

指令的工作原理

一段程序,通过编译,变成指令序列。指令有操作码和地址码。指令的工作基于“地址”,每个地址对应一个数据的存储单元。

image-20240702212351261

程序编译链接后变成exe文件(装入模块),装入模块的地址是逻辑地址,装入到内存中的实际物理地址(绝对地址)之中。然后在执行这些指令。

image-20240702212624102

3种装入的方式(逻辑地址—>物理地址)

绝对装入

image-20240702213210108

这种方式,换个电脑就不能执行了。灵活性低。

静态重定位

image-20240702213311928

装入的起始物理地址重定位,比如+100。一个作业装入内存的时候,必须分配全部的内存空间而且还是连续的。在运行期间不能进行移动。指令已经写死了。

动态重定位

image-20240702213529511

增加一个重定位寄存器,存放装入模块存放的起始地址。将逻辑地址和存放在重定位寄存器的起始地址进行相加,加出来的结果是最终的地址。

image-20240702213823301

从写程序到程序的运行

image-20240702214010027

链接的三种方式

image-20240702214156712

运行时候动态链接,灵活性高,提升了内存的利用率。

标签:操作系统,装入,管理学,程序,物理地址,地址,指令,内存
From: https://www.cnblogs.com/yidianxingyuan/p/18280603

相关文章

  • 内存管理-13-CMA内存-1-初探
    基于msm-5.4关键词 cma_alloc/cma_release MIGRATE_ISOLATE MIGRATE_CMA一、概述1.CMA简介CMA(ContiguousMemoryAlloctor)主要用于分配大块连续的物理内存。伙伴系统能分配的最大连续物理内存块是2^10,即一个pageblock大小4MB。为了提高内存的使用率,嵌入式平台上一般使用......
  • mac的其他内存怎么清理,全方位清理Mac其他内存必备
    对于很多职场朋友来说,一台mac电脑上标配,它的高效性能与优秀的交互体验总能让工作变得更加得心应手,但有时候也会发现,随着时间的推移,Mac运行变得缓慢,处理工作不似最开始的丝滑,那这可能是因为你的mac内存占用过多。那么mac的其他内存怎么清理呢,今天一文带大家搞定mac内存清理。......
  • NWIFI.SYS 的底层原理主要围绕着操作系统驱动程序模型的实现,确保无线网络适配器与操作
    NWIFI.SYS是一个Windows操作系统中的驱动程序文件,其底层原理涉及操作系统与硬件之间的交互和数据处理。以下是其底层原理的一些关键点:驱动程序功能:NWIFI.SYS主要负责管理和控制无线网络适配器。它通过操作系统提供的驱动程序接口(DriverInterface)与硬件通信,执行一系列操作,......
  • 第3章 寄存器(内存访问)
    第3章寄存器(内存访问)3.1内存中的字存储CPU中用16位寄存器存储一个字,高8位存放高位字节,低8位存放低位字节。内存单元是字节单元,一个单元存放一个字节,一个字需要使用两个连续的内存单元进行存放,这个字的低位字节存放在低地址单元,高位字节存放在高地址单元问题:0地址......
  • 在Windows操作系统中,与文件系统进行交互主要通过一系列的API函数来实现,这些函数包括底
    操作文件系统API与操作系统的文件系统进行交互,涉及到底层的文件系统操作和文件属性管理。不同的操作系统提供了不同的API和机制来执行这些操作,但基本的原理和流程大致相似。文件系统API的基本操作1.文件时间戳(创建时间、修改时间、访问时间)创建时间(CreationTime):表示文件被创......
  • WinNTSetup 使用教程 进行 Windows 操作系统的安装和配置; WinNTSetup 进行高级操作和
    WinNTSetupv5.3.5.2-InstallWindowsfromUSB-MSFNMyFiles(mediafire.com)WinNTSetup是一个强大的Windows安装工具,主要用于在Windows操作系统中安装或重新安装Windows。以下是一个初级使用教程的大纲,帮助您了解如何使用WinNTSetup进行操作系统的安装和配置:1.准备......
  • 内存管理-11-buddy伙伴子系统-2-Per-CPU页帧缓存
    基于msm-5.4一、概述1.实现背景buddy子系统管理的物理页面,绝大多数都是放在zone::free_area[]中的链表中,少部分放在zone::lowmem_reserve[]中。还有少量页面放在zone::__percpupageset这个每CPU变量中,每种迁移类型也都对应一个链表,但是没有order,都是单页大小的内存块。......
  • 内存管理-11-buddy伙伴子系统-1-初探
    基于msm-5.4一、伙伴系统概述1.简介伙伴系统是物理内存的三大管理机制之一,另外两个是slab缓存和per-cpu页帧缓存。#####管理物理内存实际上就是管理page结构,将page添加到不同链表上进行管理。当用户申请内存的时候,从链表上拿一个page返还给用户,然后用户根据page可以找到对......
  • 汇编语言------内存段
    分段内存模型:将内存划分为几个独立的区域,每个区域称为段,通过段寄存器中的指针来引用。每个段都被用来保存某种特殊的数据。Datasegment:数据段,主要用来保存声明的变量、常量等等。用.data和.bss表示。Codesegment:代码段,主要用来保存指令代码。用.text表示。Stacksegment......
  • 银河麒麟高级服务器操作系统V10 SP3 2403 下载地址
      iso下载:https://distro-images.kylinos.cn:8802/web_pungi/download/share/l4IytxvsPQnbJK6T2krVHa0GANe9Mf7i/Kylin-Server-V10-SP3-2403-Release-20240426-x86_64.isoisoarm版下载:https://distro-images.kylinos.cn:8802/web_pungi/download/share/0EBoRu1yPhkcA8qxLFe......