表内存储管理方式
❶ 分区存储管理中常用哪些分配策略
1、固定分区存储管理
其基本思想是将内存划分成若干固定大小的分区,每个分区中最多只能装入一个作业。当作业申请内存时,系统按一定的算法为其选择一个适当的分区,并装入内存运行。由于分区大小是事先固定的,因而可容纳作业的大小受到限制,而且当用户作业的地址空间小于分区的存储空间时,造成存储空间浪费。
一、空间的分配与回收
系统设置一张“分区分配表”来描述各分区的使用情况,登记的内容应包括:分区号、起始地址、长度和占用标志。其中占用标志为“0”时,表示目前该分区空闲;否则登记占用作业名(或作业号)。有了“分区分配表”,空间分配与回收工作是比较简单的。
二、地址转换和存储保护
固定分区管理可以采用静态重定位方式进行地址映射。
为了实现存储保护,处理器设置了一对“下限寄存器”和“上限寄存器”。当一个已经被装入主存储器的作业能够得到处理器运行时,进程调度应记录当前运行作业所在的分区号,且把该分区的下限地址和上限地址分别送入下限寄存器和上限寄存器中。处理器执行该作业的指令时必须核对其要访问的绝对地址是否越界。
三、多作业队列的固定分区管理
为避免小作业被分配到大的分区中造成空间的浪费,可采用多作业队列的方法。即系统按分区数设置多个作业队列,将作业按其大小排到不同的队列中,一个队列对应某一个分区,以提高内存利用率。
2、可变分区存储管理
可变分区存储管理不是预先将内存划分分区,而是在作业装入内存时建立分区,使分区的大小正好与作业要求的存储空间相等。这种处理方式使内存分配有较大的灵活性,也提高了内存利用率。但是随着对内存不断地分配、释放操作会引起存储碎片的产生。
一、空间的分配与回收
采用可变分区存储管理,系统中的分区个数与分区的大小都在不断地变化,系统利用“空闲区表”来管理内存中的空闲分区,其中登记空闲区的起始地址、长度和状态。当有作业要进入内存时,在“空闲区表”中查找状态为“未分配”且长度大于或等于作业的空闲分区分配给作业,并做适当调整;当一个作业运行完成时,应将该作业占用的空间作为空闲区归还给系统。
可以采用首先适应算法、最佳(优)适应算法和最坏适应算法三种分配策略之一进行内存分配。
二、地址转换和存储保护
可变分区存储管理一般采用动态重定位的方式,为实现地址重定位和存储保护,系统设置相应的硬件:基址/限长寄存器(或上界/下界寄存器)、加法器、比较线路等。
基址寄存器用来存放程序在内存的起始地址,限长寄存器用来存放程序的长度。处理机在执行时,用程序中的相对地址加上基址寄存器中的基地址,形成一个绝对地址,并将相对地址与限长寄存器进行计算比较,检查是否发生地址越界。
三、存储碎片与程序的移动
所谓碎片是指内存中出现的一些零散的小空闲区域。由于碎片都很小,无法再利用。如果内存中碎片很多,将会造成严重的存储资源浪费。解决碎片的方法是移动所有的占用区域,使所有的空闲区合并成一片连续区域,这一技术称为移动技术(紧凑技术)。移动技术除了可解决碎片问题还使内存中的作业进行扩充。显然,移动带来系统开销加大,并且当一个作业如果正与外设进行I/O时,该作业是无法移动的。
3、页式存储管理
基本原理
1.等分内存
页式存储管理将内存空间划分成等长的若干区域,每个区域的大小一般取2的整数幂,称为一个物理页面有时称为块。内存的所有物理页面从0开始编号,称作物理页号。
2.逻辑地址
系统将程序的逻辑空间按照同样大小也划分成若干页面,称为逻辑页面也称为页。程序的各个逻辑页面从0开始依次编号,称作逻辑页号或相对页号。每个页面内从0开始编址,称为页内地址。程序中的逻辑地址由两部分组成:
逻辑地址
页号p
页内地址 d
3.内存分配
系统可用一张“位示图”来登记内存中各块的分配情况,存储分配时以页面(块)为单位,并按程序的页数多少进行分配。相邻的页面在内存中不一定相邻,即分配给程序的内存块之间不一定连续。
对程序地址空间的分页是系统自动进行的,即对用户是透明的。由于页面尺寸为2的整数次幂,故相对地址中的高位部分即为页号,低位部分为页内地址。
3.5.2实现原理
1.页表
系统为每个进程建立一张页表,用于记录进程逻辑页面与内存物理页面之间的对应关系。地址空间有多少页,该页表里就登记多少行,且按逻辑页的顺序排列,形如:
逻辑页号
主存块号
0
B0
1
B1
2
B2
3
B3
2.地址映射过程
页式存储管理采用动态重定位,即在程序的执行过程中完成地址转换。处理器每执行一条指令,就将指令中的逻辑地址(p,d)取来从中得到逻辑页号(p),硬件机构按此页号查页表,得到内存的块号B’,便形成绝对地址(B’,d),处理器即按此地址访问主存。
3.页面的共享与保护
当多个不同进程中需要有相同页面信息时,可以在主存中只保留一个副本,只要让这些进程各自的有关项中指向内存同一块号即可。同时在页表中设置相应的“存取权限”,对不同进程的访问权限进行各种必要的限制。
4、段式存储管理
基本原理
1.逻辑地址空间
程序按逻辑上有完整意义的段来划分,称为逻辑段。例如主程序、子程序、数据等都可各成一段。将一个程序的所有逻辑段从0开始编号,称为段号。每一个逻辑段都是从0开始编址,称为段内地址。
2.逻辑地址
程序中的逻辑地址由段号和段内地址(s,d)两部分组成。
3.内存分配
系统不进行预先划分,而是以段为单位进行内存分配,为每一个逻辑段分配一个连续的内存区(物理段)。逻辑上连续的段在内存不一定连续存放。
3.6.2实现方法
1.段表
系统为每个进程建立一张段表,用于记录进程的逻辑段与内存物理段之间的对应关系,至少应包括逻辑段号、物理段首地址和该段长度三项内容。
2.建立空闲区表
系统中设立一张内存空闲区表,记录内存中空闲区域情况,用于段的分配和回收内存。
3.地址映射过程
段式存储管理采用动态重定位,处理器每执行一条指令,就将指令中的逻辑地址(s,d)取来从中得到逻辑段号(s),硬件机构按此段号查段表,得到该段在内存的首地址S’, 该段在内存的首地址S’加上段内地址d,便形成绝对地址(S’+d),处理器即按此地址访问主存。
5、段页式存储管理
页式存储管理的特征是等分内存,解决了碎片问题;段式存储管理的特征是逻辑分段,便于实现共享。为了保持页式和段式上的优点,结合两种存储管理方案,形成了段页式存储管理。
段页式存储管理的基本思想是:把内存划分为大小相等的页面;将程序按其逻辑关系划分为若干段;再按照页面的大小,把每一段划分成若干页面。程序的逻辑地址由三部分组成,形式如下:
逻辑地址
段号s
页号p
页内地址d
内存是以页为基本单位分配给每个程序的,在逻辑上相邻的页面内存不一定相邻。
系统为每个进程建立一张段表,为进程的每一段各建立一张页表。地址转换过程,要经过查段表、页表后才能得到最终的物理地址。
❷ *操作系统的存储管理的主要内容是什么
这是我收集的你看全吗问题一:⑴ 存储管理的实质是什么?(对内存的管理,主要对内存中用户区进行管理)⑵ 多道程序中,为方便用户和充分利用内存以提高内存利用率,内存管理的任务是什么?(内存空间的分配和回收、内存空间的共享、存储保护、地址映射、内存扩充)。⑶ 如何实现存储保护?
答:在多道程序系统中,内存中既有操作系统,又有许多用户程序。为使系统正常运行,避免内存中各程序相互干扰,必须对内存中的程序和数据进行保护。
1、防止地址越界
对进程所产生的地址必须加以检查,发生越界时产生中断,由操作系统进行相应处理。
2、防止操作越权
对属于自己区域的信息,可读可写;
对公共区域中允许共享的信息或获得授权可使用的信息,可读而不可修改;
对未获授权使用的信息,不可读、不可写。
存储保护一般以硬件保护机制为主,软件为辅,因为完全用软件实现系统开销太大,速度成倍降低。当发生越界或非法操作时,硬件产生中断,进入操作系统处理(4) 物理存储器分几类?(内存、外存、缓存)⑸ 虚存储器的含义是什么?(两层含义)
答:虚存储器有两层含义,一是指用户程序的逻辑地址构成的地址空间;二是指当内存容量不满足用户要求时,采用一种将内存空间与外存空间有机地结合在一起,利用内外存自动调度的方法构成一个大的存储器,从而给用户程序提供更大的访问空间。⑹ 什么叫物理地址?什么叫逻辑地址?什么叫地址映射?地址映射分哪几类?(静态、动态)
答:物理地址是内存中各存储单元的编号,即存储单元的真实地址,它是可识别、可寻址并实际存在的。
用户程序经过编译或汇编形成的目标代码,通常采用相对地址形式,其首地址为零,其余指令中的地址都是相对首地址而定。这个相对地址就称为逻辑地址或虚拟地址。逻辑地址不是内存中的物理地址,不能根据逻辑地址到内存中存取信息。
为了保证CPU执行程序指令时能正确访问存储单元,需要将用户程序中的逻辑地址转运行时可由机器直接寻址的物理地址,这一过程称为地址映射或地址重定位。
地址映射可分为两类:
1、静态地址映射2、动态地址映射问题二:⑴ 怎样对内存进行分区?(静态、动态;等长、不等长)
答:对内存空间的划分是可以静态的,也可以动态的;可以是等长的,也可以不等长。
静态划分是指系统运行之前就将内存空间划分成若干区域,通常,分配给进程的内存可能比进程实际所需的区域长。
动态划分是在系统运行过程中才划分内存空间。这样,系统可按进程所需要的存储空间大小为其分配恰好满足要求的一个或多个区域。
等长分区是将存储空间划分为若干个长度相同的区域。
不等长分区则是将存储空间划分若干个长度不同的区域。⑵ 根据分区情况,从如何实现进程的内存分配?
答:1、静态等长分区的分配
2、动态异长分区的分配⑶ 什么叫碎片?(零散的小空闲区) 怎样解决碎片问题?(紧凑技术)
答:所谓碎片是指内存中出现的一些零散的小空闲区域。
解决碎片的方法是移动所有占用区域,使所有的空闲区合并成一片连续区域。这一过程称为紧凑,这一技术就是紧凑技术。。问题三:⑴ 存储管理方案有哪些?(分区管理、页式管理、段式管理、段页式管理、虚拟存储管理)⑵ 分区管理的基本思想是什么?主要缺点是什么?
基本思想:将内存划分成若干连续的区域,称为分区,每个分区装入一个运行作业。
主要缺点:不能充分利用内存,也不能实现对内存的扩充。⑶ 什么是固定分区?什么是可变分区?各有什么优缺点?
答:固定分区:系统将内存划分为若干固定的分区,当作业申请内存时,系统为其选择一个适当的分区,并装入内存运行。由于分区大小是事先固定的,因而可容纳作业的大小受到限制,而且当用户作业的地址空间小于分区的存储空间时,浪费了一些存储空间。
可变分区:是指在作业装入内存时建立分区,使分区的大小正好与作业要求的存储空间相等。引入可变分区方法,使内存分配有较大的灵活性,也提高了内存利用率。但是可变分区会引起碎片的产生。⑷ 分区管理可以采用的内存分配策略是什么?
首先适应算法、最佳适应算法、最坏适应算法。⑸ 为实现地址映射和存储保护,系统为用户程序提供了哪些寄存器?
基址寄存器、限长寄存器;上界寄存器、下界寄存器。问题四:⑴ 试述页式存储管理的基本原理
① 内存划分。
② 逻辑地址空间划分。
③ 页面大小。
④ 内存分配。⑵ 试述页式存储管理的实现方法
① 建立页表。② 建立空闲页面表。
③ 硬件支持。④ 地址映射过程。⑶ 为了提高存取速度,可以使用快表技术。试述这一技术是如何实现的?
答:快表技术是在地址映射机构中增加一个小容量的联想寄存器(相联存储器),它由高速寄存器组成,成为一张快表,快表用来存放当前访问最频繁的少数活动页的页号。
在快表中,除了逻辑页号、物理页号对应外,还增加了几位。特征位表示该行是否为空,用0表示空,用1表示有内容;访问位表示该页是否被访问过,用0表示未访问,1表示已访问,这是为了淘汰那些用得很少甚至不用的页面而设置的。
快表只存放当前进程最活跃的少数几页,随着进程的推进,快表内容动态更新。当用户程序需要存取数据时,根据该数据所在逻辑页号在快表中找出对应的物理页号,然后拼接页内地址,以形成物理地址;如果在快表中没有相应的逻辑页号,则地址映射仍然通过内存中的页表进行,得到物理页号后须将该物理页号填到快表的空闲单元中。有无空闲单元,则根据淘汰算法淘汰某一行,再填入新得到的页号。实际上查找快表和查找内存页表是并行进行的,一旦发现快表中有与所查页号一致的逻辑页号就停止查找内存页表。问题五:⑴ 试述段页式存储管理的基本思想
答:段页式存储管理的基本思想是:
1、用页式方法来分配和管理内存空间,即把内存划分成若干大小相等的页面;
2、用段式方法对用户程序按照其内在的逻辑关系划分成若干段;
3、再按照划分内存页面的大小,把每一段划分成若干大小相等的页面;
4、用户程序的逻辑地址由三部分组成,形式如下:
段号页号页内地址
5、内存是以页为基本单位分配给每个用户程序的,在逻辑上相邻的页面内存不一定相邻。⑵ 如何实现段页式存储管理
答:1、建立段表2、建立页表3、建立内存空闲页面表4、硬件支持5、地址映射过程问题六:⑴ 虚拟存储技术的基本思想
答:虚拟存储技术的基本思想是利用大容量的外存来扩充内存,产生一个比有限的实际内存空间大得多的、逻辑的虚拟内存空间,以便能够有效地支持多道程序系统的实现和大型作业运行的需要,从而增强系统的处理能力。⑵ 虚拟存储技术的理论基础(局部性原理)
答:程序局部性原理:虚拟存储管理的效率与程序局部性程序有很大关系。根据统计,进程运行时,在一段时间内,其程序的执行往往呈现出高度的局限性,包括时间局部性和空间局部性。
1、时间局部性:是指若一条指令被执行,则在不久,它可能再被执行。
2、空间局部性:是指一旦一个存储单元被访问,那它附近的单元也将很快被访问。⑶ 虚拟存储管理的基本原理
答:虚拟存储的基本原理是:当进程要求运行时,不是将它的全部信息装入内存,而将将其一部分先装入内存,另一部分暂时留在外存。进程在运行过程中,要使用的信息不在内存时,发生中断,由操作系统将它们调入内存,以保证进程的正常运行。⑷ 虚拟存储管理的分类
答:虚拟存储管理分为:虚拟页式、虚拟段式和虚拟段页式。⑸ 以虚拟页式存储管理为例介绍虚拟存储管理的实现过程
答:虚拟页式存储管理的基本思想是,在进程开始执行之前,不是装全部页面,而是只装一个(甚至0个)页面,然后根据进程执行的需要,动态地装入其它页面。
1、页表 2、缺页中断处理3、页面淘汰⑹ 在虚存中,页面在内存与外存中频繁地调试,系统效率急剧下降,称为颠簸。试说明产生颠簸的原因。通过什么方式可以防止颠簸的发生?
答:颠簸是由缺页率高而引起的。
系统规定缺页率的上界和下界。当运行进程缺页率高于上界时,表明所分给它的物理页面数过少,应当增加;反之,当运行进行缺页率低于下界时,表明所分给它的物理页面数过多,可以减少。这样,根据缺页率反馈可动态调整物理页面的分配,以防止颠簸的发生。
❸ SQL数据库中都是以表的形式存储数据的吗
SQLSERVER数据库中数据存储:
一:存储文件类型
SQLSERVER有两种数据存储文件,分别是数据文件和日志文件。
其中:数据文件是以8K(=8192Byte)的页面(Page)作为存储单元的。
而日志文件是以日志记录作为存储单元。本文只讨论数据文件的存储方式,不涉及到日志文件存储方式。
数据文件以页面做为存储单元存储数据,要理解数据文件的存储方式,必须了解SQLSERVER中定义的页面类型种类。
二:页面类型
SQLSERVER中页面类型有8种,具体每种类型的详细说明,见下图:
用户的数据一般存放在数据页面中,由上图可以看出,数据页包含数据行中除 text、ntext 和 image 数据外的所有数据,text、ntext 和 image 数据存储在单独的页中。那么在一个数据页面中,数据是如何存放,SQLSERVER又是根据什么来定位页面与页面上的数据呢。要回答这个问题,有必要先了解数据页面的具体结构。
三:数据页面结构
在数据页上,数据行紧接着页首按顺序放置。在页尾有一个行偏移表。在行偏移表中,页上的每一行都有一个条目,每个条目记录那一行的第一个字节与页首的距离。行偏移表中的条目序列与页中行的序列相反。数据页面结构如下图所示,下面将详细解释
其中:数据页面页首:96个字节,保存着页面的系统信息,如页的类型、页的可用空间量、拥有页的对象的对象 ID 以及该页面所属于哪个物理文件。
数据区:对应于上图中所有数据行的总区域,存放真正的数据,是以Slot为单位。一个Slot就是对应于一条数据记录行,从0开始编号,以16进制反序保存,Slot0,Slot1....。
行偏移数组:用于记录该数据页面中每个Slot在数据页面所处的相对位置,便于定位和检索每个Slot在数据页面中的位置,数组中每个记录占两个字节。
四:存储分配单位:盘区(扩展 Extend)
虽然SQLSERVER中数据文件存储单位是页面(Page),但实际SQLSERVE并不是为页面为单位给数据分配空间,SQLSERVER默认的存储分配单位是盘区。这样做的主要原因是为了提高性能。为了避免频繁的读写IO,在表或其它对象分配存储空间,不是直接分配一个8K的页面,而是以一个盘区(Extend)为存储分配单位,一个盘区为8个页面(=8*8K=64K)。
但是这样做虽然减少了频繁的IO读写,提高的数据库性能,但却导致出一个新问题,那就是在存储那些只有少量数据,不足8K的对象,如果也是分配给一个盘区,就会存在存储空间上的浪费,降低了空间分配效率。
为解决上述问题,SQLSERVER提供了一种解决方案,定义了两种盘区类型,统一盘区和混合盘区。
其中:统一盘区只能存放同一个对象,该对象拥有这个盘区的所有页面
混合盘区:由多个对象共同拥有该盘区。
在实际为对象分配存储盘区时,为了提高空间利用率,默认的情况下,如果一个对象一开始大小小于8个页面,就尽量放在混合盘区中,如果该对象大小增加到8个页面后,SQLSERVER会为这个对象重新分配一个统一盘区。
为了能够通过上述策略来实现为对象分配存储盘区,SQLSERVER提供了GAM/SGAM机制来管理和维护数据文件的盘区信息。
❹ 存储管理的方式
分区存储管理又有三种不同的方式:静态分区、可变分区、可重定位分区 。
静态分区
静态分区存储管理是预先把可分配的主存储器空间分割成若干个连续区域,每个区域的大小可以相同,也可以不同。为了说明各分区的分配和使用情况,存储管理需设置一张“主存分配表”。主存分配表指出各分区的起始地址和长度,表中的占用标志位用来指示该分区是否被占用了,当占用的标志位为“0”时,表示该分区尚未被占用。进行主存分配时总是选择那些标志为“0”的分区,当某一分区分配给一个作业后,则在占用标志栏填上占用该分区的作业名。采用静态分区存储管理,主存空间的利用不高。
可变分区
可变分区方式是按作业的大小来划分分区。当要装入一个作业时,根据作业需要的主存量查看主存中是否有足够的空间,若有,则按需要量分割一个分区分配给该作业;若无,则令该作业等待主存空间。由于分区的大小是按作业的实际需要量来定的,且分区的个数也是随机的,所以可以克服固定分区方式中的主存空间的浪费。
随着作业的装入、撤离,主存空间被分成许多个分区,有的分区被作业占用,而有的分区是空闲的。当一个新的作业要求装入时,必须找一个足够大的空闲区,把作业装入该区,如果找到的空闲区大于作业需要量,则作业装入后又把原来的空闲区分成两部分,一部分给作业占用了;另一部分又分成为一个较小的空闲区。当一作主行结束撤离时,它归还的区域如果与其它空闲区相邻,则可合成一个较大的空闲区,以利大作业的装入。
可变分区调度算法
1)首次适应算法。每次分配时,总是顺序查找未分配表,找到第一个能满足长度要求的空闲区为止。分割这个找到的未分配区,一部分分配给作业,另一部分仍为空闲区。这种分配算法可能将大的空间分割成小区,造成较多的主存“碎片”。
2)最佳适应算法。从空闲区中挑选一个能满足作业要求的最小分区,这样可保证不去分割一个更大的区域,使装入大作业时比较容易得到满足。采用这种分配算法时可把空闲区按大小以递增顺利排列,查找时总是从最小的一个区开始,直到找到一个满足要求的区为止。
3)最坏适应算法。挑选一个最大的空闲区分割给作业使用,这样可使剩下的空闲区不至于太小,这种算法对中、小作业是有利的。采用这种分配算法时可把空闲区按大小以递减顺利排列,查找时总是从最大的一个区开始。按这种方法,在收回一个分区时也必须对表格重新排列。 尽管虚拟内存允许进程有其独立的虚拟地址空间,但有时也需要在进程之间共享内存。 例如有可能系统中有几个进程同时运行BASH命令外壳程序。为了避免在每个进程的虚拟内存空间内都存在BASH程序的拷贝,较好的解决办法是系统物理内存中只存在一份BASH的拷贝并在多个进程间共享。动态库则是另外一种进程间共享执行代码的方式。共享内存可用来作为进程间通讯(IPC)的手段,多个进程通过共享内存来交换信息。 Linux支持SYSTEM V的共享内存IPC机制。
❺ 良好的仓库储存管理应注意哪几点
1.库存商品要进行定位管理,其含义与商品配置图表的设计相似,即将不同的商品分类、分区管理的原则来存放,并用货架放置。仓库内至少要分为三个区域:第一,大量存储区,即以整箱或栈板方式储存;第二,小量存储区,即将拆零商品放置在陈列架上;第三,退货区,即将准备退换的商品放置在专门的货架上。
2.区位确定后应制作一张配置图,贴在仓库入口处,以便于存取。小量储存区应尽量固定位置,整箱储存区则可弹性运用。若储存空间太小或属冷冻(藏)库,也可以不固定位置而弹性运用。
3.储存商品不可直接与地面接触。一是为了避免潮湿;二是由于生鲜仪器吸规定;三是为了堆放整齐。
4.要注意仓储区的温湿度,保持通风良好,干燥、不潮湿。
5.仓库内要设有防水、防火、防盗等设施,以保证商品安全。
6.商品储存货架应设置存货卡,商品进出要注意先进行出的原则。也可采取色彩管理法,如每周或每月不同颜色的标签,以明显识别进货的日期。
7.仓库管理人员要与订货人员及时进行沟通,以便到货的存放。此外,还要适时提出存货不足的预警通知,以防缺货。
8.仓储存取货原则上应随到随存、随需随取,但考虑到效率与安全,有必要制订作业时间规定。
9.商品进出库要做好登记工作,以便明确保管责任。但有些商品(如冷冻、冷藏商品)为讲究时效,也采取卖场存货与库房存货合一的做法。
10.仓库要注意门禁管理,不得随便入内。
❻ 在具有块表的段页式存储管理方式中,如何实现地址变换
本系统中使用段表寄存器存放段表基址和段长CPU提供的逻辑地址中的段号S首先和段长TL比较,若未越界则根据S和段表基址找到相应段表项中纪录的该段所在页表基址,接着使用段内页号P获得对应页面的页表项位置,从中找到帧号b,最后拼接上页内地址W得到数据的物理地址
❼ 线性表的存储方式即可是顺序方式
( T )1.线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。
( T)2. 栈和队列的存储方式既可是顺序方式,也可是链接方式。
( T )3.二维数组是其数组元素为线性表的线性表。
( T )4. 对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i—1个结点。
( F)5.线性表的顺序存储表示优于链式存储表示。
( F )6. 具有12个结点的完全二叉树有5个度为2的结点。
( F )7.线性表的逻辑顺序与物理顺序总是一致的。
( F )8. 线性表在顺序存储时,逻辑上相邻的元素未必在存储的物理位置次序上相邻。
( T )9.每种数据结构都应具备三种基本运算:插入、删除和搜索。
三、 单项选择题
( C )1.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为:
(A)存储结构 (B)逻辑结构 (C)顺序存储结构 (D)链式存储结构
( B )2.一个顺序表第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是 b
(A)110 (B)108 (C)100 (D)120
( D)3. 下面关于线性表的叙述中,错误的为()
A. 顺序表使用一维数组实现的线性表B. 顺序表必须占用一片连续的存储单元
C. 顺序表的空间利用率高于链表D. 在链表中,每个结点只有一个链域
( C )4.请指出在顺序表{2、5、7、10、14、15、18、23、35、41、52}中,用二分法查找关键码12需做多少次关键码比较。 (C)
A.2 B.3 C.4 D.5
( B )5. 在需要经常查找结点的前驱与后继的场合中,使用 比较合适。
A. 单链表B. 双链表C. 顺序表D. 循环链表( B )
( B )6 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动 个元素
(A)8 (B)63.5 (C)63 (D)7
( D )7. 判定一个队列QU(最多元素为m0)为满队列的条件是_______
(A)QU->rear - QU->front = = m0 (B)QU->rear - QU->front -1= = m0
(C)QU->front = = QU->rear (D)QU->front = = QU->rear+1
( C )8. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为
(A)i (B)n=i (C)n-i+1 (D)不确定
( C )9.算法分析的目的是:
A. 找出数据结构的合理性B. 研究算法中的输入/输出关系
C. 分析算法的效率以求改进D. 分析算法的易读性
( C )10按照二叉树的定义,具有3 个结点的二叉树有()种。
A.3 B.4 C.5 D.6
答案是正确的 呵呵 你这些题的答案我都有 还有你以后的答案我也有 要的话以后再问我要啊
❽ 表空间按存储管理方式分类及类型分别有哪些
有两种:1.字典管理,2.本地管理
字典管理 :在数据字典中管理表空间的空间分配。本地管理 :在每个数据文件中使用位图来管理空间的分配,表空间中所有区的分配信息都保存在该表空间对应的数据文件的头部。
oracle 8i以前只有字典管理,而在之后的版本引入本地管理。
字典方式下:ORACLE根据存储子句分配区,这些参数可以在创建表空间后修改。参数设置不恰当,表空间中会有空闲区碎片,需要DBA手工执行碎片合并,降低性能,增加DBA工作。本地方式下:由ORACLE自动分配区,这种方式一旦确定不能修改。ORACLE9I 建议采用方式。
本地管理的表空间的优点:速度快,存储空间的分配和回收只是简单地改变数据文件中的位图,而不像字典管理方式还需要修改数据库,改善了存储管理的性能。某些在字典管理方式下的存储分配有时会产生递归操作,从而影响了系统的性能,使用本地管理方式不会产生递归操作,无碎片,更易于DBA维护。
❾ 操作系统的内存分配一般有哪几种方式,各有什么优缺点
变长:内存时比较灵活,但是易产生内存碎片。
定长:灵活性差,但分配效率较高,不会产生内存碎片。
❿ 在具有块表的段页式存储管理方式中,如何实现地址变换
实现方案如下:
首先设置一段表寄存器,在其中存放段表始址和段长SL,进行地址变换时,利用段号S与段长SL进行比较,若S<SL,表示未越界,于是利用段表始址和段号来求出该段所对应的段表项在段表中的位置,从中得出该段的页表始址;
并利用逻辑地址中的段内页号P来获得对应页的页表项位置,从中读出该页所在的物理块号b,再利用块号b和页内地址来构成物理地址。
在具有快表的段页式存储管理方式中,段表和页表被放在快表内,每次访问它时,利用段号和页号去访问快表,若找到匹配项,便可以从中得到相应的物理块号,用来和业内地址一起生成物理地址;
若找不到匹配项,则需3次访问内存,得到物理块号,并将其抄入快表。快表已满时,则通过适当的算法,换出最近最久没有被访问的项。