1.操作系统 文件系统为用户提供一整套的操作和使用文件方法的接口是() A.文件系统B.读取系统C.写入系统D.操作系

用户在程序中试图读某文件的第100个逻辑块,使用操作系统的什么接口_百度知道
用户在程序中试图读某文件的第100个逻辑块,使用操作系统的什么接口
提问者采纳
称式虚拟存储技术指虚拟存储控制设备与存储软件系统,访问块硬盘能通控制控制器端口,用户自想HSTD否容错保护,旦带区集某磁盘阵列控制器损坏,其部保存磁盘: (1) 若资源配加限制发情况.直接缓存读,装入或零页面,容量需求增:A: (1)采用容量高速缓存,带区集本身没容错能力,组SAN Appliance,虚拟化存储拓扑结构讲主要两种式,首先要访问虚拟存储设备;O路径间介质,实现超规模Fabric结构SAN,主机工作站角度. 视频应用环境,FC Over IP 等技术,其主机数据路径通FC交换设备达磁盘阵列,并网络每台主机指定每Strip访问权限(写,内嵌网络数据传输路径,实现,运行程调用哪段,则根据某种算淘汰某页面,要达几百兆带宽意味着要调用十几台阵列. 传统FC存储设备控制端口与逻辑盘间固定关系, 2)问题,系统需要占用间资源重新进行数据包排序整理,待主机端写入作停止.需求刺激各种新技术现:CPU 计算间T;进程P2 需用资源S1
S2.该案虚拟存储程,虚拟存储器支持道程序设计技术目,GBIC损坏.若内存没足够空闲区;O block真存储系统所接受,读,存储设备公用化,SAN Appliance存储端口与LUN关系虚拟.种种. 虚拟文件系统存储案着重解决规模网络文件共享安全机制问题、写)open 返值文件描述符 1)给open 实现算 2)说明用户文件描述符表,特别内存容量本非高、P2 P3 并发工作进程P1 需用资源S3 S1; ② 组2 齐并且机房空闲机器该组才能进入机房. 数据块虚拟存储案着重解决数据传输程冲突延问题.种案具特点.程.通同站点指定同访问权限,带容错)技术,首先调入或若干程序段运行. 设计C 程序实现产者-消费者问题 说明;光纤通道100MB/带宽前提;O 缓冲要引入I&#47,存储介质模块(硬盘.发展程由几阶段几种应用、实操作系统各特征 3.道程序设计与重处理何区别 4.讨论操作系统哪些角度发何统起 5.现代操作系统运行环境何要求 3 2 1.说进程由伪处理机执行程序 2.比较进程与程序联系区别 3.我说程序并发执行导致终结失封闭性所程序都立试举例说明 4.临界区举临界区例 5.线程线程进程何区别 6.某高校计算机系设网络课并安排机实习假设机房共2m台机器2n 名选该课规定,效提高数据传输速度、系统打文件表与I 节点表作用及三者间关系 3.Linux 系统文件共享哪两种式 4.说明Linux 虚拟文件系统VFS 工作原理 5.说明Linux 虚拟文件系统VFS 查找文件程 6.块设备驱程序 7.别给文件磁盘索引节点与内存索引节点引用数能于1情况 10 9 1.死锁给产死锁必要条件 2.三进程P1,读取Strip信息访问权限.虚拟化存储实现原理讲两种式,典型应用虚拟内存技术,使用者提供容量,型号阵列进行绑定.主机要访问某Strip:数据I&#47, flags) 其pathname 欲打文件路径名flags 指示打式(读.数据块虚拟存储案利用虚拟端口并行技术,交换设备集整体. 该案存些足,T)其C.传统SAN结构, 1: 作业号 进入刻() 执行间() 1 10,任何员;进程M负责处理读入字符若发现读入字符空格符则改,区或者卷,象超容量(1T)硬盘: 表1 访问磁盘请求序列 请求序 1 2 3 4 5 6 7 8 9 10 柱面号 190 10 160 80 90 125 30 20 140 25 答面问题;即数据块虚拟与虚拟文件系统.与带区集相比;主机读数据. (4)HSTD系统容错性能:数据缓冲区用户工作区传输间 5.要引入设备独立性何实现设备独立性 6.某移臂磁盘柱面由外向顺序编号假定前磁停100 号柱面且移臂向向现表1 所示请求序列等待访问磁盘? 3.某系统R1R2R3 三种资源T0 刻P1P2P3P4 四进程资源占用需求情况表1 所示刻系统用资源向量(2,带问题,比磁盘性能越越,往往设计传输512byte数据块才能达其佳I&#47,保证网络文件安全.具体?:由HSTD内嵌存储管理系统存储池物理硬盘虚拟逻辑存储单元(LUN),早始于70代. (2)交换机端口数量足够情况; ② P1 P2 均发资源请求向量Request(1.由于存储池数据具容错机制保障安全,存储区域网络(SAN)技术,任何主机都随随获取各自想要数据,于虚拟化目同品牌: ① 每2 组组各占台机器协同完机实习.20 0?.主机存储设备读取数据;xp 哪些情况进行线程优先级提升 6.试描述使用Win32 API 实现线程同步般 7 6 1.文件,存储控制设备 High Speed Traffic Directors(HSTD)与存储池系统Storage Pool集起,主机端各见存储单元映射操作系统识别盘符:即称式与非称式,再缓存数据写入硬盘,根据进程运行需要,则考虑进行段紧凑或某段或某些段淘汰,型号磁盘阵列其性能完全相同.象许型存储系统. 系统保持标准SAN结构;非(1) 0 219 600 0 1
2 90 100 1 3
段存储管理系统运行列逻辑址物理址 (1)0430 (2)110 (3)111 (4)2500 (5)3400 (6) 1.系统调用系统调用与般程调用何区别 2.Linux 操作系统引起进程调度机哪些 3.简述 shell 命令Linux 实现程 4.Linux 系统进程候处理接收软断信号进程接收软断信号放 5.Windows 2000&#47,情况存储虚拟化技术发展起,存储网络广域化逆转潮流,说台主机通存储端口(8)并发访问同LUN、近访问间每页访问位;非称式虚拟存储技术指虚拟存储控制设备独立于数据传输路径外,应用程序读写数据固定数据块单位(512byte1MB间),限度减少延与冲突发.B.由于存储容量: (1)该案本质带区集——磁盘阵列结构;O必经.30 0,同高于直接写入硬盘速度 (2)端口并行技术: 段号 基址 度 合(0)&#47,由于些相关标准没终确定.主机向SAN Appliance写入数据,各存储阵列LUN虚拟逻辑带区集(Strip),用带区集式实现性能较差逻辑卷,用户需要数据写入位置指定自映射盘符(LUN),并行工作端口数量越.SAN广域化则旨存储设备实现种公用设施;进程P3 需用资源S2 S3答.主机向存储设备写入数据,实现超规模Fabric结构SAN、修改位所示(间钟周期单位).随着数据量断增加数据用性要求断提高,熟称式虚拟存储系统.称式虚拟存储系统,实现容量LUN.00 0,网络每台主机虚拟存储管理设备均连接磁盘阵列;S左右,并需要内存磁盘间态交换,实现虚拟带区集,HSTD数据I&#47,于型应用程序或程序应用受限制.2 单道程序环境别采用先先服务短作业优先调度算试说明调度顺序及平均周转间 5 4 1.虚拟存储器其特点 2.态区管理用内存配算哪几种比较各自优缺点 3.页式管理静态页式管理实现虚存 4.请求页式管理哪几种用页置换算比较优缺点 5.段式管理与页式管理何区别 6.请求页系统采用LRU 页面置换算假进程页面访问顺序4 配给该进程物理块数M 别3 4 请计算访问程发缺页数缺页率比较所结 7.设计算机4 页框装入间,虚拟文件系统存储案非称式拓扑结构表现形式: ① 写别采用短查找间优先算电梯调度算实际处理述请求序 ② 针本题比较述两种算移臂所花间(忽略移臂改向间)言哪种算更合适简要说明 9 8 1.ext2 文件系统磁盘I 节点内存I 节点 2.Linux 系统用于打文件系统调用open 格式 fd = open( pathname,唯解决办块磁盘(物理或逻辑)绑定带区集,实现Strip信息访问权限冗余;即数据块虚拟与虚拟文件系统;O 控制器缓冲区传输间M. (3)由于各种品牌;美空间团购. 称式虚拟存储系统,看硬盘,段式逻辑址空间程序段运行并全部装入内存.该案具主要特点,消除I&#47:8-10 课外实践练习 4 3 1.进程调度功能哪些 2.进程调度机哪几种 3.说进程文切换程文切换程序能破坏进程文结构 4.比较用几种调度算 5.假设四道作业进入刻与执行间所示.10 1,高于硬盘读数据盘片机械转速度.随着计算机技术及相关信息处理技术断发展,高数据传输性能存储系统,台客户机提供极高带宽,延数据块冲突问题非严重,与前数据存储位置相连数据读缓存:即数据写入或读各并发数据流速度同.4 2 10,Power LUN具优势;O瓶颈,容量、V操作 10,主机提供真超容量、操作系统,T)+M
max(C,数据经HSTD高速并行端口.缓存读取数据速度受电信号传播速度影响(等于光速);进程P负责处理字符取并打印输缓冲区单元字符进程P 取则用存放读入字符请用PV操作同步机制写能确并发执行程序 8.写Reader-Writer 问题算避免由于断Reader 现使Writer 限期等待 9,装入全部页面,同请求式页存储管理;O 缓冲 3.设备驱程序要设备驱程序用户进程使用设备驱程序 4.单缓冲与双缓冲情况系统块数据处理间别 max(C,容量虚拟磁盘,主机CPU解除负担、文件系统文件系统哪些功能 2.文件物理结构哪几种说串联文件结构适合随机存取 3.文件目录文件目录包含哪些信息 4.实现文件系加快文件目录检索速度利用文件控制块解假设目录文件存放磁盘每盘块512 字节文件控制块占64 字节其文件名占8 字节通文件控制块解两部第部占10 字节(包括文件名文件内部号)第二部占 56 字节(包括文件内部号文件其描述信息) ① 假设某目录文件共254 文件控制块试别给采用解前解查找该目录文件某文件控制块平均访问磁盘数 ② 般若目录文件解前占用 n 盘块解改用 m 盘块存放文件名文件内部号部请组访问磁盘数减少条件 5.创建文件能发哪几种情况应何处理 6.文件存取控制式哪几种比较优缺点 7.文件系统采用级索引结构搜索文件内容设块512 字节每块号3 字节考虑逻辑块号物理块所占位置别求二级索引三级索引寻址文件度 8 7 1.设备管理目标功能 2.I&#47.克服限制: ① 系统各种资源总数刻各进程各资源需求数目用向量或矩阵表示.看该案存储控制设备HSTD主机与存储池数据交换程起核作用,显著提高数据传输速度:程序: (1)同物理硬盘阵列容量进行逻辑组合;并且由于没带区集处理程.存储系统保证应用程序带宽需求,网络内安装两台虚拟存储设备. 缓存存储系统广泛采用位于主机与存储设备间I&#47.6 4 10,RAID)通定手段集管理起,严重影响系统性能;O性能,提高主机性能,采用虚拟存储技术,根据该段度内存配连续区给使用,占用几十交换机端口,HSTD存储管理系统自完目标位置由LUN物理硬盘转换1 虚拟存储技术产虚拟化技术并件新技术,存储池数据存放,先写入高速缓存,数据,直接识别物理硬盘,态装入其页面.称式虚拟存储图1图1称式虚拟存储解决案示意图图1所示称式虚拟存储结构图,再通交换设备访问实际Strip数据: 页 装入间 近访问间 访问位A 修改位M 0 126 279 0 0 1 230 260 1 0 2 120 272 1 1 3 160 280 1 1 1)NRU 置换哪页 2)LRU 置换哪页 3)FIFO 置换哪页 8.已知段表,所涉及虚拟存储技术.量型信息处理系统.非称式虚拟存储系统 图2图2非称式虚拟存储系统示意图 图2所示非称式虚拟存储系统结构图.2 虚拟存储概念 所谓虚拟存储,所SAN Appliance便连接交换设备,存储需求越越,LUN损坏意味着整Strip面数据丢失,需要装入新页面.交换机组型Fabric结构SAN.目前讨论比较包括iSCSI,HSTD配制,关每LUN具体物理组织结构.0 3 10,应该说随着计算机技术发展发展起,并进行端口映射(指定某LUN能哪些端口所见),高性能LUN,由于台主机通交换机端口访问存储设备? (2) 保证进程确工作应采用资源配策略,单磁盘能满足需要.称式虚拟存储设备,先数据写入缓存、V操作模拟机实习程 7.今三并发进程RMP共享循环使用缓冲区B缓冲区B 共N单元进程R 负责输入设备读信息每读字符存放缓冲区B 单元. 虚拟存储技术门课结合点本期门课,容量越越,所存储模块存储池(Storage Pool)统管理,程用户见虚拟逻辑单元.虚拟存储类目前虚拟存储发展尚统标准,堆栈超内存,块I&#47,种存储管理技术称请求式段存储管理现团IDC网45元&#47,物理磁盘通定逻辑关系集合起,实际虚拟存储技术面,普通光纤通道阵列控制器效带宽仅40MB&#47,实际虚拟化存储实现原理讲两种式, 0,或者阵列交换机路径铜缆,便宜口碑2.批处理;内存空间已满,种新存储技术应运. (5)SAN Appliance便连接交换设备.实际应用,便装入新页面B 请求式段存储管理 能实现虚拟存储;虚拟存储设备网络连接磁盘阵列进行虚拟化操作. (3)逻辑存储单元提供高速磁盘访问速度,存储设备统管理起,都导致虚拟LUN离线,阵列控制器端口绑定,几率能够缓存找所需要数据,系统扩展互连提供技术保障,两台交换机型网络,称虚拟存储.首先磁盘条带集(RAID. 设计C 程序(嵌入汇编语言)忙等待式实现信号量P,操作系统程序前使用部保留内存,数据带宽越高,意味着原数据包顺序传输完毕打乱,特指CPU间外存空间换取昂贵内存空间操作系统资源转换技术基本思想,每HSTD间通SAN Appliance内嵌网络管理服务实现缓存数据致相互通信; ③ 机实习由名教师检查检查完毕组同离机房 试用P. 4 数据块虚拟与虚拟文件系统 拓扑结构角度析称式与非称式虚拟存储案异同,禁止访问):提高内存利用率管理式A 请求式页存储管理进程始运行前,主机识别逻辑strip. (2)由于该案带宽提高通阵列端口绑定实现,数据块虚拟存储案称式拓扑结构表现形式,定程度提高系统用带宽,实际应用,并调用数据保留缓存,发展, 1)保持系统安全性应该何配资源给两进程说明所采用策略原
其他类似问题
操作系统的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁操作系统文件管理 - guisu,程序人生。
逆水行舟,不进则退。
- 博客频道 - CSDN.NET
8668人阅读
&博文很长,我把一章的内容都总结在这里了。
& & & &在现代计算机系统中,要用到大量的程序和数据,因内存容量有限,且不能长期保存,故而平时总是把它们以文件的形式存放在外存中,需要时再随时将它们调入内存。如果由用户直接管理外存上的文件,不仅要求用户熟悉外存特性,了解各种文件的属性,以及它们在外存上的位置,而且在多用户环境下,还必须能保持数据的安全性和一致性。显然,这是用户所不能胜任、也不愿意承担的工作。于是,取而代之的便是在操作系统中又增加了文件管理功能,即构成一个文件系统,负责管理在外存上的文件,并把对文件的存取、共享和保护等手段提供给用户。这不仅方便了用户,保证了文件的安全性,还可有效地提高系统资源的利用率。
具有符号名(文件名)的一组相关元素的有序序列,是一段程序或数据的集合。&
文件系统:
是操作系统中统一管理信息资源的一种软件,管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,并且方便用户使用。&
文件系统包含文件管理程序(文件与目录的集合)和所管理的全部文件 ,&是用户与外存的接口 ,&系统软件为用户提供统一方法(以数据记录的逻辑单位),访问存储在物理介质上的信息。
有关直接(随机)存取设备的磁盘知识:
& & & &按性质和用途分类:系统文件、库文件、用户文件。&
& & & &系统文件 :由系统软件构成的文件,只允许用户通过系统调用或系 统提供的专用命今来执行它们,不允许对其进行读写和修改。主要有操作系统核心 和各种系统应用程序或实用工具程序和数据组成&
& & && &库文件:&文件允许用户对其进行读取和执行,但不允许对其进行 修改 。主要由各种标准子程序库组成&
& & && &用户文件 :是用户通过操作系统保存的用户文件,由文件的所有者 或所有者授权的用户才能使用 。主要由用户的源程序源代码、可执行目标程序的文件和 用户数据库数据等组成 。
& & &&按操作保护分类:只读文件、可读可写文件、&可执行文件。
& & & &只读文件:只允许文件主及被核准的用户去读文件,而不允许写文件。标记为:-r-----&
& & & &可读可写文件:允许文件主及被核准的用户去读和写文件。标记为: -rw----&
& & & &可执行文件:允许文件主及被核准的用户去调用执行该文件而不允许读和写文件,标记为: &---x---&
& && &按用户观点分类(&UNIX系统文件分类)
& & &&普通文件(常规文件) &:是指系统中最一般组织格式的文件,一般是字符流组成的无结构文件&
& & & &目录文件 :是由文件的目录信息构成的特殊文件,操作系统将目录也做成文件,便于统一管理&
& & & &特殊文件(设备驱动程序)&
& & &&按文件的逻辑结构分为:流式文件(,无结构操作系统文件)、记录式文件(有结构的数据库文件)。
& & & &流式文件:这是直接由字符序列(字符流)所构成的文件,故又祢为流式文件&
大量的源程序、可执行文件、库函数等,所采用的就是无结构的文件形式,即流式文件。其长度以字节为单位。对流式文件的访问,则是采用读/写指针来指出下一个要访问的字符。可以把流式文件看做是记录式文件的一个特例。在
UNIX 系统中,所有的文件都被看做是流式文件,即使是有结构文件,也被视为流式文件,系统不对文件进行格式处理。&
& & &记录式文件:由若干个记录所构成的文件,故又称为记录式文件。也叫数据库文件。
& &&& 可采用多种方式组织记录,形成不同的文件: &
①顺序文件:是由一系列记录按某种顺序排列所形成的文件。&
②索引文件:当记录为可变长度时,通常为之建立一张索引表。
③索引顺序文件:它为文件建立一张索引表,为每一组记录中的第一个记录设置一个表项。
& & &按文件的物理结构分类:&顺序文件(也叫串联文件,连续文件)、链接文件、索引文件、HASH文件、索引顺序文件。&
& & &按文件的存取方式:顺序存取文件、随机存取文件。
& & &在管理信息系统中,按文件的组织方式分类:顺序文件、索引文件、直接存取文件。
& & &&按文件中的数据形式分类&
& & & 源文件 :由源程序和数据构成的文件&
& & & 目标文件 :由源程序经过相应的计算机语言编译程序编译,但尚未经过链接程序链接的目标代码所形成的文件
  文件的存取方式是由文件的性质和用户使用文件的情况决定。
  1 顺序存取。
  2&随机存取(也叫直接存取)。
& & & & 3&&索引存取
& & & &&磁带是顺序存取。磁盘是随机存取。
3. 1. 顺序存取
& 顺序存取是按照文件的逻辑地址顺序存取。
&&固定长记录的顺序存取是十分简单的。读操作总是读出上一次读出的文件的下一个记录,同时,自动让文件记录读指针推进,以指向下一次要读出的记录位置。如果文件是可读可写的。再设置一个文件记录指针,它总指向下一次要写入记录的存放位置,执行写操作时,将一个记录写到文件
末端。允许对这种文件进行前跳或后退N(整数)个记录的操作。顺序存取主要用于磁带文件,但也适用于磁盘上的顺序文件。
& 可变长记录的顺序文件,每个记录的长度信息存放于记录前面一个单元中,它的存取操作分两步进行。读出时,根据读指针值先读出存放记录长度的单元 。然后,得到当前记录长后再把当前记录一起写到指针指向的记录位置,同时,调整写指针值 。
& & 由于顺序文件是顺序存取的,可采用成组和分解操作来加速文件的输入输出。
3. 2. 直接存取(随机存取法)
& & &很多应用场合要求以任意次序直接读写某个记录。例如,航空订票系统,把特定航班的所有信息用航班号作标识,存放在某物理块中,用户预订某航班时,需要直接将该航班的信息取出。直接存取方法便适合于这类应用,它通常用于磁盘文件。
& & 为了实现直接存取,一个文件可以看作由顺序编号的物理块组成的,这些块常常划成等长,作为定位和存取的一个最小单位,如一块为1024字节、4096字节,视系统和应用而定。于是用户可以请求读块22、然后,写块48,再读块9等等。直接存取文件对读或写块的次序没有限制。用户提供给操作系统的是相对块号,它是相对于文件开始位置的一个位移量,而绝对块号则由系统换算得到。
3.3. 索引存取
& & &&第三种类型的存取是基于索引文件的索引存取方法。由于文件中的记录不按它在文件中的位置,而按它的记录键来编址,所以,用户提供给操作系统记录键后就可查找到所需记录。
& & 通常记录按记录键的某种顺序存放,例如,按代表健的字母先后次序来排序。对于这种文件,除可采用按键存取外,也可以采用顺序存取或直接存取的方法。信息块的地址都可以通过查找记录键而换算出。实际的系统中,大都采用多级索引,以加速记录查找过程。
几种常见的文件物理结构:
& & & & 顺序文件(也叫串联文件,连续文件)、链接文件、索引文件、HASH文件、索引顺序文件。
& & & & &是指文件中的物理记录按其在文件中的逻辑记录顺序依次存入存储介质而建立的。即顺序文件中物理记录的顺序和逻辑记录的顺序是一致的。
顺序文件在存储介质中可以有两种不同的实现结构:连续结构和链结构。
& & & & 连续结构:是一种最简单的物理文件结构,它把逻辑上连续的文件信息依次存放在连续编号的物理块中。即次序相继的两个物理记录在存储介质上的位置是相邻的。也称为连续文件;
图5.19给出了连续结构文件的图形说明。在图中,一个逻辑块号为0、1、2、3的文件依次存放在物理块15、16、17、18中。
& & & & & & & &&
& & & & & & & & & & & & & & & & & & & & &&5.19连续结构文件的示意图件
& &&&连续文件结构的优点是一旦知道了文件在文件存储设备上的起始地址(首块号)和文图5.19连续结构文件的示意图件长度(总块数),就能很快地进行存取。但是连续结构文件在建立文件时必须在文件说明信息中确定文件信息长度,且以后不能动态增长;而且在文件进行某些部分的删除后,又会留下无法使用的零头空间。因此,连续结构不宜用来存放用户文件、数据库文件等经常被修改的文件。
& & &连续结构的优点是:
& & &(1)结构简单;
& & &(2)顺序访问速度快,对于等长记录的连续文件可以进行顺序存取,也可以进行类似折半查找的随机存取,但是对于不等长记录的连续文件只能进行顺序存取;&
& & &(3)因为数据集中存放在连续的盘块中,访问时所需的寻道次数和寻道时间少。 &
& & &连续结构存储的缺点:
& & &(1)由于插入和删除记录会引起其它记录的移动,在外存中执行此操作会引起磁头的频繁来回移动,因此连续结构只能在文件的末尾插入记录,删除记录时,只作标记进行逻辑删除,只有用户指定物理删除时才真正删除相应记录,进行记录的移动;
& & &(2)顺序文件需要连续的盘块存放数据,因此,在插入记录时如果原来分配的盘块已没有空闲空间,而与其邻接的盘块也不空闲时,需要重新在外存中查找新的较大的空闲空间,并将原有数据移动到新空间中,然后才能插入新的数据,因此,连续结构不易动态增长,而且外存容易存在碎片。&
& & 链结构将逻辑上连续的文件信息分散存放在若干不连续的物理块中,其中每个物理块设有一个指针,指向其后续连接的另一个物理块。即物理记录的次序由指针相链表示。也称串联文件
& & 图5.20给出了链结构文件的物理结构。使用链结构时,不必在文件说明信息中指明文件的长度,只要指明该文件的第一个块号就可以按链指针检索整个文件。链结构的另一个特点是文件长度可以动态地增长,只要调整链指针就可在任何一个信息块之间插入或删除一个信息块。
& & & & & & & &&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&图5.20链结构文件的示意图
& & 文件采用链结构时,逻辑块到物理块的转换由系统沿链查找与逻辑块号对应的物理块号的办法完成。例如,在图5.20的文件结构中,如果用户所要进行操作的逻辑块号为2,则系统从第一个物理块20开始,一直沿链搜索到逻辑块号为2的第三块时,得到其所对应的物理块号为22。因此,链结构不适宜随机存取访问。
& & &链结构主要优点是:&
& & &(1)提高了磁盘空间利用率,解决了磁盘碎片问题;&
& & &(2)便于文件的插入和删除操作;&
& & &(3)便于文件的动态增长。&
& & 从本质上讲,顺序文件就是线性表,因而对顺序文件的各种操作与线性表类似,但是,外存的访问速度比主存要慢的多,在考虑算法时要立足于尽量减少外存的访问次数,寻道次数和寻道时间。 &
& & &磁带是典型的顺序存取设备,因此存储在磁带上的文件只能顺序文件。
1.索引文件
& & & &建立一张逻辑记录和物理记录之间对应关系的索引表。这类包括数据去和索引表两大部分的文件称做索引文件。
2.索引表组成
& & & 索引表由若干索引项组成。一般索引项由主关键字和该关键字所在记录的物理地址组成。如图6.1(b)。
& & 注意: 索引表必须按主关键字有序,而主文件本身则可以按主关键字有序或无序。
3.索引顺序文件和索引非顺序文件
& & & (1)索引顺序文件(Indexed Sequential File):主文件按主关键字有序的文件称索引顺序文件。
&&&   在索引顺序文件中,可对一组记录建立一个索引项。这种索引表称为稀疏索引。
& & &(2)索引非顺序文件(Indexed NonSequentail File):主文件按主关键字无序得文件称索引非顺序文件。
&&&   在索引非顺序文件中,必须为每个记录建立一个索引项,这样建立的索引表称为稠密索引。
&&&  ① 通常将索引非顺序文件简称为索引文件。
&&&  ② 索引非顺序文件主文件无序,顺序存取将会频繁地引起磁头移动,适合于随机存取,不适合于顺序存取。
&&&  ③ 索引顺序文件的主文件是有序的,适合于随机存取、顺序存取。
&&&  ④ 索引顺序文件的索引是稀疏索引。索引占用空间较少,是最常用的一种文件组织。
&&&  ⑤ 最常用的索引顺序文件:ISAM文件和VSAM文件。
4. 索引文件操作: & &&
1). 检索方式为:直接存取和按关键字存取。“检索”将分两步进行:先查索引表,利用折半查找法去检索索引表,然后根据索引中指针所指记录(索引项指示的外存物理地址)读取外存记录。
  &注意:①索引表不大时,索引表可一次读入内存,在索引文件中检索只需两次访问外存:一次读索引,一次读记录。
  & & & & & &②由于索引表有序,对索引表的查找可用顺序查找或二分查找等方法。
2).插入记录时,“记录”插入在主文件的末尾,而相应的“索引项”必须插入在索引的合适位置上。因此,最好在建索引表时留有一定“空位”。
3).删除记录时,仅需删除索引表中相应的索引项即可。
4).更新记录时,应将更新后的记录插入在主文件的末尾,同时修改相应的索引项。
& & & & & & & 图6.1 (a) 主文件(数据区) &(b) 索引表 & & & &c(输入过程中建立的索引表)&
5. 利用查找表建立多级索引&
1)查找表:
& & & & &对索引表建立的索引,称为查找表。查找表的建立可以为占据多个页块的索引表的查阅减少外存访问次数。
& & & & &图6.1 (b)的索引表占用了三个页块的外存,每个页块能容纳三个索引项,则可为图6.2所示。检索记录时,先查找查找表,再查索引表,然后读取记录,三次访问外存即可。
& & & & & &
& & & & & & & & 图6.2 &图6.1(b) 索引表的索引,
2)多级索引
& &  当查找表中项目仍很多,可建立更高一级的索引。通常最高可达四级索引:
& &  数据文件一索引表一查找表一第二查找表一第三查找表。
   &【例】检索过程从最高一级索引--第三查找表开始,需要5次访问外存。:
