北京学校网站建设公司,有关网站建设国内外现状的文献,wordpress化妆品模板,wordpress首页刷新不变目录
一、什么是内存
二、有何作用
三、常用数量单位
四、指令的工作原理
五、装入方式
1、绝对装入
2、可重定位装入#xff08;静态重定位#xff09;
3、动态运行时装入#xff08;动态重定位#xff09;
六、从写程序到程序运行
七、链接的三种方式
1、静态…目录
一、什么是内存
二、有何作用
三、常用数量单位
四、指令的工作原理
五、装入方式
1、绝对装入
2、可重定位装入静态重定位
3、动态运行时装入动态重定位
六、从写程序到程序运行
七、链接的三种方式
1、静态链接
2、装入时动态链接
3、运行时动态链接
八、总结 一、什么是内存
内存可存放数据程序执行前需要先放到内存中才能被CPU处理。内存中也有一个一个的“小房间”每个小房间就是一个“存储单元”。如果计算机“按字节编址”则每个存储单元大小为1字节,即1B即8个二进制位。如果字长为16位的计算机“按字编址”则每个存储单元大小为1个字;每个字的大小为16个二进制位。
二、有何作用
缓和CPU与硬盘之间的速度矛盾。
三、常用数量单位 四、指令的工作原理
指令是计算机执行某个特定任务的基本操作也是计算机进行数据处理和控制的基本单位。指令的工作原理可以简单地概括为以下四步 读取指令计算机从内存中读取指令并将指令存储到处理器中。 解析指令计算机解析指令确定需要执行的操作并确定需要的数据和操作符。 执行指令计算机执行指令所需的操作并将结果存储到指定的位置。 更新程序计数器计算机更新程序计数器中的指令地址以便读取下一条指令。
简单来说指令的工作原理就是根据特定的操作码和操作数让计算机进行相应的运算和控制操作。在执行指令的过程中计算机需要根据指令中给定的地址从内存中读取数据将其存储到寄存器中并根据指令中给定的操作码进行相应的计算和输出。指令的工作原理包括多个步骤但每个步骤都是计算机系统中必不可少的一部分。
五、装入方式
1、绝对装入
在编译时如果知道程序将放到内存中的哪个位置编译程序将产生绝对地址的目标代码。
装入程序按照装入模块中的地址将程序和数据装入内存。
2、可重定位装入静态重定位
静态重定位是指在程序编译或链接的过程中将程序中的逻辑地址转换为物理地址使程序能够在内存中正确地运行的过程。在静态重定位过程中编译器或链接器将程序的逻辑地址转换成物理地址并将转换后的地址写入程序中需要访问的内存地址中。
静态重定位通常在程序装载时进行重定位的过程主要包括以下几个步骤 编译器或链接器为程序中的每个变量、函数和常量分配逻辑地址。 在程序被装载到内存之前重定位程序会将程序中的逻辑地址转换成物理地址。 重定位程序会在程序中插入符号表用于记录程序中的符号地址和信息。 如果程序在运行过程中需要地址的修改静态重定位就会被触发重定位程序会将需要修改的地址重新计算并写入正确的物理地址。
静态重定位是计算机系统中重要的概念它使得程序能够在内存中正确地运行提高了计算机的可移植性和灵活性。
注意静态重定位的特点是在一个作业装入内存时必须分配其要求的全部内存空间如果没有足够的内存就不能装入该作业。作业一旦进入内存后在运行期间就不能再移动也不能再申请内存空间。
3、动态运行时装入动态重定位
动态重定位是指在程序运行时将程序中的逻辑地址转换为物理地址的过程。
和静态重定位不同动态重定位是在程序运行时根据实际情况进行地址转换的。
在动态重定位过程中操作系统或库函数会在程序被装载进内存之后根据程序运行时的情况动态地对程序中的地址进行转换。动态重定位通常发生在以下情况下 程序中使用了动态链接库或共享库需要在运行时进行地址转换。 程序在运行过程中需要动态分配内存需要动态地调整程序中的地址。
动态重定位通常通过虚拟内存机制来实现操作系统会将程序中的逻辑地址映射到物理地址上当程序需要访问某个地址时操作系统会根据映射关系将逻辑地址转换为物理地址。动态重定位使得程序能够更加灵活地运行能够适应不同的运行环境和硬件平台。
注意采用动态重定位时允许程序在内存中发生移动。
六、从写程序到程序运行
编译:由编译程序将用户源代码编译成若干个目标模块。编译就是把高级语言翻译为机器语言)链接:由链接程序将编译后形成的一组目标模块以及所需库函数链接在一起形成一个完整的装入模块。装入装载):由装入程序将装入模块装入内存运行。
七、链接的三种方式
1、静态链接
静态链接:在程序运行之前,先将各目标模块及它们所需的库函数连接成一个完整的可执行文件装入模块),之后不再拆开。
2、装入时动态链接
将各目标模块装入内存时边装入边链接的链接方式。
3、运行时动态链接
在程序执行中需要该目标模块时才对它进行链接。其优点是便于修改和更新便于实现对目标模块的共享。
八、总结