资源描述
,*,计算机组织与结构,第三章 存储系统,1,计算机组织与结构,第三章 存储系统,第三章 存储系统,3.1,存储系统概述,3.2,随机读写存储器,3.3,只读存储器和闪速存储器,3.4,高速存储器,3.5,Cache,存储器,3.6,虚拟存储器,3.7,存储保护,3.8,辅助存储器,2,计算机组织与结构,3.6,存储管理,存储管理是操作系统的一项主要功能,是在硬件的配合下实现的。,3,计算机组织与结构,3.6,存储管理,3.6.2,主存储器管理的基本概念,1.,交换(,Swapping,),在多道程序或分时系统中把一个作业写到辅助存储器,并把另一个作业从辅助存储器读到主存中去的操作过程,交换。,为实现多道程序、“扩大”主存容量,提高,CPU,效率。,4,计算机组织与结构,3.4,存储管理,3.6.2,主存储器管理的基本概念,1.,交换(,Swapping,),5,计算机组织与结构,3.4,存储管理,3.6.2,主存储器管理的基本概念,2.,分区,为了达到多个进程共享主存,将主存划分成很多个地址连续的存储区,分配给每个用户进程一个存储区,分区。,分区在使用过程中会出现空闲,可采用“压紧”的方法解决。即移动主存中的进程,改变分区。,6,计算机组织与结构,3.4,存储管理,3.6.2,主存储器管理的基本概念,2.,分区,7,计算机组织与结构,3.4,存储管理,3.6.2,主存储器管理的基本概念,3.,程序的再定位,把程序空间中给出的逻辑地址变换成主存空间中物理地址的操作,叫做程序再定位。,静态程序再定位,程序装入,内存时,由专门的定位装入程序完成再定位。静态定位一经完成不可改变。将不能实现交换和分区压缩操作。,8,计算机组织与结构,3.4,存储管理,3.6.2,主存储器管理的基本概念,3.,程序的再定位,动态程序再定位,在程序执行过程中,在对指令和数据进行访问时,由硬件的地址变换机构进行程序再定位。,通过加基点地址(基址)的方法实现。硬件上要有一组基址寄存器,把每道程序的基址放在相应的基址寄存器中。,9,计算机组织与结构,3.4,存储管理,3.6.2,主存储器管理的基本概念,3.,程序的再定位,动态程序再定位,10,页,将主存的物理空间划分为等长的固定区域。,页式管理,主存按页分配的存储管理方式,优点,:,造页表方便,;,新页调入容易,;,主存空间利用率高;,缺点:,程序的处理,保护和共享不太方便。,3.6.3,页式管理,计算机组织与结构,3.6,存储管理,11,计算机组织与结构,3.6,存储管理,3.6.3,页式管理,12,计算机组织与结构,3.4,存储管理,3.4.2,页式管理,13,计算机组织与结构,3.4,存储管理,3.4.2,页式管理,14,段,按程序逻辑结构划分成的多个相对独立的部分,如过程,子程序等,段式管理,主存按段来分配的存储管理方式,优点,:,段的分界与程序的自然分界相对应;,段的逻辑独立性使它易于编译、管理、修改和保护,也便于多道程序共享;,某些类型的段(堆栈,队列)具有动态可变长度,允许自由调度以便有效利用主存空间。,缺点:,段间的零碎存储空间(碎片)不好利用,浪费,3.6.4,段式管理,15,计算机组织与结构,3.6,存储管理,3.6.4,段式管理,16,页式管理和段式管理的比较,分页是出于,系统管理,的需要,分段是出于,用户应用,的需要。,页大小是系统固定的,而段大小则通常不固定。,逻辑地址表示:,分页是一维的,各个模块在链接时必须组织成同一个地址空间;,分段是二维的,各个模块在链接时可以每个段组织成一个地址空间。,通常段比页大,因而段表比页表短,可以缩短查找时间,提高访问速度,。,17,计算机组织与结构,3.6,存储管理,3.6.5,段页式管理,段页,程序分段,段内分页,段页式管理,采用分段和分页相结合的存储管理方式,分段表和页表两级管理。,18,计算机组织与结构,3.4,存储管理,3.4.4,段页式管理,19,计算机组织与结构,3.7,虚拟存储器,虚拟存储器是一个容量非常大的存储器的逻辑模型,借助于磁盘等辅存来扩大主存容量,指的是“,主存,辅存,”层次。它使得程序员可以按比主存大得多的空间来编制程序。,主存,辅存层次信息传送单位采用的是,段、页,或,段页,。,20,计算机组织与结构,3.7,虚拟存储器,21,计算机组织与结构,3.,7虚拟存储器,几个术语,虚拟地址空间:,又称虚存空间或虚拟存储器空间,它是应用程序员用来编写程序的地址空间,这个地址空间非常大。,主存储器的地址空间,:也称主存地址空间、主存物理空间或实存地址空间,。,辅存地址空间:,也就是磁盘存储器的地址空间,。,22,根据所采用的,地址映象,和,地址变换,方法不同,有啊多种不同类型的虚拟存储器。目前主要有,页式虚拟存储器、段式虚拟存储器和段页式虚拟存储器,等三种。然而,这三种虚拟存储器的基本原理、所采用的主要技术和工作流程等是基本相同的。,计算机组织与结构,3.7,虚拟存储器,地址映像,:把虚拟地址空间映象到主存地址空间。,地址变换,:在程序被装入主存储器之后,在实际运行时,把用户虚地址变换成主存实地址(内部地址变换)或磁盘存储器地址(外部地址变换)。,23,计算机组织与结构,3.5,虚拟存储器,虚拟存储器的工作过程,1.,快表,快表是为了加快地址转换而设置,部件。由硬件设备相关存储器组成,其中存放当前最活跃的页地址表目。表目的格式和内容与页表完全相同。在进行地址转换时,首先查快表,不命中,再去查页表,慢表,同时进行快表更新。,24,计算机组织与结构,3.,7虚拟存储器,虚拟存储器的工作过程,2.,帧页表,用于主存管理。,帧页号,主存中分页的实际页号。,内容,程序名或编号。,虚地址,虚页号,状态位,25,计算机组织与结构,3.,7虚拟存储器,虚拟存储器的工作过程,3.,外页表,用来登记程序虚拟地址与外存地址的对应关系。特征位指出该页是否调入主存。,26,计算机组织与结构,3.,7虚拟存储器,虚拟存储器的工作过程,4.,虚拟存储器工作过程,(1),由指令中的地址字段求得逻辑地址,即虚地址。虚地址格式包含用户号、虚页号页内地址。每一个用户都有自己页表地址寄存器、页表、快表。根据用户号、虚页号首先查快表,如果命中,则得到页的实际地址。,(2),如果不命中,则查页表。,(,3),如果页表中仍不命中,说明该页尚未进入主存,需要查外页表,求得辅存实地址。,27,计算机组织与结构,3.,7虚拟存储器,虚拟存储器的工作过程,4.,虚拟存储器工作过程,(4),同时查询帧页表,了解主存使用状况。如果主存中尚有空闲区,则可将所查到的页通过,IO,接口调入主存。如果主存中已满,则访问替换部件,根据替换算法,替换主存内容。,(5),在进行主存替换时,如果该页在运行过程中没有修改过,则不必送回;如修改过,则应送回辅存。,28,计算机组织与结构,3.,7虚拟存储器,4.,虚拟存储器工作过程,29,30,
展开阅读全文