首页 > 编程语言 >操作系统之程序的链接与装入

操作系统之程序的链接与装入

时间:2024-12-02 12:29:32浏览次数:7  
标签:操作系统 装入 程序 地址 内存 模块 链接

一、链接

链接是将各个目标模块以及它们所需的库函数装配成一个完整的可执行文件的过程。根据链接的时间不同,链接方式可分为:

静态链接:在程序运行之前,先将各目标模块及它们所需的库函数连接成一个完整的可执行文件,之后不再拆开。

装入时动态链接:将各目标模块装入内存时,边装入边链接。

运行时动态链接:在程序执行中需要该目标模块时,才对它进行链接。其优点是便于修改和更新,也便于实现对目标模块的共享。

二、装入

装入是将用户程序装入内存并使其变为可执行程序的过程。根据装入的方式不同,装入可分为:

绝对装入:编译时,如果知道程序将放到内存中的哪个位置,编译程序将产生绝对地址的目标代码。装入程序按照装入模块中的地址,将程序和数据装入内存。但绝对装入只适用于单道程序环境。

静态重定位:又称可重定位装入。编译、链接后的装入模块的地址都是从0开始的,装入时对地址进行“重定位”,将逻辑地址变换为物理地址(地址变换是在装入时一次完成的)。静态重定位的特点是在一个作业装入内存时,必须分配其要求的全部内存空间,作业一旦进入内存后,在运行期间就不能再移动,也不能再申请内存空间。

动态重定位:又称动态运行时装入。编译、链接后的装入模块的地址都是从0开始的。装入程序把装入模块装入内存后,并不会立即把逻辑地址转换为物理地址,而是把地址转换推迟到程序真正要执行时才进行。因此装入内存后所有的地址依然是逻辑地址。采用动态重定位时,允许程序在内存中发生移动,便于程序段的共享,可以向用户提供一个比存储空间大得多的地址空间。

标签:操作系统,装入,程序,地址,内存,模块,链接
From: https://blog.csdn.net/qq_39311377/article/details/144094547

相关文章

  • [kali] kali系统的下载及在虚拟机中详细安装过程(附有下载链接)
    前言kalilinux链接:https://pan.quark.cn/s/7b394681d7c6提取码:k9ES链接失效(可能被官方和谐)可评论或私信我重发下载压缩包后解压!!安装路径不要有中文下载完以后是一个7z压缩包,需要用解压工具解压成文件夹。比如安装bandizip[Bandzip]文件解压工具的下载及详细安装......
  • 亚马逊僵尸链接查找与合并全流程教学-月亮树跨境教程
    一、僵尸链接是什么二、高效采集僵尸链接三、僵尸链接合并实操1、前提条件2、修改品牌3、下载合并表格4、表格填写5、表格上传 一、僵尸链接是什么:僵尸链接,通俗来讲就是链接还挂在亚马逊上,但是却没有卖家。点进去这个链接你会看到提示“Currentlyunavailable(目前不......
  • 操作系统中 索引节点号和磁盘块号之间的关系
    目录索引节点(inode)磁盘块(Block)关系1.索引节点指向磁盘块2.处理大文件3.文件碎片处理4.文件删除与回收总结在操作系统中,索引节点号(inodenumber)和磁盘块号(blocknumber)是文件系统管理文件数据存储位置的重要组成部分。它们之间的关系主要体现在如何定位和访问文件的......
  • 操作系统中 设备驱动程序和设备控制器之间的关系
    目录设备控制器设备驱动程序关系总结在操作系统中,设备驱动程序(DeviceDriver)和设备控制器(DeviceController)之间的关系是紧密且互补的。它们共同作用以确保计算机硬件能够按照操作系统的指令正确地执行任务。下面是二者之间关系的详细说明:设备控制器设备控制器是硬件组件,它......
  • 操作系统中的引导块
    目录主引导记录(MBR)GUID分区表(GPT)引导过程安全性Linux系统启动流程操作系统中的引导块,也称为引导扇区(BootSector)或主引导记录(MasterBootRecord,MBR),是硬盘或其他存储设备上的一个特殊区域。它通常位于磁盘的第一个扇区(512字节),在计算机启动时扮演着至关重要的角色。以......
  • C语言程序的编译和链接
    在ANSIC的任何⼀种实现中,存在两个不同的环境。第1种是翻译环境,在这个环境中源代码被转换为可执⾏的机器指令(⼆进制指令)。第2种是执⾏环境,它⽤于实际执⾏代码。1,翻译环境翻译环境是由编译和链接两个⼤的过程组成的,⽽编译⼜可以分解成:预处理(有些书也叫预编译)、编译、汇......
  • 《操作系统真相还原》| 实验记录2.0【MBR,Loader,Kernel代码汇总】
    MBR.S%include"boot.inc"SECTIONMBRvstart=0x7c00 movax,cs movds,ax moves,ax movss,ax movfs,ax movsp,0x7c00 movax,0xb800 movgs,ax mov ax,0600h mov bx,0700h mov cx,0 mov dx,184fh int 10h movbyte[gs:0x00],'1......
  • 操作系统知识点
    操作系统的定义操作系统是一组用于控制和管理计算机系统硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序集合。操作系统基本特征并发:是指两个或多个活动在同一给定的时间间隔中进行。共享:是指计算机系统中的资源被多个进程所共用。异步:进程以不可预知的速度向前......
  • 操作系统中断处理的详细流程是什么
    1.中断的基本概念与类型中断定义:中断是指在计算机执行程序的过程中,出现了某种紧急或异常的事件(中断请求),CPU需要暂停正在执行的程序,转去处理该事件(执行中断服务程序),并在处理完毕后返回断点处继续执行被暂停的程序。中断类型:外部中断:也称硬件中断,由计算机外部设备产生的......
  • Linux操作系统2-进程控制3(进程替换,exec相关函数和系统调用)
    上篇文章:Linux操作系统2-进程控制2(进程等待,waitpid系统调用,阻塞与非阻塞等待)-CSDN博客本篇代码Gitee仓库:Linux操作系统-进程的程序替换学习·d0f7bb4·橘子真甜/linux学习-Gitee.com本篇重点:进程替换目录一.什么是进程替换?二.进程替换函数常用的函数 2.1......