前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[操作系统]内存的基础知识

[操作系统]内存的基础知识

作者头像
唯一Chat
发布2021-01-02 18:04:31
6330
发布2021-01-02 18:04:31
举报
文章被收录于专栏:陶士涵的菜地

什么是内存   1.存储单元   用于存放数据的硬件,程序执行前先放到内存中才能被CPU处理 2.内存地址   给内存存储单元编地址,从0开始每个地址对应一个存储单元,可以按字节编址,也可以按字长编址,一个存储单元一个字节或字长

内存运行的基本原理   1.指令的工作原理     内存有数据段和程序段,指令存放在程序段,变量存放在数据段     程序编译成指令,会告诉CPU应该去内存的哪个地址存取数据,数据应该进行怎样的处理

  2.逻辑地址 vs 物理地址     逻辑地址是相对地址 , 物理地址是绝对地址 ,编译后装入过程是把逻辑地址到物理地址转换

  3.从写程序到程序运行:编辑-->编译-->链接-->装入     编译:把高级语言编译成机器语言,生成多个目标模块     链接:把目标模块形成完整逻辑地址     装入:形成物理地址

4.三种链接方式->形成逻辑地址   静态链接:将各目标模块和所需库函数连接成完整的可执行文件   装入时动态链接:边装入边链接   运行时动态链接:边运行边链接

5.三种装入方式->形成物理地址   绝对装入:编译时就知道程序产生的绝对地址   静态重定位:编译后装入的时候将逻辑地址转换成物理地址,位置不可更改   动态重定位:运行时指令运行的过程中进行逻辑地址到物理地址转换,现在都采用这种方式,需要重定位寄存器

内存空间的分配和回收 内存空间的扩展(虚拟性,把物理较小的内存扩展成较大的内存) 内存的地址转换

绝对装入:编译时就知道程序产生的绝对地址 静态重定位:编译后装入的时候将逻辑地址转换成物理地址,位置不可更改 动态重定位:运行时指令运行的过程中进行逻辑地址到物理地址转换,现在都采用这种方式,需要重定位寄存器

内存保护:进程只能访问自己的内存空间 1)采用上下限寄存器 2)采用重定位寄存器和界地址寄存器,重定位(基址寄存器)存储起始物理地址,界地址寄存器(限长寄存器)存储最大逻辑地址

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-12-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档