




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、四级数据库工程师常见疑难题型解析作者:老胡少侠写在前面:也许,对于多年考试、考试多年的学子来说,没有考试的压力, 提不起学习的动力!大学毕业十年了,能促使自己重新打开书本,认 真阅读当年熟悉现在陌生的专业书籍,也许只有那花了票子报了名参 加的考试吧!我们大多数人,都是普通人一枚,需要通过勤奋的学习,才能获 取一些知识;我们大多数人,都为了考试而考试,考试前刻苦学习的 知识考过后很快就忘了;我们大多数人,都非常希望花一点点时间, 就掌握了考试的重点与难点,然后通过考试拿证在手。本篇学习小结,针对的阅读群体,当然不是专业学者,也肯定不 是学霸学精,只是为大多数的普通学子提供一些辛苦整理的资料,让我
2、们知其然知其所以然;本篇学习小结,是按照笔者自己学习过程中 遇到难题的顺序总结的,没有区分是数据库类还是操作系统类题目, 比较杂乱,读者可以自己下载后重新组织;本篇学习小结,是针对常 考、常错、比较难的十三种类型(共十二页)的题目,参考网上不同 的解题方法,选择比较容易理解和掌握的解题方法, 整理在题目的解 析里,是笔者辛苦的结晶,望珍惜、望学好、望通过!PS:考试资料只需要购买未来教育的计算机等级考试题库,无论你是专业还是非专业的,因为考试题目就是题库中原题,如果你认真做完18套真题,即1440 道题目,通过考试完全没问题。如果记忆力很好的话,甚至能拿优秀四级数据库工程师常见疑难题型解析作者
3、:老胡少侠1、在某页式存储管理系统中, 页面大小为1KB,物理内存为256MB,进程地址空间为 512MB, 只考虑一级页表,则页表长度 (页表项个数)为:解析:进程地址空间即逻辑地址空间为512MB=2A29B ,页面大小为1KB即页内地址空间为2A10B,那么页号空间即页表长度为:2A (29-10) =2A19。这里物理内存 256MB是干扰项。扩展:简单页式存储管理方案中,若地址用m个二进制位表示,页内地址部分占用n个二进制位,则最大允许进程有多少个页面:m-n位用于描述页面编号,所以最大允许进程有2A(m-n)个页面。逻辑地址m位:页号m-n位页内地址n位2、有一个虚拟页式存储系统,
4、采用最近最少使用( LRU)页面置换算法,系统分给每个进 程3页内存,其中一页用来存放程序和变量i,j (不作他用)。假设一个页面可以存放 P个整数变量。某进程程序如下: 代码一(按行初始化访问):代码二(按列初始化访问):VAR A:ARRAY1.M, 1.N OF integer; VAR A:ARRAY1.M, 1.N OF integer;i,j:integer;i,j:integer;FOR i:=1 to M DOFOR j:=1 to N DOFOR j:=1 to N DOFOR i:=1 to M DOAi,j:=0;Ai,j:=0;设变量i,j放在程序页面中,初始时,程序及
5、变量i,j已在内存,其余两页为空。矩阵 A按行序存放。试问当程序执行完后,共缺页多少次? 解析:上述代码的区别在于,代码一是按行访问,代码二是按列访问,但矩阵是按行序存放。假设页面总量 P=300,列数N=300,行数M=200,计算公式如下:当采取代码一的访问方式,存放方式与访问方式相同,按行存放一页可存储(P+ N)行,按行访问 M行,第一行缺页一次,第(P+ N) +1行缺页一次,即缺页 M+ (P+N) 次,则题设中缺页 200次。当采取代码二的访问方式,存放方式与访问方式不同,按行存放一页可存储(P+ N)行,按列访问MX N个列元素,第一列第一行缺页一次,第一列第(P+ N) +1
6、行缺页一次,即缺页 MXN+ (P+N),则缺页 300*200次。如下是按列访问的图示例子:123451 OOOOO2 000003 OOOOO4 OOOOO5 000006 OOOOO678A:ARRAY1.6, 1.8,每一页存放 16个整数变量O O O 一页可以存放两行,当按列访问 A1,1时缺页,O O O A2,1不缺页,A3,1缺页,A4,1不缺页,O O O A5,1缺页,A6,1不缺页,共缺页三次。O O O 以此类推,每一列都缺页三次,共计缺页8*3次。O O O 即 MXN+ (P+N) =6X8+ ( 16 + 8) =24 次12341oooo2OOOO3 oooo
7、4 oooo5 00006 ooooA:ARRAY1.6, 1.4,每一页存放 12个整数变量一页可以存放三行,当按列访问A1,1时缺页,A2,1不缺页,A3,1不缺页,A4,1缺页,A5,1不缺页,A6,1不缺页,共缺页二次。以此类推,每一列都缺页二次,共计缺页4*2、次。即 MXN+ (P+N) =6X4+ (12 + 4) =8 次3、假设某计算机系统的主存大小为256KB,在某一时刻主存白使用情况如表 3-3所示。表3-3某一时刻主存的使用情况起始地址OKB20KB50KB90 KB100KB105即135KB160KB175KB195KB220KBtt态已用未用已用已用未用已用未用已
8、用未用未用已用容量20KB30KB40KB10KB5KB30KB25KB15KB20KB25KB36KB去3T分配后的主存情况起始地址0KB20KB40KB50 KB90KB100KB105KB135KB14 目 KE160KB175KB195KB200KB220KB状态已用已用未用已用已用未用已用已用未用已用未用已用未用已用容量20KB20KB10KB40KB10KE5KB30KB10KB15KB15KB20KB5KE20KB36KE此时,若进程顺序请求 20KB、10KB和5KB的存储空间,系统采用 算法为进程依次 分配主存,则分配后的主存情况如表3-4所示。解析:首先,理解最差适配、最佳
9、适配、首次适配、下次适配算法:最差适配,从全部空闲区中找出能满足作业要求的、且大小最大 的空闲分区,从而使链表中的结点大小趋于均匀,适用于请求分配的内存大小范围较窄的系统。为适应此算法, 空闲分区表(空闲区链)中的空闲分区要按大小 从大到小 进行排序,自表头开始查找到第一 个满足要求的自由分区分配。该算法保留小的空闲区,尽量减少小的碎片产生。最佳适配,从全部空闲区中找出能满足作业要求的、且大小最小 的空闲分区,这种方法能使碎片尽量小。 为适应此算法,空闲分区表(空闲区链)中的空闲分区要按大小从小到大进行排序,自表头开始查找到第一个满足要求的自由分区分配。该算法保留大的空闲区, 但造成许多小的空
10、闲区。首次适配(最先适配),从空闲分区表的第一个表目起查找该表,把最先能够满足要 求的空闲分区分配给作业,这种方法目的在于减少查找时间。为适应这种算法,空闲分区表(空闲区链)中的空闲分区要按 地址由低到高进行排序。该算法优先使用低地址部分空闲区, 在低址空间造成许多小的空闲区,在高地址空间保留大的空闲区。下次适配(临近适配),其工作方式和首次适配算法相同,不同的是每次 找到合适的空闲的分区时就记住它的位置 ,以便下次就从该位置开始往下查找,而不是每次都像首次适配算法那样从头开始查找。 这种算法的总体结果通常要比首次适配算法差。由于它经常会在内存的末尾分配存储分区,使位于存储空间末尾的最大分区被
11、撕裂成小的外部碎片,因此必须经常不断地进行存储紧凑。在该算法中应采取循环查找方式,即最后上个空闲区的大小仍不能满足要求时,应再从第一个空闲区开始查找,故又称为循环造就算法。其次,根据题目中条件,逐步解答此题。分析表 3-3可知:1、空闲区最大的是起始地址为 20KB,容量30KB;2、空闲区最小的是起始地址为100KB,容量5KB;3、低地址部分第一个空闲区是起始地址为20KB,容量30KB。顺序请求20KB、10KB和5KB的存储空间后,分析表 3-4可知:1、起始地址20KB的空闲区被使用,容量 20KB;2、起始地址135KB的空闲区被使用,容量 10KB;3、起始地址195KB的空闲区
12、被使用,容量 5KB;该算法选择了空闲区最大、低地址部分第一个空闲区分配给存储空间为20KB的请求进程,排除最佳适配算法的可能; 空闲区满足10KB请求的低地址部分第一个空闲区是40KB,容量冈I好10KB,表中算法未选择分配,排除首次适配和下次适配的可能;空闲区大小第二 的是起始地址为135KB和195KB,都被该算法选择分配给请求进程,所以系统采用的是 最差适配算法。最后,分别采用剩下的三种算法对题目中顺序请求20KB、10KB和5KB的存储空间进行分配如下表:表3-0最优适配起始地址0KB20KB50KB90KB100KB105KB135KB145KB160KB175KB195KB220
13、KB状态已用未用已用已用已用已用已用未用已用已用未用已用容量20KB30KB40KB10KB5KB30KB10KB15KB15KB20KB25KB36KB表3-1首次适配和下次适配(对本题两个算法分配结果可以相同)起始地址0KB20KB40KB50KB90KB100KB105KB145KB160KB175KB195KB220KB状态已用已用已用已用已用已用已用未用已用未用未用已用容量20KB20KB10KB40KB10KB5KB30KB25KB15KB20KB25KB36KB表3-2下次适配的起始位置不一样,分配结果不一样,如下:起始 地址0KB20KB50KB90KB100KB105KB13
14、5KB155KB160KB175KB185KB190KB195KB220KB状态已用未用已用已用未用已用已用未用已用已用已用未用未用已用容量20KB30KB40KB10KB5KB30KB20KB5KB15KB10KB5KB5KB25KB36KB4、在实现文件系统时,可采用“目录项分解法”加快文件目录的检索速度。假设目录文件存放在磁盘上,每个 磁盘块为1024B,文件控制块占32字节(即32B),其中文件名占8B。文件控制块分解后,第一部分占10B(包括文件名和文件内部号),第二部分占26B(包括文件 内部号和文件其他描述信息 )。假设某一个 目录文件共有256个文件控制块,试分别计算采 用目录
15、项分解法 前和分解法后,查找该目录文件的某一个文件控制块的平均访问磁盘次数。解析:此题是常考题,一定要分清计算的是采用分解法前还是采用分解法后。如题,某一个目录文件共有256个文件控制块,每个磁盘块大小为1024字节,文件控制块大小为 32字节。首先,采用目录项分解法前,文件控制块是一个整体,每个磁盘块可存放1024+32=32个文件控制块;对于某一个共有256个文件控制块的目录文彳则需要存放在256+32=8个磁盘块中;查找该目录文件的某一个文件控制块,最少访问一个磁盘块,最多每个磁盘块都访问一次即8次才检索到,那么平均访问磁盘次数=(1+8) +2=4.5。其次,采用目录项分解法后,文件控
16、制块被分成两部分,第一部分占10B(包括文件名和文件内部号),一个磁盘块可存放 102410 702个文件控制块第一部分;对于某一个共有256个文件控制块的目录文件,则第一部分存放在256+ 102咫 个磁盘块中;查找该目录文件的某一个文件控制块,首先查找该文件控制块的第一部分,最少访问一个磁盘块,最多每个磁盘块都访问一次即 3次才检索到,那么查找第一部分的平均访问磁盘次数=(1+3) + 2=2;然后根据第一部分记录的文件内部号,需要再访问一次磁盘,读取该文件控制块的第二部分。故查找该目录文件的某一个文件控制块的平均访问磁盘次数=(1+3) +2+1=3次。最后,可总结出计算公式如下:分解前
17、,计算出目录文件存放在多少个磁盘块中,设为 N,则平均访问磁盘次数为: (N+1) + 2 次;分解后,计算出目录文件第一部分存放在多少个磁盘块中,设为 M,则平均访盘次数为: (1+1)+ (M+1)+2 = (M+3) +2 次。备注:何为目录项分解法?即把 目录项(文件控制块)分为两部分:第一部分为名号目录项,包含文件名以及相应的文 件内部号;第二部分为基本目录项,包含了除文件名外文件控制块的其他全部信息。目录文件也分为名号目录文件和基 本目录文件。查找一个目录项就分成两步:首先访问名号目录文件,根据文件名查找相应的文件内部号;然后访问基本目录文件,根据文件内部号,可直接计算出 相应基本
18、目录项所在基本目录文件中的相对位置和物理 位置,并将它直接读 入内存。目录项分解法的优点是提高了文件目录检索的速度。5、在一个采用三级索引结构的 UNIX文件系统中,假设物理块大小为1KB,用32位表示一 个物理块号。主索引表含有 13个块地址指针,其中前 10个直接指向盘块号,第 11个指向 一级索引表,第12个指向二级索引表, 第13个指向三级索引表, 那么,一个文件最大可有 多少块?解析:题目中主索引表有13个块地址指针,前10个索引项直接存放物理块号(直接寻址),最多寻址10个物理块;第11个、12个、13个块地址指针指向的也是物理块,只不过物理块里存放的是索引表, 说明一级索引表、二
19、级索引表、三级索引表的大小为物理块大小1KB;而一个物理块号用 32位表示,即在索引表中存放的空间大小为4B; 一级索引表可以存放多少个物理块号,即可以寻址多少个物理块(一次间接寻址),即1KB+ 4B=256个;二级索引表可存放多少个物理块号(二次间接寻址),即256X 256个;三级索引表可以存放多少个物理块号(三次间接寻址),即256X 256X256个。那么,一个文件最大可以有:(10+256+256X256+256X 256X 256)块。扩展:同类题型,另一种表述方法如下:某文件系统采用 UNIX三级索引结构,I节点中包含13个地址项,其中0-9项为直接地址,10为一次间接索引项,
20、11为二次间接索引项,12为三级间接索引项。若磁盘块大小为4096B, 地址项占用4B,则该文件系统中文件的最大尺寸不能超过下列哪项数值?答案:(10+1024+1024X 1024+1024X 1024X 1024) X 4096B备注:UNIX文件系统采用多级索引结构,每个文件的索引表为13个索引项,每项2个字节。一级文件索引(直接索引)结构中:在文件目录表项中有一组表项用于索引,每一个表项登记的是逻辑记录所在的磁盘 块号。逻辑记录与磁盘块号的大小相等,都为 512B。二级文件索引(一级间接索引)结构中:文件目录中有一组表项,其内容登记的是第一级索引表块的块号。第一级索引 表块中的索引表登
21、记的是文件逻辑记录所在的磁盘块号。三级文件索引(二级间接索引)结构中:文件目录项中有一组表项,其内容登记的是第二级索引表块的块号。第二级索 引表块中的索引表项登记的是第一级索引表块的块号,第一级索引表项中登记的是文件逻辑记录所在的磁盘块号。6、 某计算机系统中共有 3个进程P1、P2和P3, 4类资源ri、r2、r3和r4。其中ri和r3 每类资源只有1个实例,r2资源有2个实例,r4有3个实例。当前的资源分配状态如下: E=<P1, r1>, <P2, r3>, <r2, P1>, <r1, P2>, <r2, P2>, <r
22、3, P3>若进程P3申请一个r2类资源,则系统可能会发生下列哪一种现象?A.死锁 B.无死锁 C活锁 D.饥饿解析:将题目中的资源分配状态图标上有向箭头,如下:红色箭头表示申请资源等待分配,绿色箭头表示已经分配等待释放。通过观察上图,发现存在两条回路 p1->r1->p2->r3->p3->r2->p1、p2->r3->p3->r2->p2 ,因此系统可能会发生 死锁现象。扩展:某操作系统的当前资源分配状态如下表所示:进程最大资源需求已分配资源数量待分配资源数量R1R2R3R1R2R3R1R2R3P1753010743P232
23、2200122P3902302600P4222211011P5433002431假设当前系统可用资源R1、R2和R3的数量为(3, 3, 2),且该系统目前处于安全状态,那么下列哪些是安全序列?(ACDE)A.P2P4P1P5P3 B.P4P5P3P1P2 C.P2P5P4P1P3 D.P4P2P1P3P5 E.P2P4P3P5P1常规思路:比较每一次当前进程运行结束后的可用资源数是否满足下一个进程的运行资源需求。如:B项P4P5运行结束后,可用资源数为(5, 4, 5),准备分配给P3, P3当前资源 需求量为(6, 0, 0),则发现R1资源不足以分配给 P3,因此B项不是安全序列。快速排
24、除:在表尾部加上一列待分配资源数量, 可以判断当前系统可用资源, 只能分配给 进程P2或P4,如分配给P4运行结束后,则可用资源扩大为( 5, 4, 3),只能分配给进程 P2或P5,如分配给P5运行结束后,则可用资源扩大为( 5, 4, 5),只能分配给进程 P2。7、有如下C语言程序void * th_f(void * arg) (printf("Hello World");pthread_yield(0);int main(void)(pthread_t tid;int st;st = pthread_create(&tid, NULL, th_f, NULL
25、); 创建线程后,运行该线程,线程名为th_f。if(st=0)printf("Oops, I can not createthreadn");exit(NULL);针对上述程序,下列叙述中哪一个是正确的?解析:程序中pthread_yield(0)表示线程th_f运行后主动释放CPU给其他线程。其他函数描述如下:pthread_exit(0):表示线程th_f运行后主动退出;程序运行中最多存在2个线程。pthread_join(2):表示线程th_f运行后等待一个特定的线程退出;没有函数调用,表示线程th_f运行后退出。8、对于如下C语言程序 int main()(pri
26、ntf("Hello World'n");fork();fork(); / 再加上一行 fork();printf("Hello Worldn"); 在UNIX操作系统中正确编译链接后,其正确的运行结果为A.共打印出2行Hello WorldB.共打印出3行Hello WorldC.共打印出4行Hello WorldD.共打印出5行Hello World答案:D解析:程序中fork()函数,若成功调用一次则返回两个值,子进程返回 0,父进程返回子进 程标记;若出错,返回-1。在创建子进程之前输出一行 Hello World ,假设程序正确运行并创
27、建子进程成功,fork()函数两次调用将有四个进程,故输出 2X2=4行Hello World ,共计打印 出5行Hello World。如果fork()函数三次调用,也就是再加上一行fork();,那么将创建 2X2x 2=8个进程,共打印出9行Hello World。扩展1:于如下C语言程序int main()(pid_t pid;int a=1;pid = fork();if(pid=0)printf("This is the child process, x=%dn", +a);elseprintf("This is the parent process,
28、 x=%dn", -a);在UNIX操作系统中正确编译链接后,其正确的运行结果是This is the child process,a=2This is the parent process,a=0扩展2:于如下C语言程序int main()(int i;for(i=0;i<3;i+)( fork(); Printf( " Hello Worldn " ) 在UNIX操作系统中正确编译链接后,其运行结果为:共打印出14行Hello World。详解:第一次调用时,i=0,父进程A,创建子进程B,都执行一次打印,输出两行Hello World ; 随后i+,
29、i=1,父进程A再次创建子进程 C,子进程B创建其子进程 D,都执行一次打印, 输出四行Hello World ;随后i=2,父进程A再次创建子进程 E,子进程B创建其子进程 F, 子进程C创建其子进程 G,子进程D创建其子进程H,都执行一次打印,输出八行Hello World ; 共打印出 2+4+8=14 行 Hello World。扩展3:某一单核处理机的计算机系统中共有20个进程,那么处于运行状态的进程最多有个,最少有 个;处于就绪状态的进程最多有个,最少有 个;处于阻塞状态的进程最多有 个,最少有 个;这些进程是运行的。解析:单核处理机的计算机系统中,处于运行状态的进程 最多有1个,
30、最少有0个;处于就绪状态的进程,最多有19个,最少有0个;处于阻塞状态的进程,最多有20个,最少有0 个;这些进程是并发运行的。9、下列关于函数依赖的叙述中,哪一条是错误的()A.若X- Y, X- Z,则X- YZ (合并规则)B.若 XYf Z,则 X一Z, Y 一ZC.若X-Y, Y-Z,则XfZ (传递律)D.若X- Y,Y' e Y,则X- Y'(分解规则)答案:B解析:Armstrong 公理:设U是关系模式 R的属性集,F是R上成立的只涉及 U中属性的函数依赖集。函数依赖 的推理规则有以下三条:自反律:若属性集Y包含于属性集 X,属性集X包含于U,则 XY在R上成
31、立。(此处X-Y 是平凡函数依赖)增广律:若 XY在R上成立,且属性集 Z包含于属性集U,则XZYZ在R上成立。传递律:若 XfY和YfZ在R上成立,则 X 一Z在R上成立。推论:合并规则:若 X-Y, XfZ同时在R上成立,则 XfYZ在R上也成立。分解规则:若 XfW在R上成立,且属性集 Z包含于 W,则XfZ在R上也成立。伪传递规则:若 X-Y在R上成立,且 WY>Z ,则XW>Z 。扩展1:下列关于部分函数依赖的叙述中,哪一条是正确的()A.若 XY,且存在属性集 Z, Zn Y名,XZ,则称Y对X部分函数依赖B.若X Y,且存在属性集 Z, Zn Y#?, X Z,则称Y
32、对X部分函数依赖C.若XfY,且存在X的真子集X', X' - Y,则称Y对X部分函数依赖D.若 X Y,且又于X的任何真子集 X',都有X' - Y,则称Y对X部分函数依赖答案:C备注:术语(1)若XfY,则X称作决定因素(Determinant )(2)若 X-Y, Yf X,称作 X<->Y。(3)若Y不函数依赖于X,称作X -/-> Y 。(4)X -Y,若Y不包含X,则称X-Y为非平凡的函数依赖。正常讨论的都是非平凡的函数依赖。(5)X -Y,若丫包含X,则称X-Y为平凡的函数依赖。(6)完全函数依赖(full functional
33、dependency) :在R(U)中,设X、丫是关系模式R (U)中不同的属性子集,若 存在X-Y,且不存在X的任何真子集X',使得X' fY,则称Y完全函数依赖(full functional dependency ) 于X。 记作 X-F->Y 。(7)部分函数依赖:在关系模式 R (U)中,X、丫是关系模式R (U)中不同的属性子集,若 X-Y成立,如果X中 存在任何真子集X,而且有X-Y也成立,则称Y对X是部分函数依赖,记作:X-P->Y o(8)设R是关系模式,U是其属性集,K包含于U。若K完全函数确定U,则称K是R的候选键(又叫候选关键字, 候选码)。
34、包含在任意候选键内的属性称为 键属性(又叫主属性),不是键属性的属性称为非键属性(又叫非主属性)。 显然,候选键可以唯一标识关系的元组。候选键可能不唯一,通常指定一个候选键作为识别元组的主键。扩展2:设U为所有属性,X, Y Z为属性集,Z=U- X Y。下列关于函数依赖和多值依赖 的叙述中,哪些是正确的?A.若 X丫则X一一 Y (多值依赖的特殊情况)B.若 A一丫贝U X- YC.若X-Y Y? 丫则X- Y (函数依赖之分解规则)D.若 A-Y Y? 丫则 X一一 Y'E.若X一一 Y,则X- Z (对称性)答案:ACE备注:多值依赖的定义:设R(U)是一个属性集合 U上的一个关
35、系模式,X, Y和Z是U的子集,并且Z=U-X-Y多值依 赖X->->Y成立当且仅当对 R的任一个关系r, r在(X,Z比的每个值应一组 Y的值,这组值 仅仅决定于X值而与Z值无关。函数依赖是多值依赖的特殊情况。多值依赖的性质:若X一一 Y,则 X一一 Z;多值依赖对称性若X-Y,则X一一 Y;说明函数依赖是多值依赖的特殊情况10、若关系模式R中没有非主属性,则()A. R肯定属于2NF, (1 R不一定属于 3NFB. R肯定属于3NF,但R不一定属于 BCNFC. R肯定属于BCNF, (1 R不一定属于4NFD. R肯定属于4NF解析:答案选Co1NF:关系R的属性值为不可分
36、的原子值;即要求属性不可再分解。2NF:满足1NF,消除非主属性对候选码的部分函数依赖;即要求记录有惟一标识。3NF:满足2NF,消除非主属性对候选码的传递函数依赖;即要求字段没有冗余。BCNF:满足3NF,消除每个属性对候选码的传递函数依赖;即主属性不依赖于主属性。(当只检查非主属性时,BCNF就成了第三范式。)4NF:满足BCNF,消除非平凡且非函数依赖的多值依赖;即要求把同一表内的多对多关系 删除。级别特点无损分解保持函数依赖1NF属性值是原子值2NF消除了非主属性对码的部分函数依赖能达到能达到3NF消除了非主属性对码的部分函数传递能达到能达到BCNF消除了主属性对码的部分和传递函数依赖
37、能达到不一定能达到4NF消除了没有非平凡且非函数依赖的多值依赖能达到不一定能达到5NF消除不是由候选码所蕴含的连接依赖能达到不一定能达到11、设有关系模式 R (A, B, C, D),根据语义有如下函数依赖集:F=A-C,B8 D,OA。现将关系模式R分解为两个关系模式 R1 (A,C) ,R2 (A,B,D),那么这个分解() 答案:具有无损连接性,不保持函数依赖。解析:根据充分条件来快速判断无损分解的判断:如果 R1AR2是R1或R2的超码,则R上的分解(R1, R2)是无损分解。保持依赖的判断:如果F上的每一个函数依赖都在其分解后的某一个关系上成立,则这个分解是保持依赖的。上题中R1A
38、R2=A, A-C,是R1的超码,具有无损连接性;B D,OA在R2上不成立,因此不保持函数依赖。备注:关系模式分解的无损连接和保持函数依赖两个特性之间没有必然的联系。12、假设磁头当前位于第 105道,正在向磁道序号增加的方向移动。现有一个磁道访问请求序列为35, 45, 12, 68, 110, 180, 170, 195,采用SCAN调度(电梯调度)算法得到的磁 道访问序列是()A. 110, 170, 180, 195, 68, 45, 35, 12B. 110, 68, 45, 35, 12, 170, 180, 195C. 110, 170, 180, 195, 12, 35, 4
39、5, 68D. 12, 35, 45, 68, 110, 170, 180, 195解析:SCAN调度算法即扫描算法,如下图所示,正在向磁道序号增加的方向移动,访问序列为110, 170, 180, 195,后向磁道序号减少的方向移动,访问序列为68, 45, 35, 12 ,因此,选择答案Ao扩展:上题如果采用SSF(最短寻道优先调度算法、最短寻找时间优先算法)算法,如下图 所示,首先选择最近的磁道110,然后基于110,选择最近的磁道 68,以此类推,访问序列为下图中箭头所示,为 110, 68, 45 , 35, 12, 170, 180, 195备注:常用四种磁盘调度算法先来先服务算法
40、:按访问请求到达的先后次序服务最短寻找时间优先算法:优先选择距当前磁头最近的访问请求进行服务,主要考虑寻道优先。扫描算法(又称电梯算法):在磁头当前移动方向上选择 与当前磁头所在磁道距离 最近的请求作 为下一次服务的对象。麋大耳循环扫描算法:在扫描算法的基础上规定磁头单向移动来提供服务,回返时直接快速移动 至起始端而不服务任何请求。13、在UNIX文件系统中,若文件 Filel的权限是755,则表示(ABDE)A.文件属主可执行 FilelB.文件属主可读FilelC.同组用户可写FilelD.同组用户可执行 FilelE.其他用户可读 Filel解析:R:读;W:写;X:执行同组用户(RWX
41、)101FILE1进行写操作。其他用户(RWX)101C选项错误。FILE1属主(RWX)权PM 755111可知:同组用户和其他用户均不能对多选题常考知识点总结:1、在计算机系统中,并发进程间由于存在着相互制约关系会产生同步、互斥、死锁、饥饿问题;并发进程间存在这 相互不感知、相互直接感知(如通信)、相互间接感知(如共享资 源)的问题。2、计算机产生死锁的原因有两个:进程资源分配不当,并发进程推进顺序不当。 预防死锁:守护进程:(破坏互斥条件)可剥夺资源:即当某进程新的资源未满足时,释放已占有的资源(破坏不可剥夺条件)资源一次性分配:(破坏请求和保持条件)资源有序分配法:系统给每类资源赋予一
42、个编号,每一个进程按编号递增的顺序请求资源,释放则相反(破坏循环等待条件)-用来解决哲学家进餐问题。避免死锁:预防死锁的策略,会严重地损害系统性能。因此在避免死锁时,要施加较弱的限制,从而获得较满意的系统性能。由于在避免死锁的策略中,允许进程动态地申请资源。因而,系统在进行资源分配之前预先计算资源分配的安全性。若此次分配不会导致系统进入不安全状态,则将资源分配给进程;否则,进程等待。其中最具有代表性的避免死锁算法是银行家算法。解除死锁:当发现有进程死锁后,便应立即把它从死锁状态中解脱出来,常采用的方法有:剥夺资源:从其它进程剥夺足够数量的资源给死锁进程,以解除死锁状态;撤消进程:可以直接撤消死
43、锁进程或撤消代价最小的进程,直至有足够的资源可用,死锁状态.消除为止;所谓代价是指优先级、运行代价、进程的重要性和价值等。3、中断:处理器对系统中或系统外发生的异步事件的响应。中断事件:即中断源,引起中断的事件中断请求:中断源通过中断控制器向处理器发出的请求信号;中断断点:发生中断时正在运行程序的暂停点;中断处理程序:处理中断事件的程序;中断响应:处理器暂停当前程序转而处理中断的过程;4、易失性存储器:主存储器、高速缓冲存储器非易失性存储器: 快闪存储器、磁盘存储器、磁带存储器5、信息是数据的语义解释;数据是信息的语法定义。信息是数据的内涵;数据是信息的载体。信息具有特定的语义,而且可以存储以
44、及加工处理;数据可以表示信息,文字、图像、声音 等都是数据的表现形式。信息可以用物理符号表示;数据是描述现实世界的符号记录。信息是具有社会属性的资源;信息的价值与信息的准确性、及时性、完整性、可靠性有关;6、数据库管理系统 DBMSDBMS是实现对数据库系统中的数据进行有效管理的复杂的系统软件;DBMS在操作系统的支持下运行;DBMS支持强有力的查询语言;DBMS支持对于持久存储的大量数据进行高效存取;备注:无法理解这句话的对错:DBMS支持以看起来是原子和独立于其他事务的方式并发地执行的持久的事务。如果多选题考到,不要选这个选项;单选题考到,看其他选项可有明 显错误;总之,这个选项不选就可以
45、了。、7、数据库事务的ACID特性事务的ACID特性指的是原子性、 一致性、隔离性和持久性。保证事务的原子性是 DBMS的事务管理器中故障恢复机制的责任;保证单个事务的一致性是应用程序员的责任;保证事务的隔离性是DBMS的事务管理器中并发控制部件的责任;保证事务的持久性是 DBMS的事务管理器中故障恢复机制的责任;8、Belady奇异现象,是指采用页面置换FIFO算法时,如果对一个进程未分配它所要求的全部页面, 有时就会出现分配的页面数增多,但缺页率反而提高的异常现象,这是一个违反直觉的现象。原因是:所使用的FIFO算法不够好。Thrashing抖动现象,又叫颠簸。如果分配给进程的存储块数量小
46、于进程所需要的最小值,进程的运 行将很频繁地产生缺页中断,这种频率非常高的页面置换现象称为抖动。产生原因是:进程的内存量不足,因而分配页面太少,总是缺页;页面置换算法不合理。备注:1)预防内存换页是出现颠簸现象,可以采用工作集算法。2)内存颠簸的解决方法是:1 .如果是因为运行的程序太多,造成程序无法同时将所有频繁访问的页面调入内存,则要降低多道 程序的数量。2 .如果是因为页面置换算法不合理,可以修改置换算法来解决这个问题;3 .否则,还剩下两个办法:1终止该进程;2增加物理内存容量9、虚拟性是OS的四大特性之一。如果说可以通过多道程序技术将一台物理CPU虚拟为多台逻辑CPU ,从而允许多个
47、用户共享一台主机, 那么,通过SPOOling技术便可将一台物理I/O设备虚拟为 多台逻辑I/O设备,同样允许多个用户共享一台物理 I/O设备。SPOOLing,是Simultaneous Peripheral Operation On-Line (即外部设备联机并行操作)的缩写,它是关于慢速 字符设备如何与计算机主机 交换信息的一种技术,通常称为 假脱机技术”,也称为假脱机真联机技术。10、关系模式的一个分解可以做到既具有无损连接性,又保持函数依赖性。两个特性都具有,则模式分解可以达到3NF,但不一定能达到BCNF。若要求分解具有无损连接性,则模式分解一定可以达到BCNF o若要求分解保持函
48、数依赖,则模式分解可以达到3NF,但不一定能达到BCNF o备注:关系模式分解的无损连接和保持函数依赖两个特性之间没有必然的联系。11、进程控制块可以分成调度信息和现场信息,调度信息包括进程名、进程号、存储信息、优先级、当前状态、资源清单等,供进程调度时参考使用;而 现场信息需要记录那些可能会 被其他进程改变的寄存器,如 程序状态字、时钟信息、界地址寄存器等。12、关系代数等价转换规则:无序笛卡尔积,自然连接,条件连接满足交换律、结合律:E1X E2=E2X E1、(E1 X E2) X E3=E1X (E2 X E3);E1? E2=E2 ? E1、(E1? E2) ? E3=E1? (E2
49、 ? E3);E1?f? E2= E2?f?E1、(E1?f?E2)?f?E3=E1 ? f? (E2?f? E3);选择b运算、选择b和投影口的混合运算满足交换律:(rF1 ( b F2 (E) =b F2 ( bF1 (E);<tF (HA1,A2 ,An (E) =HA1,A2 ,An( <r F (E);选择运算与并、差运算满足分配律:(tF( E1? E2)=(r F(E1) ? b F(E2);(tF( E1- E2)=(t F(E1)-(tF(E2);笛卡尔积与连接之间的公式:(rF(E1X E2)= E1? f? E2其实,记住几个特例就可以了,如下备注:集合 A、
50、B,有 A? B=B? A、A? B=B ? A,但 A- BB- A、A + BwB+A。投影运算不满足交换律,即:n L1(HL2(E) WHL2(IIL1(E);投影运算对交运算不具有分配律,即口 L(E1? E2)nL( E1)? EEL (E2);选择运算对差运算不具有分配律,即 b F(E1- E2)w b F( E1)- b F (E2);13、设备管理主要任务有缓冲管理、设备分配、设备处理三大功能,通过接口技术为用户提供一致的系统调用,通过协调技术避免设备冲突,属于设备分配功能。14、要求进程的逻辑地址与内存存储区域都是连续的是固定分区和可变分区存储管理方案,两者采用了连续分配 策略,并且是以整个程序不分割地直接装入内存。而页式、段式、段页式均采用了事先分割成多个相等大小块
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 转让露营设备合同协议
- 有奖举报协议书
- 消杀委托协议书
- 浙江小学三年级上册数学应用题100道及答案
- 滑板合作协议书
- 辣白菜购销合同协议
- 无偿救助协议书
- 遗产捐赠协议书范本
- 更改扶养协议书
- 提前终止房屋租赁合同协议书
- 危化品裂解裂化培训
- 个私协会工作总结
- 哺乳动物专题知识讲座
- 城市公共空间设计创新
- 简易安全管理检维修作业风险分析和安全措施课件
- 24年追觅在线测评28题及答案
- 2024年雅安市人力资源和社会保障局公开招聘编外工作人员1人高频难、易错点500题模拟试题附带答案详解
- 江苏省徐州市2025届2023-2024学年高二下学期期末抽测考试+物理试卷(含答案)
- 情侣协议书电子版简单模板
- 广东省惠州市2025届高三数学第一次调研考试试题
- 英语话中国智慧树知到答案2024年吉林大学
评论
0/150
提交评论