【操作系统】01--存储器的层次结构

文章导读:

操作系统存储器,如何对存储器进行有效的管理,直接影响着存储器的利用率和系统性能。

主要分为几个阶段:

1、存储器的层次结构
2、程序的装入和链接
3、连续分配存储管理方式
4、分页存储管理方式
5、分段存储管理方式

重点掌握:

内部碎片和外部碎片
逻辑地址和物理地址
内存分配策略
分页的地址变换,页表的使用
分页和分段的优缺点

本文解决问题:

1、存储的层次结构


谁放的图,效果真差

这个图不怎么看的清,总体是三个部分:存储器的层次结构、程序的装入和链接、连续分配存储管理方式

图片.png

====================

存储管理的功能:

(1)内存分配——为每个进程分配一定的内存空间
(2)地址映射——把程序中所用的相对地址转换成内存的物理地址
(3)内存保护——检查地址的合法性,防止越界访问
(4)内存扩充——解决“求大于供”的问题,采用虚拟存储技术

内存分配
内存分配的主要任务是:为每一道程序分配内存空间,使它们“各得其所”;当程序撤消时,则收回它占用的内存空间。分配时注意提高存储器的利用率。
地址映射
目标程序所访问的地址是逻辑地址集合的地址空间,而内存空间是内存中物理地址的集合,在多道程序环境下,这两者是不一致的,因此,存储管理必须提供地址映射功能,用于把程序地址空间中的逻辑地址转换为内存空间中对应的物理地址。
内存保护
内存保护的任务是确保每道程序都在自己的内存空间运行,互不干扰。保护系统程序区不被用户侵犯(有意或无意的),不允许用户程序读写不属于自己地址空间的数据(系统区地址空间,其他用户程序的地址空间)。
内存扩充
内存扩充的任务是从逻辑上来扩充内存容量,使用户认为系统所拥有的内存空间远比其实际的内存空间(硬件RAM)大的多。


回到正题:

=======1、我们的操作系统,首先观察它的存储结构,以下图进行诠释:

辅存很好理解:相当于外存,硬盘。(高级计算机分为六层)

图片.png
================2、开始介绍各个层次结构含义:

【缓存都在其使用的工具之前,目的是为了减少访问次数】

2.1 主存储器

图片.png

主存储器是计算机系统中的一个主要部件,用于保存进程运行时的程序和数据,CPU的控制部件只能从主存储器中取得指令和数据,数据能够从主存储器中读取并将他们装入到寄存器中,或者从寄存器存入到主存储器,CPU与外围设备交换的信息一般也依托于主存储器地址空间。但是,主存储器的访问速度远低于CPU执行指令的速度,于是引入了寄存机和告诉缓冲。

2.2 寄存器

寄存器访问速度最快,能与CPU协调工作,价格昂贵,容量不大,寄存器用于加速存储器的访问速度,如用寄存器存放操作数,或用作地址寄存器加快地址转换速度等。

2.3 高速缓存

高速缓存容量大于或远大于寄存器,但小于内存,访问速度高于主内存器,根据程序局部性原理,将主存中一些经常访问的信息存放在高速缓存中,减少访问主存储器的次数,可大幅度提高程序执行速度。通常,进程的程序和数据存放在主存,每当使用时,被临时复制到高速缓存中,当CPU访问一组特定信息时,首先检查它是否在高速缓存中,如果已存在,则直接取出使用,否则,从主存中读取信息。有的计算机系统设置了两级或多级高速缓存,一级缓存速度最高,容量小,二级缓存容量稍大,速度稍慢。

2.4 磁盘缓存

磁盘的IO速度远低于对主存的访问速度,因此将频繁使用的一部分磁盘数据和信息暂时存放在磁盘缓存中,可减少访问磁盘的次数,磁盘缓存本身并不是一种实际存在的存储介质,它依托于固定磁盘,提供对主存储器空间的扩充,即利用主存中的存储空间,来暂存从磁盘中读出或写入的信息,主存可以看做是辅存的高速缓存,因为,辅存中的数据必须复制到主存方能使用,反之,数据也必须先存在主存中,才能输出到辅存。

============

【升级理解:看官请注意】

主存储器与寄存器:

主存储器简称主存或内存, 用于保存程序运行时的指令和数据.

寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址.

通常, 处理机从指存中读出数据放入指令寄存器, 这一时间段我们称之为取指周期; 处理机从数存中读取数据放入数据寄存器, 再流入运算器, 这一时间段我们称之为执行周期.

高速缓存和磁盘缓存:

高速缓冲存储器是介于寄存器和存储器之间的存储器, 主要用于备份主存中较常用的数据, 用来减少处理机对主存储器的访问次数, 提高运行效率.

磁盘缓存主要用于暂时存放频繁使用的一部分磁盘数据和信息, 以减少访问磁盘的次数.

程序在系统中若想成为可执行程序, 通常需要经历以下三个阶段:

编译 : 由编译程序对源程序进行编译, 形成若干个目标模块

链接 : 由链接程序将若干目标模块以及所需库函数连接在一起, 形成一个完成的装入模块

转入 : 由装入程序将装入模块装入内存

你可能感兴趣的:(【操作系统】01--存储器的层次结构)