操作系统
清楼小刘
这个作者很懒,什么都没留下…
展开
-
程序的编译——从源代码到可执行文件
首先引用一段他人的总结:关于程序的编译和链接——————————在此,我想多说关于程序编译的一些规范和方法,一般来说,无论是C、C++、还是pascal,首先要把源文件编译成中间代码文件(目标文件),在Windows下也就是 .obj 文件,UNIX下是 .o 文件,即 Object File,这个动作叫做编译(compile)。然后再把大量的Object File合成执行文件,这个动作叫作链接(...翻译 2017-09-08 09:43:28 · 635 阅读 · 0 评论 -
内存管理之概念
程序装入和链接程序在经过编译成目标模块(.obj)文件,链接程序链接之后,需要将对应的模块装入内存,有三种方式: (1)绝对装入,绝对装入程序按照装入模块中的地址,将程序和数据装入内存。由于程序中的逻辑地址与实际地址完全相同,不需要对程序和数据的地址进行修改。——只适用于单道程序环境(也就是说,基本上接触不到了)(2)可重定位装入,在多道程序环境中,多个目标模块的起始地址通常都是从0开始的,装入时...原创 2018-03-31 23:59:09 · 247 阅读 · 0 评论 -
内存管理之覆盖与交换
覆盖与交换覆盖 追根溯源——早期计算机系统内存容量小,虽然内存中只有一道用户程序,内存存储空间仍有可能放不下。覆盖的基本思想是:程序运行时并非任何时候都要访问程序及数据的各个部分,因此可以把用户空间分成一个固定区和若干个覆盖区。经常活跃的部分放在固定区,其余部分按调用关系分段。在覆盖区和外存(即磁盘)中屡次调入调出。特点是打破了必须将一个进程的全部信息装入主存后才能运行的限制。 交换 交换的基...原创 2018-04-01 11:22:45 · 2456 阅读 · 0 评论 -
内存管理之连续分配管理方式
连续分配管理方式 连续分配方式是指为一个用户程序分配一个连续的内存空间。通俗地说,就是给内存划格子(格子中都是一个进程,和非连续分配管理方式相对)。(1)单一连续分配 将内存分为系统区和用户区,内存中永远只有一道程序——已经成为历史(2)固定分区分配分为2种方式: 分区大小相等, 分区大小不等因为预先给分区划定了内存大小,所以存在两个问题:一.程序可能太大而放不进任何一个分区中,...原创 2018-04-01 13:03:23 · 1935 阅读 · 0 评论