简单理解操作系统之存储器管理

操作系统:

一. 进程管理
二.处理及机制度与死锁
三.存储器管理
四.设备管理
五.文件管理
六.操作系统接口

操作系统之存储器管理

(一)多级存储器结构

在这里插入图片描述

由上往下,存储介质的访问速度越快,相应的价格越高,但存储容量越小。寄存器,高速缓存,磁盘缓存,主存储器,再电脑掉电后,存储信息不再存在,而磁盘(硬盘),移动存储器它们的存储信息被长期保存。

(二)程序的装入和链接

程序的运行需要创建进程,而进程创建后,第一件事便是将程序和数据放入内存。

如何将用户源程序,变成可在内存中执行的程序?

有三步骤:

1.编译。将用户源码,编译成若干个目标模块

2.链接。由链接程序将若干个目标模块链接为一组模块

并将它们所需要的库函数链接在一起,最后形成一组装入模块

3.装入。由装入程序将装入模块装入内存。

1.程序的装入

程序的运行,需要从外村移动到内存中执行,因此就有了程序的装入问题。值得注意的是:程序需要完全装入内存,方可执行。

(1)绝对装入方式

(这里讲述单个目标模块,也就是无需链接)

绝对装入程序按照装入模块的绝对装入地址,将程序和数据装入内存。装入之后,由于程序中的逻辑地址和实际内存地址一样,就无需对程序和数据的地址进行修改。

缺点:

绝对装入方式只能用于将目标模块装入到内存的指定位置。由于在多道程序环境中,通常系统不会预先知道将编译后的目标模块装入到内存何处,因此只适用于单道程序环境。

补充:

(多道程序是指多个"任务(程序)"可以在内存里面并存,现代计算机系统基本都是多道程序环境。但是只有执行完前一个“任务”系统才能调度执行下一个,这样是没有并发的。所谓多道可能是相对原来老系统只能在内存中放一个任务来说的,一个任务完成了还要人工或者用其他发放加入下一个任务。)

只有操作系统支持“分时”调度时,一个任务可以不必等待另一个任务完成,这是才能有并发。 )

(2)可重定位装入方式

在多道程序环境中,目标模块的起始地址通常是0开始,程序中的其他地址也都是相对于这起始地址计算的,采用重定位装入,根据内存的情况,将目标模块装入到合适的位置。

注意:这种方式,会出现程序中的逻辑地址与实际内存地址不符合,需要重新修改,通常我们把对程序中的指令和数据的修改过程叫做重定位。

缺点:这种方式当程序在运行时,在内存中不能移动位置。

(3)动态运行时装入方式

这种方式装入是当装入模块装入内存的时候,并不立即将模块的相对地址转换为绝对地址,而是等到这个程序真正执行的时候,才进行。

2.程序的链接

源程序经过编译后,得到若干的目标模块,再利用链接程序将这些模块以及它们所需的库函数链接一起,形成装入模块。

三种链接方式:

1.静态链接。在程序执行之前,将目标模块所需的库函数链接整的装配模块,这种事先将所需库函数链接一起的方式叫做静态链接。

2.装入时动态链接。目标模块边装入边链接。

3.运行时动态链接。运行的时候,再进行链接。

(三)连续分配方式(为用户程序分配一个连续的内存)

为程序分配内存时,内存必须是连续的。断断续续的内存,程序执行不了。

三种分配方式:

1.单一连续分配

将内存分为两种,一是系统区,而是用户区。一般系统区存在于内存低地址处。

2.固定分区分配

将内存分成若干个固定的区域。每个区域处理一个作业。

补充:

作业是个更广泛的概念,包括程序,程序相关数据以及作业说明书,作业说明书 说明了系统将如何控制运行程序。

3.动态分区分配

顾名思义 动态地为作业分配内存。涉及数据结构,分区分配算法回收内存等知识。

4.可重定位分区分配

通过移动多个小分区的内存位置,将原本的多个分区 ,紧凑,合成一个大的分区。其中,若是某些程序在移动分区位置的过程中内存地址发生了变化,那么需要对程序或数据的位置进行修改,

也就是重定位。

(四)虚拟存储器

有时候需要处理的作业很大,内存不够。不能完全的装入内存,那么这样是不能运行的。虚拟存储器的出现,就是为了解决这样的问题。

概念:虚拟存储器,是指具有请求调入功能和置换功能,能从逻辑上对内存进行扩充的存储系统。

虚拟的存储器跟物理的几乎没有差别。仅仅只是虚拟的。就像虚拟机 与物理机一样。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值