‘壹’ 文件的物理结构有哪3种,分别具备什么优缺点
一、顺序结构
优点:
1、支持顺序存取和随机存取。
2、顺序存取速度快。
3、所需的磁盘寻道次数和寻道时间最少。
缺点:
1、需要为每个文件预留若干物理块以满足文件增长的部分需要。
2、不利于文件插入和删除。
二、链式结构
优点:
1、提高了磁盘空间利用率,不需要为每个文件预留物理块。
2、有利于文件插入和删除。
3、有利于文件动态扩充。
缺点:
1、存取速度慢,不适于随机存取。
2、当物理块间的连接指针出错时,数据丢失。
3、更多的寻道次数和寻道时间。
4、链接指针占用一定的空间,降低了空间利用率。
三、索引结构
优点:
1、不需要为每个文件预留物理块。
2、既能顺序存取,又能随机存取。
3、满足了文件动态增长、插入删除的要求。
缺点:
1、较多的寻道次数和寻道时间。
2、索引表本身带来了系统开销。如:内外存空间,存取时间等。
拓展资料:
文件存取方法:
顺序存取:顺序存取是按照文件的逻辑地址顺序存取。
固定长记录的顺序存取是十分简单的。读操作总是读出上一次读出的文件的下一个记录,同时,自动让文件记录读指针推进,以指向下一次要读出的记录位置。如果文件是可读可写的。再设置一个文件记录指针,它总指向下一次要写入记录的存放位置,执行写操作时,将一个记录写到文件 末端。允许对这种文件进行前跳或后退N(整数)个记录的操作。顺序存取主要用于磁带文件,但也适用于磁盘上的顺序文件。
可变长记录的顺序文件,每个记录的长度信息存放于记录前面一个单元中,它的存取操作分两步进行。读出时,根据读指针值先读出存放记录长度的单元 。然后,得到当前记录长后再把当前记录一起写到指针指向的记录位置,同时,调整写指针值 。
由于顺序文件是顺序存取的,可采用成组和分解操作来加速文件的输入输出。
直接存取(随机存取法):
很多应用场合要求以任意次序直接读写某个记录。例如,航空订票系统,把特定航班的所有信息用航班号作标识,存放在某物理块中,用户预订某航班时,需要直接将该航班的信息取出。直接存取方法便适合于这类应用,它通常用于磁盘文件。
为了实现直接存取,一个文件可以看作由顺序编号的物理块组成的,这些块常常划成等长,作为定位和存取的一个最小单位,如一块为1024字节、4096字节,视系统和应用而定。于是用户可以请求读块22、然后,写块48,再读块9等等。直接存取文件对读或写块的次序没有限制。用户提供给操作系统的是相对块号,它是相对于文件开始位置的一个位移量,而绝对块号则由系统换算得到。
索引存取:
第三种类型的存取是基于索引文件的索引存取方法。由于文件中的记录不按它在文件中的位置,而按它的记录键来编址,所以,用户提供给操作系统记录键后就可查找到所需记录。通常记录按记录键的某种顺序存放,例如,按代表健的字母先后次序来排序。对于这种文件,除可采用按键存取外,也可以采用顺序存取或直接存取的方法。信息块的地址都可以通过查找记录键而换算出。实际的系统中,大都采用多级索引,以加速记录查找过程。
参考资料:网络:文件存取法
‘贰’ 急!!操作系统的判断题目
1.操作系统的所有程序都必须常驻内存.╳
2. 进程获得处理机而运行是通过申请而得到的. ╳
3. 通过任何手段都无法实现计算机系统资源之间的互换. ╳
4. 进程控制块中的所有信息必须常驻内存. ╳
5. 一旦出现死锁, 所有进程都不能运行. ╳
6. 所有进程都挂起时, 系统陷入死锁. ╳
7. 优先数是进程调度的重要依据, 一旦确定不能改变. ╳
8. 同一文件系统中不允许文件同名, 否则会引起混乱. ╳
9. 用户程序有时也可以在核心态下运行. ╳
10. 虚拟存储系统可以在每一台计算机上实现. ╳
11. 进程在运行中, 可以自行修改自己的进程控制块. ╳
12. 进程申请CPU得不到满足时, 其状态变为等待态. ╳
13. 在虚存系统中, 只要磁盘空间无限大, 作业就能拥有任意大的编址空间. ╳
14. 在内存为M的分时系统中, 当注册的用户有N个时,每个用户拥有M/N的内存空间.
15. 特殊文件是指其用途由用户特殊规定的文件. ╳
16. 由于P、V操作描述同步、互斥等问题的能力不足, 所以有必要引入其它的通讯原语或机制, 如send, receive或Monitor等. ╳
17. 大多数虚拟系统采用OPT(优化)淘汰算法是因为它确实可以得到最小的缺页率. ╳ 18. 实时系统中的作业周转时间有严格的限制. ╳
19. 文件的索引表全部存放在文件控制块中. ╳
20. 打印机是一类典型的块设备. ╳
21. 当一个进程从等待态变成就绪态, 则一定有一拿山者个进程从就绪态变成运行态. ╳
22. 执行系统调用时可以被中断. √
23. 在作业调度时, 采用最高响应比优先的作业调度算法可以得到最短的作业平均周转时间. ╳
24. 在请求页式存储管理中, 页面淘汰所花费的时间不属于系统开销. ╳
25. 进程优先数是进程调度的重要依据, 必须根据进程运行情况动态改变. ╳ 26. 流式文件是指无结构的文件. √
27. 参与死锁的所有进程都占有资源. ╳
28. 页式存储管理中, 用户应将自己的程序划分成若干相等的页. ╳
29. 引入当前目录是为了减少启动磁盘的次数. √
30. 文件目录必须常驻内存. ╳
31. 固定头磁盘存储器的存取时间包括搜查定位时间和旋转延迟时间. ╳
32. 在文件系统中, 打开文件是指创建一个文件控制块. ╳
33. 存储保护的目的是限制内存的分配. ╳
34. 原语和系统调用的主要区别在于两者的实现方法不同. ╳
35. 清内存指令只能在管态下执行. √
36. 在大型多道程序设计系统中, 为充分利用外部设备, 应使运行的若干程序都是I/O型的. √
37. 在页式虚拟存储系统中, 页面长度是根据程序长度动态地分配的. ╳ 38. 如果信号量S的当前值为-5, 则表示系统中共有5个等待进程. ╳
39. 磁盘上物理结构为链接结构的文件消薯只能顺序存取. √
40. 系统处于不安全状态不一唯衫定是死锁状态. √
41. 有m个进程的操作系统出现死锁时, 死锁进程的个数为1<k≤m. √
42. 进程状态的转换是由操作系统完成的, 对用户是透明的. √
43. 优先数是进程调度的重要依据, 优先数大的进程首先被调度运行. ╳
44. 文件系统的主要目的是存储系统文档. ╳
45. 对文件进行读写前,要先打开文件. √
46. 所谓最近最少使用(LRU)页面调度算法是指将驻留在内存中使用次数最少的页面淘汰掉. ╳
47. 由于现代操作系统提供了程序共享的功能,所以要求被共享的程序必须是可再入程序. √
48. 参与死锁的进程至少有两个已经占有资源. √
49. 在页式虚拟存储系统中,页面长度固定并且是硬件的设计特性. √
50. 不可抢占式动态优先数法一定会引起进程长时间得不到运行. ╳
51. 设置中断屏蔽指令可以在目态下执行. ╳
‘叁’ 什么是文件系统的物理属性
1. 文件和文件系统
(1) 文件的概念
文件是存储在外存上的具有标识名的一组相关信息集合,它具有文件类型、长度、物理位置、存取控制和建立时间等属性。文件的三个基本特征是:
文件的内容是一组信息的集合,可以是源程序、二进制代码、文本文档、数据、表格、声音和图象等。
文件具有保存性,存放在某种存贮介质上,长期保存,多次使用。
文件是按名存取的,每个文件都具有唯一的标识名。
(2) 文件系统
文件系统包含两方面的含义,一方面包括负责管理文件的一组系统软件,另一方面也包括被管理的对象,即文件。
文件系统的主要目标是提高外存空间的利用率,它要解决的主要问题有:完成文件存储空间的管理,实现文件名到物理地址的转换,实现文件和目录的操作,提供文件共享能力和安全措施,提供友好的用户接口。
(3) 文件的分类
按用途分类——系统文件、库文件、用户文件、文档文件
按文件中的数据形式分类——源文件、目标文件、可执行文件
按存取控制属性分类——只执行文件、只读文件、读写文件
按文件逻辑结构分类——有结构的记录式文件、无结构的字符流式文件
按文件的物理结构分类——顺序文件、链接文件、索引文件
按信息流向分类——输入文件、输出文件、输入/输出文件
2. 文件的逻辑结构
从用户观点出发,所观察到的文件组织形式,是用户可直接处理的数据及其结构,独立于物理特性,又称文件组织。
3. 文件的物理结构
根据外部存储设备的不同,文件被划分为若干个大小相等的物理块,它是存放文件信息或分配存储空间的基本单位,也是文件系统与主存之间传输或交换信息(读写)的基本单位。物理块的大小一般是固定的,由存储设备和操作系统确定。一个物理块可以存放一个或多个逻辑记录,或者多个物理块存放一个逻辑记录。
(1) 顺序文件(连续文件)
按照逻辑文件中的记录顺序,依次把逻辑记录存储到连续的物理块中而形成的文件。记录的逻辑顺序与占用的物理块顺序一致,管理简单,特别适合顺序存取,但不便于文件的扩充。
(2) 链接文件
链接文件的物理块可以不连续,也不必顺序排列,但每个物理块中设置一个指针,指向下一个物理块的地址。解决了存储器的碎片问题,有利于文件扩充,但存取速度较慢。
(3) 索引文件
索引文件是另一种对文件存储不进行连续分配的方式。系统为每个文件建立一张指示逻辑记录和物理块之间的对应关系的表,称为索引表,每个记录占一个索引项。
4. 文件的存取方法
(1) 顺序存取——按逻辑地址顺序存取
(2) 随机存取——直接存取
文件的存取密切依赖于文件的物理结构,也依赖于存放文件的存储设备的特性。
‘肆’ oracle数据库的物理存储结构有那些,它们各自的作用
http://hi..com/blue_greed/blog/item/dcea21ca97bf7782c8176816.html
去这里看看~~
数据结构在计算机中的表示(映像)称为数据的物理(存储)结构。它包括数据元素的表示和关系的表示。
物理结构,即Oracle数据库使用的操作系统文件结构。对于数据库物理结构文件,不同的oracle版本,不同的操作系统平台上有不同的存储目录结构
数据库的物理结构文件按其作用可以分为三类:
数据文件
日志文件
控制文件
一、数据文件
数据文件用来存储数据库的数据,如表、索引等。读取数据时,系统首先从数据库文件中读取数据,并存储到SGA的数据缓冲区中。
二、重做日志文件
重做日志文件记录对数据库的所有修改信息。它是三类文件中最复杂的一类文件,也是保证数据库安全与数据库备份与恢复有直接关系的文件。
三、控制文件
控制文件是一个二进制文件,用来描述数据库的物理结构,一个数据库只需要一个控制文件,控制文件的内容包括:
数据库名及数据库唯一标识
数据文件和日志文件标识
数据库恢复所需的同步信息,即检查点号
‘伍’ 操作系统-文件系统
人们对信息有存储的需求,早期计算机信息在保存在纸带上,存和读都不方便,且容量很低,而存储信息的需求未能得到满足,到了磁盘存储器的出现,对程序和数据等信息的管理的发展才得到质的飞跃。出现文件系统是需要把信息以一种单元,即文件的形式,存储在磁盘或其它外部存储介质上,导致了文件系统的出现。
文件系统是操作系统中统一管理信息资源的一种软件。它管理文件的存储、检索、更新、提供安全可靠的共享和保护手段,并且方便用户使用。从用户的角度看,文件系统负责为用户建立文件、读写文件、修改文件、复制文件和撤销文件等,还能对文件按名存取。
文件是一组带标识的、在逻辑上有完整意义的信息项的序列,这里的标识就是文件名,”信息项“构成了文件的内容。
外存是相对内存而言,主要用来存储信息,其特点是断电后仍可保存信息,容量大,速度较慢,成本较低等
外存储设备通常由驱动部分和存储介质两部分组成,存储介质又常被卷。
存储介质有:磁带、磁盘、光盘、闪存
其中磁带是顺序存储,只能读了前面磁带的内容才能读后面,存取都一样,不能跳着读取,因此磁带适合存储不经常变化的内容,比如放歌。
磁盘支持随机读取,磁盘由带有读写磁头的机械臂和磁盘组成,磁盘像光盘,上面有磁性材料。系统对磁盘初始化时,会划分出一些同心圆,称为磁道,信息只能存储在磁道上,磁道分会被分成多个弧段,称为扇区,每个磁道有4-32个扇区。使用时,驱动器的马达带去磁盘高速匀速旋转,磁头一直停留在盘面表面上方并可以在不同磁道移动,当找到目标磁道时,碰头不动,磁盘依然转动,这时经过磁头的信息就被读出来可写进去。
光盘是激光作用下材料变化的非磁记录介质。
闪存是电荷擦除,支持随机存取,没有机械运动部件,寿命和可靠性高。
文件可以从不同的维度来进行分类:
按用途的方式分类:
按文件组织形式分类:
文件逻辑结构就是用户所看到的文件组织形式,文件逻辑结构是经过抽象的结构,所描述的是文件中信息组织形式。按逻辑结构可以把文件划分成三类:无结构的字符流式文件(由字节组成)、定长记录文件和不定长记录文件(由记录组成);
文件的物理结构是指文件存储在外储设备上的结构,有三种存储结构:顺序存储、链式存储、索引存储;
顺序存储:文件存在连续的空间上,只要知道到起始地址和长度就可以读取文件。
优点:支持随机存取、
缺点:不支持动态扩充,容易产生碎片。
链式存储:文件存在不连续的物理块中,文件控制块保存第一个物理块的指针,之后每个物理块都有一个指针指向下一个物理块地址,如FAT文件系统
优点:可以动态扩充,提高磁盘利用空间;修改添加快。
缺点:
1.可靠性低。若其中某个物理块出错会导致后面全部块读取不到。
2.存取速度慢,不适于随机存取文件,需要从首个物理块一直读取到物理块;
索引存储:使用一张表来存储索引,每个索引指向逻辑文件的信息块。
优点:可以动态扩充,支持随机存取;
缺点:较多的寻道次数和寻道时间;索引表本身增加了存储空间的开销。
文件目录主要是用途是为了管理和索引文件,其结构简单说是一张表,表中存储着文件名、文件控制块、物理地址,通过文件名可以快速的读取到对应的文件。
一级目录是一张线性表,优点是:结构简单、实现简单;缺点:无法解决不同用户的文件名相同;文件多时查找慢。
二级目录是分为主目录和用户目录,主目录给出所有用户目录所在物理位置; 而用户目录则给出所有文件的FCB;优点:不同用户文件可以重名、查找速度比一级目录快、能实现文件共享
多级目录(树形目录)除了最低一级物理块装有文件信息外,其它每一级的目录存储的都是下一级的目录或文件说明信息,多级目录存在唯一的概目录。优点是层次清楚、解决文件重名问题、查找速度快。
目录是指文件路径。
目录项是是文件控制块以一条记录的形式存储在目录文件中。
目录文件是多个文件控制块集中在一起形成的文件。
参考:《操作系统》机械工业出版社 2017年版
‘陆’ 操作系统对文件管理中文件在磁盘上是如何组织的
文件的逻辑组织 文件的逻辑组织通常分为两种形式,即有结构文件(记录文件)和无结构文件(字符流文件)。1)有结构文件又称作记录式文件,它在逻辑上可被看成一组连续记录的集合,即文件是由若干个相关的记录组成。每个记录是一组相关的数据集合,用于描述一个对象某个方面的属性。记录式文件按其记录的长度是否相同又可分为:定长记录文件和变长记录文件两种。(1)定长记录文件:指文件中所有记录的长度都相同。文件的长度可用记录的数目来表示。定长记录处理方便,开销小,被广泛用于数据处理中。(2)变长记录文件:指文件中各记录的长度不相同。在处理之前每个记录的长度是已知的。2)无结构文件无结构文件是指文件内部不再划分记录,它是由一组相关信息组成的有序字符流,即流式文件,其长度直接按字节计算。如大量的源程序、可执行程序、库函数等采用的文件形式是无结构文件形式。在UNIX系统中,所有的普通文件都被看做是流式文件,系统不对文件进行格式处理。 ●常用的记录式结构有:连续结构、多重结构、转置结构和顺序结构。 ●常用的存取方法有顺序存取法、随机存取法(直接存取法)和按键存取法。 文件的物理组织 ●常用的文件物理结构有连续文件、串联文件和索引文件。 1)连续文件连续文件(又称做顺序文件)是基于磁带设备的最简单的物理文件结构,它是把一个逻辑上连续的文件信息存放在连续编号的物理块(或物理记录)中。连续文件的优点是在顺序存取时速度较快,常用于存放系统文件,如操作系统文件、编译程序文件和其它由系蠢巧行统提供的实用程序文件,因为这类文件往往被从头至尾依次存取。但带哗连续文件也存在如下缺点:
(1)要求建立文件时就确定它的长度,依此来分配相应的存储空间,这往往很难实现。
(2)不便于文件的动态扩充。
(3)可能出现外部碎片,就是在存储介质上存在很多空闲块,但它们都不连续,无法被连续的文件使用,从而造成浪费。 2)串联文件为克服连续文件的缺点,可把一个逻辑上连续的文件分散存放在不同的物理块中,这些物理块不要求连续,也不必规则排列。为了使系统能找到下一个逻辑块所在的物理块,可在各物理块中设立一个指针(称为连接字),它指示该文件的下一个物理块。串连文件克服了连续文件的缺点,但它又带来新的问题:
(1)一般仅适于对信息的顺序访问,而不利于对文件的随机存取。
(2)每个物理块上增加一个连接字,为信息管理添加了一些麻烦。 FAT格式通过把文件分配表(FAT,File Allocation Table )放在一个内存表格中的方式加以克服串联文件的缺点。 3)索引文件 索引文件是实现非连续分配的另一种方案:系统为每个文件建立一个索引表。其中的表项指出存放该文件的各宽岩个物理块号,而整个索引表由文件说明项指出。这种结构除了具备串连文件的优点之外,还克服了它的缺点。它可以方便地进行随机存取。但是这种组织形式需要增加索引表带来的空间开销。如果这些表格仅放在盘上,那么在存取文件时首先得取出索引表,然后才能查表、得到物理块号。这样就至少增加了一次访盘操作,从而降低了存取文件的速度,加重了 I/O负担。一种改进办法是同时把索引表部分或全部地放人内存。这是以内存空间为代价来换取存取速度的改善。 树型目录结构树型目录结构可能是目录结构中,考的比较多的,考的也简单。
‘柒’ 数据库名词解释
数据库的概念:
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,
数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。
数据库的定义:
定义1:数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。
简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。
在经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理。
例如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就可以看成是一个数据库。有了这个"数据仓库"我们就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。这些工作如果都能在计算机上自动进行,那我们的人事管理就可以达到极高的水平。此外,在财务管理、仓库管理、生产管理中也需要建立众多的这种"数据库",使其可以利用计算机实现财务、仓库、生产的自动化管理。
定义2:
严格来说,数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据指的是以一定的数据模型组织、描述和储存在一起、具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点并可在一定范围内为多个用户共享。
这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应核困用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改、查由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。[1][2]
数据库的处理系统:
数据库是一个单位或是一个应用领域的通用数据处理系统,它存储的是属于企业和事业部门、团体改洞念和个人的有关数据的集合。数据库中的数据是从全局观点出发建立的,按一定的数据模型进行组织、描述和存储。其结构基于数据间的自然联系,从而可提供一切必要的存取路径,且数据不再针对某一应用,而是面向全组织,具有整体的结构化特征。
数据颤闷库中的数据是为众多用户所共享其信息而建立的,已经摆脱了具体程序的限制和制约。不同的用户可以按各自的用法使用数据库中的数据;多个用户可以同时共享数据库中的数据资源,即不同的用户可以同时存取数据库中的同一个数据。数据共享性不仅满足了各用户对信息内容的要求,同时也满足了各用户之间信息通信的要求。
数据库的基本结构:
数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。
以内模式为框架所组成的数据库叫做物理数据库;以概念模式为框架所组成的数据叫概念数据库;以外模式为框架所组成的数据库叫用户数据库。
⑴物理数据层。
它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。
⑵概念数据层。
它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。
⑶用户数据层。
它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。
数据库不同层次之间的联系是通过映射进行转换的。
数据库的主要特点:
⑴实现数据共享
数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。
⑵减少数据的冗余度
同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。
⑶数据的独立性
数据的独立性包括逻辑独立性(数据库中数据库的逻辑结构和应用程序相互独立)和物理独立性(数据物理结构的变化不影响数据的逻辑结构)。
⑷数据实现集中控制
文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。
⑸数据一致性和可维护性,以确保数据的安全性和可靠性
主要包括:①安全性控制:以防止数据丢失、错误更新和越权使用;②完整性控制:保证数据的正确性、有效性和相容性;③并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用。
⑹故障恢复
由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。比如对系统的误操作造成的数据错误等。
数据库的数据种类:
数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。
1.数据结构模型
⑴数据结构
所谓数据结构是指数据的组织形式或数据之间的联系。
如果用D表示数据,用R表示数据对象之间存在的关系集合,则将DS=(D,R)称为数据结构。
例如,设有一个电话号码簿,它记录了n个人的名字和相应的电话号码。为了方便地查找某人的电话号码,将人名和号码按字典顺序排列,并在名字的后面跟随着对应的电话号码。这样,若要查找某人的电话号码(假定他的名字的第一个字母是Y),那么只须查找以Y开头的那些名字就可以了。该例中,数据的集合D就是人名和电话号码,它们之间的联系R就是按字典顺序的排列,其相应的数据结构就是DS=(D,R),即一个数组。
⑵数据结构类型
数据结构又分为数据的逻辑结构和数据的物理结构。
数据的逻辑结构是从逻辑的角度(即数据间的联系和组织方式)来观察数据,分析数据,与数据的存储位置无关;数据的物理结构是指数据在计算机中存放的结构,即数据的逻辑结构在计算机中的实现形式,所以物理结构也被称为存储结构。
这里只研究数据的逻辑结构,并将反映和实现数据联系的方法称为数据模型。
比较流行的数据模型有三种,即按图论理论建立的层次结构模型和网状结构模型以及按关系理论建立的关系结构模型。
2.层次、网状和关系数据库系统
⑴层次结构模型
层次结构模型实质上是一种有根结点的定向有序树(在数学中"树"被定义为一个无回的连通图)。下图是一个高等学校的组织结构图。这个组织结构图像一棵树,校部就是树根(称为根结点),各系、专业、教师、学生等为枝点(称为结点),树根与枝点之间的联系称为边,树根与边之比为1:N,即树根只有一个,树枝有N个。
按照层次模型建立的数据库系统称为层次模型数据库系统。IMS(InformationManagementSystem)是其典型代表。
⑵网状结构模型
按照网状数据结构建立的数据库系统称为网状数据库系统,其典型代表是DBTG(DatabaseTaskGroup)。用数学方法可将网状数据结构转化为层次数据结构。
⑶关系结构模型
关系式数据结构把一些复杂的数据结构归结为简单的二元关系(即二维表格形式)。例如某单位的职工关系就是一个二元关系。
由关系数据结构组成的数据库系统被称为关系数据库系统。
在关系数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关系表格的分类、合并、连接或选取等运算来实现数据的管理。
dBASEⅡ就是这类数据库管理系统的典型代表。对于一个实际的应用问题(如人事管理问题),有时需要多个关系才能实现。用dBASEⅡ建立起来的一个关系称为一个数据库(或称数据库文件),而把对应多个关系建立起来的多个数据库称为数据库系统。dBASEⅡ的另一个重要功能是通过建立命令文件来实现对数据库的使用和管理,对于一个数据库系统相应的命令序列文件,称为该数据库的应用系统。
因此,可以概括地说,一个关系称为一个数据库,若干个数据库可以构成一个数据库系统。数据库系统可以派生出各种不同类型的辅助文件和建立它的应用系统。
数据库的发展简史:
1数据库的技术发展
使用计算机后,随着数据处理量的增长,产生了数据管理技术。数据管理技术的发展与计算机硬件(主要是外部存储器)系统软件及计算机应用的范围有着密切的联系。数据管理技术的发展经历了以下四个阶段:人工管理阶段、文件系统阶段、数据库阶段和高级数据库技术阶段。
2数据管理的诞生
数据库的历史可以追溯到五十年前,那时的数据管理非常简单。通过大量的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片。而数据管理就是对所有这些穿孔卡片进行物理的储存和处理。然而,1950年雷明顿兰德公司(RemingtonRandInc)的一种叫做UnivacI的计算机推出了一种一秒钟可以输入数百条记录的磁带驱动器,从而引发了数据管理的革命。1956年IBM生产出第一个磁盘驱动器——theModel305RAMAC。此驱动器有50个盘片,每个盘片直径是2英尺,可以储存5MB的数据。使用磁盘最大的好处是可以随机存取数据,而穿孔卡片和磁带只能顺序存取数据。
1951:Univac系统使用磁带和穿孔卡片作为数据存储。
数据库系统的萌芽出现于二十世纪60年代。当时计算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求。传统的文件系统已经不能满足人们的需要,能够统一管理和共享数据的数据库管理系统(DBMS)应运而生。数据模型是数据库系统的核心和基础,各种DBMS软件都是基于某种数据模型的。所以通常也按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三类。
最早出现的网状DBMS,是美国通用电气公司Bachman等人在1961年开发的IDS(IntegratedDataStore)。1964年通用电气公司(GeneralElectricCo.)的CharlesBachman成功地开发出世界上第一个网状DBMS也即第一个数据库管理系统——集成数据存储(IntegratedDataStoreIDS),奠定了网状数据库的基础,并在当时得到了广泛的发行和应用。IDS具有数据模式和日志的特征,但它只能在GE主机上运行,并且数据库只有一个文件,数据库所有的表必须通过手工编码生成。之后,通用电气公司一个客户——BFGoodrichChemical公司最终不得不重写了整个系统,并将重写后的系统命名为集成数据管理系统(IDMS)。
网状数据库模型对于层次和非层次结构的事物都能比较自然的模拟,在关系数据库出现之前网状DBMS要比层次DBMS用得普遍。在数据库发展史上,网状数据库占有重要地位。
层次型DBMS是紧随网络型数据库而出现的,最着名最典型的层次数据库系统是IBM公司在1968年开发的IMS(InformationManagementSystem),一种适合其主机的层次数据库。这是IBM公司研制的最早的大型数据库系统程序产品。从60年代末产生起,如今已经发展到IMSV6,提供群集、N路数据共享、消息队列共享等先进特性的支持。这个具有30年历史的数据库产品在如今的WWW应用连接、商务智能应用中扮演着新的角色。
1973年Cullinane公司(也就是后来的Cullinet软件公司),开始出售Goodrich公司的IDMS改进版本,并且逐渐成为当时世界上最大的软件公司。
数据库的关系由来:
网状数据库和层次数据库已经很好地解决了数据的集中和共享问题,但是在数据独立性和抽象级别上仍有很大欠缺。用户在对这两种数据库进行存取时,仍然需要明确数据的存储结构,指出存取路径。而后来出现的关系数据库较好地解决了这些问题。
1970年,IBM的研究员E.F.Codd博士在刊物《CommunicationoftheACM》上发表了一篇名为“”的论文,提出了关系模型的概念,奠定了关系模型的理论基础。尽管之前在1968年Childs已经提出了面向集合的模型,然而这篇论文被普遍认为是数据库系统历史上具有划时代意义的里程碑。Codd的心愿是为数据库建立一个优美的数据模型。后来Codd又陆续发表多篇文章,论述了范式理论和衡量关系系统的12条标准,用数学理论奠定了关系数据库的基础。关系模型有严格的数学基础,抽象级别比较高,而且简单清晰,便于理解和使用。但是当时也有人认为关系模型是理想化的数据模型,用来实现DBMS是不现实的,尤其担心关系数据库的性能难以接受,更有人视其为当时正在进行中的网状数据库规范化工作的严重威胁。为了促进对问题的理解,1974年ACM牵头组织了一次研讨会,会上开展了一场分别以Codd和Bachman为首的支持和反对关系数据库两派之间的辩论。这次着名的辩论推动了关系数据库的发展,使其最终成为现代数据库产品的主流。
1969年EdgarF.“Ted”Codd发明了关系数据库。
1970年关系模型建立之后,IBM公司在SanJose实验室增加了更多的研究人员研究这个项目,这个项目就是着名的SystemR。其目标是论证一个全功能关系DBMS的可行性。该项目结束于1979年,完成了第一个实现SQL的DBMS。然而IBM对IMS的承诺阻止了SystemR的投产,一直到1980年SystemR才作为一个产品正式推向市场。IBM产品化步伐缓慢的三个原因:IBM重视信誉,重视质量,尽量减少故障;IBM是个大公司,官僚体系庞大,IBM内部已经有层次数据库产品,相关人员不积极,甚至反对。
然而同时,1973年加州大学伯克利分校的MichaelStonebraker和EugeneWong利用SystemR已发布的信息开始开发自己的关系数据库系统Ingres。他们开发的Ingres项目最后由Oracle公司、Ingres公司以及硅谷的其他厂商所商品化。后来,SystemR和Ingres系统双双获得ACM的1988年“软件系统奖”。
1976年霍尼韦尔公司(Honeywell)开发了第一个商用关系数据库系统——MulticsRelationalDataStore。关系型数据库系统以关系代数为坚实的理论基础,经过几十年的发展和实际应用,技术越来越成熟和完善。其代表产品有Oracle、IBM公司的DB2、微软公司的MSSQLServer以及Informix、ADABASD等等。
数据库的发展阶段:
数据库发展阶段大致划分为如下的几个阶段:人工管理阶段、文件系统阶段、数据库系统阶段、高级数据库阶段。
人工管理阶段
20世纪50年代中期之前,计算机的软硬件均不完善。硬件存储设备只有磁带、卡片和纸带,软件方面还没有操作系统,当时的计算机主要用于科学计算。这个阶段由于还没有软件系统对数据进行管理,程序员在程序中不仅要规定数据的逻辑结构,还要设计其物理结构,包括存储结构、存取方法、输入输出方式等。当数据的物理组织或存储设备改变时,用户程序就必须重新编制。由于数据的组织面向应用,不同的计算程序之间不能共享数据,使得不同的应用之间存在大量的重复数据,很难维护应用程序之间数据的一致性。
这一阶段的主要特征可归纳为如下几点:
(1)计算机中没有支持数据管理的软件,计算机系统不提供对用户数据的管理功能,应用程序只包含自己要用到的全部数据。用户编制程序,必须全面考虑好相关的数据,包括数据的定义、存储结构以即存取方法等。程序和数据是一个不可分割的整体。数据脱离了程序极具无任何存在的价值,数据无独立性。
(2)数据不能共享。不同的程序均有各自的数据,这些数据对不同的程序通常是不相同的,不可共享;即使不同的程序使用了相同的一组数据,这些数据也不能共享,程序中仍然需要各自加入这组数据,哪个部分都不能省略。基于这种数据的不可共享性,必然导致程序与程序之间存在大量的重复数据,浪费存储空间。
(3)不能单独保存数据。在程序中要规定数据的逻辑结构和物理结构,数据与程序不独立。基于数据与程序是一个整体,数据只为本程序所使用,数据只有与相应的程序一起保存才有价值,否则毫无用处。所以,所有程序的数据不单独保存。数据处理的方式是批处理。
文件系统阶段:
这一阶段的主要标志是计算机中有了专门管理数据库的软件——操作系统(文件管理)。
上世纪50年代中期到60年代中期,由于计算机大容量直接存储设备如硬盘、磁鼓的出现,
推动了软件技术的发展,软件的领域出现了操作系统和高级软件,操作系统中的文件系统是专门管理外存的数据管理软件,操作系统为用户使用文件提供了友好界面。操作系统的出现标志着数据管理步入一个新的阶段。在文件系统阶段,数据以文件为单位存储在外存,且由操作系统统一管理,文件是操作系统管理的重要资源。
文件系统阶段的数据管理具有一下几个特点:
优点
(1)数据以“文件”形式可长期保存在外部存储器的磁盘上。由于计算机的应用转向信息管理,因此对文件要进行大量的查询、修改和插入等操作。
(2)数据的逻辑结构与物理结构有了区别,程序和数据分离,使数据与程序有了一定的独立性,但比较简单。数据的逻辑结构是指呈现在用户面前的数据结构形式。数据的物理结构是指数据在计算机存储设备上的实际存储结构。程度与数据之间具有“设备独立性”,即程序只需用文件名就可与数据打交道,不必关心数据的物理位置。由操作系统的文件系统提供存取方法(读/写)。
(3)文件组织已多样化。有索引文件、链接文件和直接存取文件等。但文件之间相互独立、缺乏联系。数据之间的联系需要通过程序去构造。
(4)数据不再属于某个特定的程序,可以重复使用,即数据面向应用。但是文件结构的设计仍是基于特定的用途,程序基于特定的物理结构和存取方法,因此程度与数据结构之间的依赖关系并未根本改变。
(5)用户的程序与数据可分别存放在外存储器上,各个应用程序可以共享一组数据,实现了以文件为单位的数据共享文件系统。
(6)对数据的操作以记录为单位。这是由于文件中只存储数据,不存储文件记录的结构描述信息。文件的建立、存取、查询、插入、删除、修改等操作,都要用程序来实现。
(7)数据处理方式有批处理,也有联机实时处理。
缺点
文件系统对计算机数据管理能力的提高虽然起了很大的作用,但随着数据管理规模的扩大,数据量急剧增加,文价系统显露出一些缺陷,问题表现在:
(1)数据文件是为了满足特定业务领域某一部门的专门需要而设计,数据和程序相互依赖,数据缺乏足够的独立性。
(2)数据没有集中管理的机制,其安全性和完整性无法保障,数据维护业务仍然由应用程序来承担;
(3)数据的组织仍然是面向程序,数据与程序的依赖性强,数据的逻辑结构不能方便地修改和扩充,数据逻辑结构的每一点微小改变都会影响到应用程序;而且文件之间的缺乏联系,因而它们不能反映现实世界中事物之间的联系,加上操作系统不负责维护文件之间的联系,信息造成每个应用程序都有相对应的文件。如果文件之间有内容上的联系,那也只能由应用程序去处理,有可能同样的数据在多个文件中重复储存。这两者造成了大量的数据冗余。
(4)对现有数据文件不易扩充,不易移植,难以通过增、删数据项来适应新的应用要求。
数据库系统阶段:
20世纪60年代后期,随着计算机在数据管理领域的普遍应用,人们对数据管理技术提出了更高的要求:希望面向企业或部门,以数据为中心组织数据,减少数据的冗余,提供更高的数据共享能力,同时要求程序和数据具有较高的独立性,当数据的逻辑结构改变时,不涉及数据的物理结构,也不影响应用程序,以降低应用程序研制与维护的费用。数据库技术正是在这样一个应用需求的基础上发展起来的。
概括起来,数据库系统阶段的数据管理具有以下几个特点:
(1)采用数据模型表示复杂的数据结构。数据模型不仅描述数据本身的特征,还要描述数据之间的联系,这种联系通过所有存取路径。通过所有存储路径表示自然的数据联系是数据库与传统文件的根本区别。这样,数据不再面向特定的某个或多个应用,而是面对整个应用系统。如面向企业或部门,以数据为中心组织数据,形成综合性的数据库,为各应用共享。
(2)由于面对整个应用系统使得,数据冗余小,易修改、易扩充,实现了数据贡献。不同的应用程序根据处理要求,从数据库中获取需要的数据,这样就减少了数据的重复存储,也便于增加新的数据结构,便于维护数据的一致性。
(3)对数据进行统一管理和控制,提供了数据的安全性、完整性、以及并发控制。
(4)程序和数据有较高的独立性。数据的逻辑结构与物理结构之间的差别可以很大,用户以简单的逻辑结构操作数据而无须考虑数据的物理结构。
(5)具有良好的用户接口,用户可方便地开发和使用数据库。
从文件系统发展到数据库系统,这在信息领域中具有里程碑的意义。在文件系统阶段,人们在信息处理中关注的中心问题是系统功能的设计,因此程序设计占主导地位;而在数据库方式下,数据开始占据了中心位置,数据的结构设计成为信息系统首先关心的问题,而应用程序则以既定的数据结构为基础进行设计。
数据库发展趋势:
随着信息管理内容的不断扩展,出现了丰富多样的数据模型(层次模型,网状模型,关系模型,面向对象模型,半结构化模型等),新技术也层出不穷(数据流,Web数据管理,数据挖掘等)。每隔几年,国际上一些资深的数据库专家就会聚集一堂,探讨数据库研究现状,存在的问题和未来需要关注的新技术焦点。过去已有的几个类似报告包括:1989年-TheLagunaBeachParticipants;1990年DatabaseSystems:AchievementsandOpportunities;1991年W.H.Inmon发表的《构建数据仓库》;1995年Database。
常见数据库厂商:
1.SQLServer
只能在windows上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NTserver只适合中小型企业。而且wi
‘捌’ 页储存管理中,已知一个逻辑地址长度为16位,页面大小为4096B,地址为2F6AH,怎么知道这个地址的页号啊
例3 若在一分页存储管理系统中,某作业的页表如下所示。已知页面大小为1024字节,试将逻辑地址1011,2148,4000,5012转化为相应的物理地址。
页号
物理块号
0
2
1
3
2
1
3
6
【分析】 页式存储管理的地址结构是一维的,即逻辑地址(或物理地址)只用一个数值即可表示。若给定逻辑地址A,页面的大小为L,则页号p和页内地址d可按照下式求得:
p=int [A/L] d=A mod L
其中,int是取整函数(取数值的整数部分),mod是取余函数(取数值的余数部分)。
下图显示了页式管理系统的地址转换机构。
页表的作用是实现从页号到物理块号的地址映射。以逻辑地址的页号检索页表,得到该页的物理块号;同时将页内地址d直接送入物理地址寄存器的块内地址字段中。这样物理块号和块内地址拼接成了实际访问内存的地址,从而完成了从逻辑地址到物理地址的转换。
所以物理地址的计算公式为:
物理地址=块的大小(即页的大小L)*块号f+页内地址d
解 本题中,为了描述方便,设页号为p,页内位移为d,则:
(1)对于逻辑地址1011,p=int(1011/1024)=0,d=1011 mod 1024=1011。查页表第0页在第2块,所以物理地址为1024*2+1011=3059。
(2)对于逻辑地址2148,p=int(2148/1024)=2,d=2148 mod 1024=100。查页表第2页在第1块,所以物理地址为1024+100=1124。
(3)对于逻辑地址4000,p=int(4000/1024)=3,d=4000 mod 1024=928。查页表第3页在第6块,所以物理地址为1024*6+928=7072。
(4)对于逻辑地址5012,p=int(5012/1024)=4,d=5012 mod 1024=916。因页号超过页表长度,该逻辑地址非法。