简单理解操作系统之存储器管理
操作系统:
一. 进程管理
二.处理及机制度与死锁
三.存储器管理
四.设备管理
五.文件管理
六.操作系统接口
文章目录
- 操作系统之存储器管理
- (一)多级存储器结构
- (二)程序的装入和链接
- 1.程序的装入
- (1)绝对装入方式
- (2)可重定位装入方式
- (3)动态运行时装入方式
- 2.程序的链接
- (三)连续分配方式(为用户程序分配一个连续的内存)
- 1.单一连续分配
- 2.固定分区分配
- 3.动态分区分配
- 4.可重定位分区分配
- (四)虚拟存储器
操作系统之存储器管理
(一)多级存储器结构
由上往下,存储介质的访问速度越快,相应的价格越高,但存储容量越小。寄存器,高速缓存,磁盘缓存,主存储器,再电脑掉电后,存储信息不再存在,而磁盘(硬盘),移动存储器它们的存储信息被长期保存。
(二)程序的装入和链接
程序的运行需要创建进程,而进程创建后,第一件事便是将程序和数据放入内存。
如何将用户源程序,变成可在内存中执行的程序?
有三步骤:
1.编译。将用户源码,编译成若干个目标模块
2.链接。由链接程序将若干个目标模块链接为一组模块
并将它们所需要的库函数链接在一起,最后形成一组装入模块
3.装入。由装入程序将装入模块装入内存。
1.程序的装入
程序的运行,需要从外村移动到内存中执行,因此就有了程序的装入问题。值得注意的是:程序需要完全装入内存,方可执行。
(1)绝对装入方式
(这里讲述单个目标模块,也就是无需链接)
绝对装入程序按照装入模块的绝对装入地址,将程序和数据装入内存。装入之后,由于程序中的逻辑地址和实际内存地址一样,就无需对程序和数据的地址进行修改。
缺点:
绝对装入方式只能用于将目标模块装入到内存的指定位置。由于在多道程序环境中,通常系统不会预先知道将编译后的目标模块装入到内存何处,因此只适用于单道程序环境。
补充:
(多道程序是指多个"任务(程序)"可以在内存里面并存,现代计算机系统基本都是多道程序环境。但是只有执行完前一个“任务”系统才能调度执行下一个,这样是没有并发的。所谓多道可能是相对原来老系统只能在内存中放一个任务来说的,一个任务完成了还要人工或者用其他发放加入下一个任务。)
只有操作系统支持“分时”调度时,一个任务可以不必等待另一个任务完成,这是才能有并发。 )
(2)可重定位装入方式
在多道程序环境中,目标模块的起始地址通常是0开始,程序中的其他地址也都是相对于这起始地址计算的,采用重定位装入,根据内存的情况,将目标模块装入到合适的位置。
注意:这种方式,会出现程序中的逻辑地址与实际内存地址不符合,需要重新修改,通常我们把对程序中的指令和数据的修改过程叫做重定位。
缺点:这种方式当程序在运行时,在内存中不能移动位置。
(3)动态运行时装入方式
这种方式装入是当装入模块装入内存的时候,并不立即将模块的相对地址转换为绝对地址,而是等到这个程序真正执行的时候,才进行。
2.程序的链接
源程序经过编译后,得到若干的目标模块,再利用链接程序将这些模块以及它们所需的库函数链接一起,形成装入模块。
三种链接方式:
1.静态链接。在程序执行之前,将目标模块所需的库函数链接整的装配模块,这种事先将所需库函数链接一起的方式叫做静态链接。
2.装入时动态链接。目标模块边装入边链接。
3.运行时动态链接。运行的时候,再进行链接。
(三)连续分配方式(为用户程序分配一个连续的内存)
为程序分配内存时,内存必须是连续的。断断续续的内存,程序执行不了。
三种分配方式:
1.单一连续分配
将内存分为两种,一是系统区,而是用户区。一般系统区存在于内存低地址处。
2.固定分区分配
将内存分成若干个固定的区域。每个区域处理一个作业。
补充:
作业是个更广泛的概念,包括程序,程序相关数据以及作业说明书,作业说明书 说明了系统将如何控制运行程序。
3.动态分区分配
顾名思义 动态地为作业分配内存。涉及数据结构,分区分配算法回收内存等知识。
4.可重定位分区分配
通过移动多个小分区的内存位置,将原本的多个分区 ,紧凑,合成一个大的分区。其中,若是某些程序在移动分区位置的过程中内存地址发生了变化,那么需要对程序或数据的位置进行修改,
也就是重定位。
(四)虚拟存储器
有时候需要处理的作业很大,内存不够。不能完全的装入内存,那么这样是不能运行的。虚拟存储器的出现,就是为了解决这样的问题。
概念:虚拟存储器,是指具有请求调入功能和置换功能,能从逻辑上对内存进行扩充的存储系统。
虚拟的存储器跟物理的几乎没有差别。仅仅只是虚拟的。就像虚拟机 与物理机一样。
简单理解操作系统之存储器管理相关推荐
- 【408预推免复习】操作系统之存储器管理
[408&预推免复习]操作系统之存储器管理 文章目录 1 基础部分 2 分页存储管理 3 分段存储管理 1 基础部分 物理地址空间(或物理空间.绝对空间):由内存一系列存储单元所限定的地址范围 ...
- 操作系统12————存储器管理之对换
操作系统12----存储器管理之对换 一.目录 文章目录 操作系统12----存储器管理之对换 一.目录 二.概述 三.多道程序环境下的对换技术 1.对换的引入 2.对换的类型 四.对换空间的管理 1 ...
- 操作系统之存储器管理方式
存储器管理 文章目录 存储器管理 存储器的层次结构 存储器设计为层次结构的原因 常见存储器层次划分 程序的装入和链接 程序的装入 绝对装入方式 可重定位装入方式(也称为静态重定位) 动态运行时装入 程 ...
- 操作系统:存储器管理(下)
4,对换 要实现内存.外存之间的对换,系统中必须要有一台I/O速度较好的外存,且其容量也必须足够的大,能容纳正在分时运行的所有用户作业,目前最常用的是大容量磁盘存储器. 4.1,多道程序环境下的对换 ...
- 【操作系统】存储器管理:对换
对换的引入: 把内存中暂时不能运行的进程或不用的进程换出到外存上,以便腾出足够内存空间,再把已具备运行条件的进行或进程所需要的程序和数据换入内存. 提高内存利用率,广泛应用OS中. 对换类型: 整体对 ...
- 简单理解操作系统中的PV操作
可以这样理解: 临界区门前有棵树 用来挂红灯 进程想进CPU的门 先得上树取下盏灯(调用一次P) 取下一个去敲门(S=S-1) 如果树上没有灯取(S<=0) 树说暂时欠你一盏灯(S为负时) 进程 ...
- 【操作系统】存储器管理01-思维导图
由于图片上传大小限制,会不清晰,直接放原链接吧~ http://www.liuchuo.net/archives/1711
- 操作系统——存储器管理的功能
一. 内容总览 二. 内存空间的分配和回收 为了能将用户程序装入内存,必须为它分配一定大小的内存空间.连续分配方式是最早出现的一种存储器分配方式 该分配方式为一个用户程序分配一个连续的内存空间,即程序 ...
- 操作系统(4)存储器管理
一.存储器的层次结构 对于通用计算机而言,存储层次至少应具有三级:最高层为 CPU 寄存器,中间为主存,最底层是辅存. 在较高档的计算机中,还可以根据具体的功能分工细划为寄存器.高速缓存.主存储器.磁 ...
最新文章
- MindSpore静态图语法支持
- 构建自己的PHP框架--构建缓存组件(1)
- zabbix 监控 redis
- html如何获取请求头变量的值。_手写一个静态资源中间件,加深了解服务器对文件请求的缓存策略...
- VTK:构造图用法实战
- 跨境商品的进口税额显示
- [html] html如何创建图片热区(img usemap)?
- 玩转oracle 11g(4):连接,文件操作,交互命令
- 【Java】Socket实现的C/S模式半UI多人聊天程序
- 【转】一个40岁老程序员的前端学习之路|2021 年中总结
- 使用HTML和CSS格式化DBMail
- pythonassert关键字_Python assert 关键字
- python3 爬虫 HTTP Error 403:Forbidden
- CentOS 7.4 初次手记:第三章 CentOS基础了解
- java attachment_Java 接收邮件(接收多附件)
- Freemarker 输出 $ 特殊符号
- VMware Ubuntu虚拟机非正常关机的恢复
- CSS之背景样式及边框样式
- Python爬取京东:价格、商品ID、标题、评价、店名、是否自营
- 光纤收发器的6个指示灯说明