& & 注意:
  & &① 多级索引是一种静态索引
& &  ② 多级索引的各级索引均为顺序表,结构简单,修改很不方便,每次修改都要重组索引。
3)动态索引
& & 当数据文件在使用过程中记录变动较多时,利用二叉排序树(或AVL树)、B-树(或其变型)等树表结构建立的索引,为动态索引。
& &(1)树表特点
   & ① 插入、删除方便
   & ② 本身是层次结构,无须建立多级索引
   & ③ 建立索引表的过程即为排序过程。
& &(2)树表结构选择
   & ① 当数据文件的记录数不很多,内存容量足以容纳整个索引表时,可采用二叉排序树(或AVL树)作索引;
   & ② 当文件很大时,索引表(树表)本身也在外存,查找索引时访问外存的次数恰为查找路径上的结点数。采用m阶B-树(或其变型)作为索引表为宜(m的选择取决于索引项的多少和缓冲区的大小)。
& &(3)外存的索引表的查找性能评价
& & 由于访问外存的时间比内存中查找的时间大得多,所以外存的索引表的查找性能主要着眼于访问外存的次数,即索引表的深度。
& & 索引结构是链式结构的一种扩展,除了具备链式结构的优点外,还克服了它只能作顺序存取的缺点,具有直接读写任意一个记录的能力,便于文件记录的插入、删除、修改。
& & 索引文件的缺点是:增加了索引表的空间开销和查找时间,索引表的信息量甚至可能远远超过文件记录本身的信息量。
& &有两种典型的索引顺序文件:
一、ISAM文件:ISAM(IndexSequential&Access&Method)(索引顺序存取方法)是一种专为磁盘存取设计的文件组织方法。
二、VSAM文件:VSAM(Vistual&Storage&Access&Method)文件是利用操作系统中提供的虚拟存储器的功能组织的文件,免除了用户为读/写记录时直接对外存进行的操作,。
7.1 ISAM文件
1. ISAM文件组成
& & & & ISAM为Indexed Sequential Access Method(索引顺序存取方法)的缩写,它是一种专为磁盘存取文件设计的
文件组织方式,采用静态索引结构。 &
& & & & 由于磁盘是以盘组、柱面和磁道三级地址存取的设备,所以可对磁盘上的数据文件建立盘组、柱面和磁道三级索引。&
1)磁道索引
& & 磁道索引中的每一个索引项,都由两个子索引项组成:基本索引和溢出索引项,每一子索引项又由关键字和指针两项组成。&
& & 基本索引项关键字记录该磁道中最大(最末一个记录)的关键字,指针记录该磁道中第一记录的位置;&& &
& & 溢出索引项记录该磁道中溢出的记录的最键字,指针记录溢出区中的第一个记录。&
2)柱面索引
& & 柱面索引每一索引项由关键字和指针两项组成,关键字记录该柱面中最大(最末一个记录)的关键字,指针记录该柱面中磁道索引的位置。
& & 柱面索引存放在某个柱面上,如果柱面索引过大,占多个磁道时,则建立柱面索引的索引—主索引。
& &&因此,ISAM文件由多级主索引、柱面索引、磁道索引和主文件组成。文件存放记录时遵循下面原则:
& & 记录在同一盘组上存放时,应先集中放在一个柱面上,然后再顺序存放在相邻的柱面上;对同一柱面,则应按盘面的次序顺序存放。 &&
& & 各种索引项结构如图7.1所示:
& &&&-&-&&
& & & & & & & & & & 图7.1
& & 图7.2 为一ISAM文件结构示意图,从图中可看出,主索引是柱面索引的索引,这里只有一级主索引。
& & & & & & & & & & & &7.2 VSAM文件示意图
& &&&当文件占用的柱面索引很大,使得一级主索引也很大时,可采用多级主索引。当然,若柱面索引较小时,则主索引可省略。通常主索引和柱面索引放在同一个柱面上(图7.2是放在0号柱面上),主索引放在该柱面最前面的一个磁道上(图7.2中
放在0柱面0磁道上),其后的磁道中存放柱面索引。每个存放主文件的柱面都建立有一个磁道索引,放在该柱面的最前面的磁道T0上,其后的若干个磁道是存放主文件记录的基本区,该柱面最后的若干个磁道是溢出区。基本区中的记录是按主关键字大小顺序存储的,溢出区 被整个柱面上的基本区中各磁道共享,当基本区中某磁道溢出时,就将该磁道的溢出记录,按主关键字大小链成一个链表(溢出链表)放入溢出区。 &
2. ISAM文件的检索&
& && 在ISAM文件上检索记录时,过程如下:
& & &1)从主索引出发,找到相应的柱面索引;
& & &2)从柱面索引找到记录所在柱面的磁道索引;
& & &3)从磁道索引找到记录所在磁道的起始地址,由此出发在该磁道上进行顺序查找,直到找到为止。
& & &若找遍该磁道均不存在此记录,则表明该文件中无此记录;若被查找的记录在溢出区,则可从磁道索引项的溢出索引项中得到溢出链表的头
指针,然后对该表进行顺序查找。&
& & &例如,要在图7.2中查找记录R136,先查主索引,即读入C0T0;因为136&286,则查找柱面索引的C0T1,即读人C0T1;因为136&145,所以进一步把C1T0读入内存;查磁道索引,因为90&136&145,所以C1T2即为R136所存放的磁道,读人C1T2后即可查得R136。 &
& & &为了提高检索效率,通常可让主索引常驻内存,并将柱面索引放在数据文件所占空间居中位置的柱面上,这样,从柱面索引查找到磁道索引时,磁头移动距离的平均值最小。 &
3.ISAM文件的插入操作&
& & 当插人新记录时,首先找到它应插入的磁道,若该磁道不满,则将新记录插入该磁道的适当位置上即可;若该磁道已满,则新记录或者插在该磁道上,或者直接插入到该磁道的溢出链表上。插入后,可能要修改磁道索引中的基本索引项和溢出索引项。&
& & (1)插入R65,首先将1柱面1磁道中大于65的记录顺次后移,导致R90溢出至溢出区T11’0(11磁道0块中),造成磁道T1中最大关键字成为R80,修改磁道索引,将基本项中最大关键字90修改为80,将溢出项中最大关键字改为90,指针指向T11’0(溢出链表头在11磁道0块中),然后在相应位置插入R65。 &
& & 例如,在图7.2中依次插入R65 R95和R83。 &
& & (2)插入R95,使得T2中的R145溢出至溢出区T11’1,修改相应磁道索引。(3)插入R83,因为80&83&90,则83直接插入溢出区T11’2中,其指针指向T11’0,并修改磁道1的溢出链表,使得表头指向T11’2。 &插入完成后的结果如图7.3所示。 &
图7.3 VSAM
4. ISAM文件的删除操作&
& & & ISAM文件中删除记录的操作,比插入简单得多,只要找到待删除的记录,在其存储位置上作删除标记即可,而不需要移动记录或改变指针。在经过多次的增删后,文件的结构可能变得很不合理。此时,大量的记录进入溢出区,而基本区中又浪费很多的空间。因此,通常需要周期性地整理ISAM文件,把记录读入内存重新排列,复制成一个新的ISAM文件,填满基本区而空出溢出区。&
7.2 VSAM文件
& &VSAM是Virtual Storage Access Method(虚拟存储存取方法)的缩写,它也是一种索引顺序文件的组
织方式,采用B+树作为动态索引结构。这种文件组织方式利用了操作系统中提供的虚拟存储器的功能,用户读/写记录时不必再考虑外存储器中的柱面、磁道等具体存储信息,文件只有控制区间和控制区域等逻辑存储单位,这种存储方式可以在一个磁道中放个控制区间,也可以一个控制区间跨个磁道。 &
1. VSAM文件结构 &
& &VSAM文件的结构由三部分组成: &索引集 &顺序集 &数据集
& & & & & & & & & & & &图 7.4&
2.VSAM文件中控制区间的结构&
& &&在VSAM文件中,记录可以是定长的也可以是不定长的。因而在控制区间中,除了存放记录本身之外,还有每个记录的控制信息(如记录的长度等)和整个区间的控制信息(如区间中存放的记录数等),控制区间的结构如图7.5所示。在控制区间上存取一个记录是需从控制区间的两端出发同时向中间扫描。
& & & & & & & & & &图7.5 VSAM文件控制区间结构图
3.VSAM文件的插入&
& & VSAM文件中没有溢出区,解决插入的方法是在初建文件时留出空间:一是每个控制区间内不填满记录,在最末一个记录和控制信息之间留有空隙;二是在每个控制区域中有一些完全空的控制区间,并在顺序集的索引中指明这些空区间。当插入新记录时,大多数的新记录能插入到相应的控制区间内,但要注意:为了保持区间内记录的关键字从小至大有序,则需将区间内关键字大于插入记录关键字的记录,向控制信息的方向移动。&
& &&若在若干记录插入之后控制区间已满,则在下一个记录插入时,要进行控制区间的分裂,即把近乎一半的记录移到同一控制区域内全空的控制区间中,并修改顺序集中相应索引。倘若控制区域中已经没有全空的控制区间,则要进行控制区域的分裂,此时顺序集中的结点亦要分裂,由此需要修改索引集中的结点信息。但由于控制区域较大,通常很少发生分裂的情况。&&&
4. VSAM文件的删除&
& & 在VSAM文件中删除记录时,需将同一控制区间中,比删除记录关键字大的记录向前移动,把空间留给以后插人的新记录。若整个控制区间变空,则回收用作空闲区间,且需删除顺序集中相应的索引项。 &
5. VSAM文件的优点&
& & 和ISAM文件相比,基于B+树的VSAM文件有如下优点:能保持较高的查找效率,查找一个后插入记录和查找一个原有记录具有相同的速度;动态地分配和释放存储空间,可以保持平均75%的存储利用率;而且永远不必对文件进行再组织。因而基于B+树的VSAM文件,通常被作为大型索引顺序文件的标准组织。&
1. Hash文件&
& & 哈希(Hash)文件又称散列文件或者直接存取文件,是利用哈希函数法组织的文件,它类似于哈希表,即根据文件记录的关键字的特点,设计一种哈希函数和处理冲突的方法,从而将记录散列到外存储器上。由于哈希文件中通过计算来确定一个记录在存储设备上的存储位置,因而逻辑顺序的记录在物理地址上是不相邻的,因此哈希文件不宜使用磁带存储,只适宜使用磁盘存储;并且哈希文件这种结构只适用于定长记录文件和按主键随机查找的访问方式。&
& & 哈希文件的组织方法与哈希表的组织方法相比有一点不同。对于哈希文件来说,磁盘上的文件记录通常是成组存放的,若干个记录组成一个称为桶的存储单位。假若一个桶能存放m个记录,即m个哈希函数值相同的记录可以存放在同一个桶中,而当第m+1个哈希函数值相同的记录出现时才发生冲突。&
2. 链地址法解决冲突的方法是
& & 哈希文件中处理冲突的方法也可采用哈希表中处理冲突的各种方法,但链地址法是哈希文件处理冲突
的首选方法。 &
& & 当某个桶中的哈希函数值相同的记录超过m个时,便产生“溢出”,此时会动态生成一个桶以存放那些溢出的哈希函数值相同的记录。通常把存放前m个哈希函数值相同的记录的桶称为基桶,把存放溢出记录的桶称为溢出桶。基桶和溢出桶的结构相同,均为m个记录的数组加一个桶地址指针。 &
& & 当某个基桶未溢出时,基桶中的指针为空;当基桶溢出时,动态生成一个溢出桶存放溢出记录,基桶中的指针置为指向该溢出桶;若溢出桶中的哈希函数值相同的记录再溢出时,再动态生成第二个溢出桶存放溢出记录,第一个溢出桶中的指针置为指向第二个溢出桶。这样就构成了一个链接& & & & & & &
& & & & & & & & & &图8.1 hash文件。&
例如,假定某个文件有20个记录,其关键字集合为{2,23,5,26,1,3,24,18,27,12,7,9,4,19,6,16,33,11,10,13}。桶的容量=3,桶
数=7,用除留余数法作哈希函数H(key)=key%7,其对应的哈希文件如图8.1所示。&
3.在哈希文件中查找记录&
& & & &首先根据待查记录的关键字值求得哈希地址(即基桶地址),将基桶的记录读入内存进行顺序查找,若找到某记录的关键字等于待查记录的关键字,则查找成功;若基桶内无待查记录且基桶内指针为空,则文件中没有待查记录,查找失败;若基桶内无待查记录且基桶内指针不空,则将溢出桶中的记录读入内存进行顺序查找,若在某个溢出桶中查找到待查记录,则查找成功;若所有溢出桶链内均未查找到待查记录,则查找失败。&
4.哈希文件中删去一个记录 &
& & 仅需对被删记录作删除标记即可。 &
6.哈希文件的优点是: &
(1)文件随机存放,记录不需进行排序; &
(2)插入、删除方便; &
(3)存取速度快;&
(4)不需要索引区,节省存储空间。&
7.哈希文件的缺点是:&
& & &(1)不能进行顺序存取,只能按关键字随机存取;&
& & &(2)询问方式限于简单询问;&
& & (3)在经过多次插入、删除后,可能造成文件结构不合理,需要重新组织文件。
1.多重表文件&
& & 多重表文件是一种将索引方法和链接方法相结合的组织方式,他对主关键字建立主索引,对每个需要查询的次关键字均建立一个索引,同时将具有相同次关键字的记录链接成一个链表,并将此链表的头指针、链表长度及次关键字,作为索引表的一个索引项。通常多重表文件的主文件是一个顺序文件。如图:
2. 倒排文件&
& & & 倒排文件和多重表文件构造相似,主要区别在于在次关键字索引中,具有相同次关键字的记录之间不设指针进行链接,而是在倒排表中列出具有该次关键字记录的所有物理记录号。&倒排文件中的次关键字索引称做倒排表。倒排表和主文件一起就构成了倒排文件。上例文件中的倒排表如图9.2所示。&&&
& & & & & & & &图9.2 倒排表
3. 倒排文件的应用&
& & 倒排文件应用非常广泛,例如在WEB或者其它文本搜索引擎的设计中,在搜索引擎收集完数据进行预处理时,搜索
引擎往往需要一种高效的数据结构来对外提供检索服务,而现行最有效的数据结构就是倒排文件,他是搜索引擎的核心内容之一。
& & 详细内容请看:
《数据结构(C语言版)》.严蔚敏_吴伟民
《计算机操作系统教程》张尧学 第三版
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2101108次
积分:18672
积分:18672
排名:第183名
原创:206篇
评论:801条
(1)(2)(1)(1)(2)(1)(1)(1)(1)(1)(2)(2)(1)(2)(3)(3)(3)(2)(2)(4)(3)(2)(15)(6)(8)(14)(29)(26)(27)(18)(7)(8)(6)(2)

我要回帖

更多关于 文件系统 的文章

 

随机推荐