第五章 文件管理与流式文件
第5章文件系统习题及答案
(2)链接结构
链接结构文件的逻辑记录是顺序的,但在存储空间中不必选择连续
的物理块,每个物理块的最后一个单元中用来存放物理块之间的链接指
针。要将文件占用的第一块的物理地址登记在文件目录中。
链接结构与顺序结构都只适合于顺序存取,不适宜随机访问,而下
面介绍的索引结构文件适于随机访问。
(3)索引结构
索引结构是实现非连续存储的另一种方法,索引结构为每个文件建立
盘面被划分成相等的扇区,各扇区的编号称为扇区号。磁盘上任何一块
的位置可由三个参数确定:柱面号、磁头号、扇区号。所以,应该选择
(B)、(C)、(D)。
4.如果按文件的用途来分类,可将文件分为_________。
(A)系统文件
(B)永久文件
(C)用户文件
(D)逻辑文件
(E)库文件
【解析】按文件的用途来分类,可将文件分为:系统文件、用户文
盘驱动器等设备。把存储介质的物理单位定义为卷,例如,一盘磁带、
一张软盘片、一个磁盘组都可称为一个卷。把存储介质上连续信息所组
成的一个区域称为块(物理记录)。块是主存储器与这些设备进行信息
交换的单位。目前常用的存储设备是磁带机和磁盘机。
所以,应该选择(A)、(B)、(C)、(D)。
3.磁盘上一物理块的位置可由参数_________确定。
(E)索引结构
【解析】由于存储设备的类型不同、特性各异,因而文件在相应存
储介质上的组织方式也有差异。通常文件的存储结构有三种:顺序结
构、链接结构和索引结构。
(1)顺序结构
一个文件被存放到连续相邻的块上,其逻辑记录顺序和物理块的顺序
相一致,这类文件称顺序文件或连续文件。文件占用的第一块的物理地
操作系统复习(填空题)
第一章操作系统引论1.计算机配置了操作系统后不仅可以提高效率而且_____________。
2.操作系统的主要设计目标是__________和__________。
3.在操作系统中,不可中断执行的操作称为。
4.用户与操作系统之间的接口主要分为和两类。
5.操作系统的管理功能可分成五大部分,即:、、、和。
6.操作系统的两个最主要的特征是和。
(程序的并发性,资源的共享性)7.实时操作系统有如下两个基本特征:和。
(及时性,可靠性)8.如果操作系统具有很强的交互性,它可供多个用户使用,但时间响应不太及时,则属于________类型。
如果操作系统可靠,时间响应及时但仅有简单的交互能力,则属于类型。
如果操作系统在用户提交作业后不提供交互能力,只提供作业流程的自动化,则属于________类型。
9.操作系统的主要性能参数中是指单位时间内系统处理的作业量。
第二章进程管理1.如果信号量的当前值为-3,则表示系统中在该信号量上有个等待进程。
2.为了感知进程的存在并对它进行控制和管理,系统设置了。
3.在操作系统中,两个或多个事件在同一时间间隔内发生,这是指程序的性。
4.多道程序设计能充分发挥与之间的并行工作能力。
5.进程队列是把链接在一起形成的。
6.一个结束等待状态的进程,必须先变成状态,然后才可能运行。
7.进程运行满一个时间片后让出处理器,它的状态应变为状态。
8.进程是一个程序对某个数据集的。
9.在有m个进程的系统中出现死锁时,死锁进程的个数k应满足的条件是。
10.进程由两个主要部分组成,即和。
程序通常由和组成。
11.设有n个进程使用同一个共享变量(它们都有各自的相关临界区),如果最多允许m(m < n)个进程同时进入临界区,则信号量的变化范围是。
12.操作系统在控制和管理进程过程中,进程存在的唯一标志涉及到的一个重要数据结构是。
13.正在运行的进程,因某种原因而暂时停止运行,等待某个事件的发生,该进程将转变为___________状态。
电大本科操作系统形考任务中的简答题和应用题
《操作系统》形考作业 1第1 章操作系统概述三、简答题1、简述操作系统的定义和主要功能。
答:定义:操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。
主要功能:(1)存储管理(2)进程和处理机管理(3)文件管理(4)设备管理(5)用户接口管理。
2、操作系统一般为用户提供了哪三种界面?各有什么特点?答:操作系统一般为用户提供的三种界面是:图形用户接口、命令行接口和程序接口。
(1)图形用户接口:用户利用鼠标、窗口、菜单、图标等图形界面工具,可以直观、方便、有效地使用系统服务和各种应用程序及实用工具。
(2)命令行接口:在提示符之后用户从键盘上输入命令,命令解释程序接收并解释这些命令,然后把它们传递给操作系统内部的程序,执行相应的功能。
(3)程序接口:也称系统调用接口。
系统调用是操作系统内核与用户程序、应用程序之间的接口。
在UNIX/Linux系统中,系统调用以C函数的形式出现。
第2 章进程管理三、简答题1、在操作系统中为什么要引入进程的概念?它与程序的区别和联系是怎样的?答:程序在并发执行方式下,运行时具有异步性的特征,“程序”这个静态概念已经不能如实反映程序并发执行过程中的特征了。
因此引入“进程”的概念来描述程序动态执行过程的性质。
区别:(1)动态性。
程序是指令的有序集合,是静态的、被动的概念,可以作为一种软件资源长期保存;进程是程序的一次执行过程,是动态的、主动的概念,有一定的生命期,会动态地产生和消亡。
(2)并发性。
进程是一个独立运行的单位,能与其他进程并发执行。
进程是作为资源申请和调度单位存在的;而程序是不能作为一个独立运行的单位而并发执行的。
(3)非对应性。
程序和进程无一一对应的关系。
一个程序可以被多个进程共用;一个进程在其他活动中又可以顺序地执行若干个程序。
(4)异步性。
各个进程在并发执行过程中会产生相互制约关系,造成各自前进速度的不可预测性。
操作系统第三版第5章习题解答
第5章习题解答一、填空1.一个文件的文件名是在创建该文件时给出的。
2.所谓“文件系统”,由与文件管理有关的那部分软件、被管理的文件以及管理所需要的数据结构三部分组成。
3.块是辅助存储器与内存之间进行信息传输的单位。
4.在用位示图管理磁盘存储空间时,位示图的尺寸由磁盘的总块数决定。
5.采用空闲区表法管理磁盘存储空间,类似于存储管理中采用可变分区存储管理方法管理内存储器。
6.操作系统是通过文件控制块(FCB)感知一个文件的存在的。
7.按用户对文件的存取权限将用户分成若干组,规定每一组用户对文件的访问权限。
这样,所有用户组存取权限的集合称为该文件的存取控制表。
8.根据在辅存上的不同存储方式,文件可以有顺序、链接和索引三种不同的物理结构。
9.如果把文件视为有序的字符集合,在其内部不再对信息进行组织划分,那么这种文件的逻辑结构被称为“流式文件”。
10.如果用户把文件信息划分成一个个记录,存取时以记录为单位进行,那么这种文件的逻辑结构称为“记录式文件”。
二、选择1.下面的 B 不是文件的存储结构。
A.索引文件B.记录式文件C.串联文件D.连续文件2.有一磁盘,共有10个柱面,每个柱面20个磁道,每个盘面分成16个扇区。
采用位示图对其存储空间进行管理。
如果字长是16个二进制位,那么位示图共需A字。
A.200 B.128 C.256 D.1003.操作系统为每一个文件开辟一个存储区,在它的里面记录着该文件的有关信息。
这就是所谓的 B 。
A.进程控制块B.文件控制块C.设备控制块D.作业控制块4.文件控制块的英文缩写符号是 C 。
A.PCB B.DCB C.FCB D.JCB5.一个文件的绝对路径名总是以 C 打头。
A.磁盘名B.字符串C.分隔符D.文件名6.一个文件的绝对路径名是从 B 开始,逐步沿着每一级子目录向下,最后到达指定文件的整个通路上所有子目录名组成的一个字符串。
A.当前目录B.根目录C.多级目录D.二级目录7.从用户的角度看,引入文件系统的主要目的是D 。
操作系统原理及应用(Linux)第5章 文件管理
Addr[11]
Addr[12] 一次间接
…
Addr[13] 二次间接
Addr[14] 三次间接
…
物理块
… …
… …
混合索引表
假设1个磁盘块4KB,一个索引表项占4B, 直接索引表引出磁盘块 12个
12*4KB=48KB 一级索引表引出文件磁盘块的数量
4KB/4B=1K个 支持的文件长度 1K*4KB=4MB 二级索引表引出文件磁盘块的数量1K*1K 支持的文件长度 1K*1K*4KB=4GB 三级索引表引出文件磁盘块的数量1K*1K*1K 支持的文件长度 >1K*1K*1K*4KB=4TB
…… ……
666 7771
文 索引表指针
件 说 明
索引表
逻辑 块号
0
1 2 3
物理 块号
26
文 件
索引表指针
说
明
索引表
逻辑 块号
0
1 2 3
4
物理 块号
NULL
27
优点:既能方便迅速地实现随机存取,又能满足文件动态 增长的需要。 缺点:增加了索引表带来的存储空间开销。
2.多级索引(类似多级页表)
1.数据项 数据项是描述一个对象的某种属性的字符集,是数据组织中可以命名的最 小逻辑数据单位。 2.记录 记录是一组相关数据项的集合,用于描述一个对象在某方面的属性。 3.文件 文件是由创建者定义的、具有文件名的一组相关信息的集合。
4
5.1.2 文件系统
文件系统是操作系统中对文件进行管理和操作的软件机构与数据的 集合,即文件管理系统。 1.文件系统的需解决的问题 (1)有效地分配存储器的存储空间。 (2)提供一种组织数据的方法。数据在辅存设备上的分布构成了文件的 物理结构,实现了“按名存取”的功能。 (3)提供合适的存取方法。 (4)提供一组服务,以执行所需要的操作。这些操作包括创建文件、撤 消文件、组织文件、读文件、写文件、传输文件和控制文件的访问权限 等。
文件和数据流课件
文件写入的常见方式
使用内置的`open()`函数
使用`write()`方法
除了可以打开文件外, `open()`函数还支持写入模式 ,我们可以使用这个模式来写 入文件。
write()方法用于将文本写入文件中。
使用`writelines()…
writelines()方法一次写入多行文本到文
件中。
使用`seek()`方法改变文 …
使用文件对象的write()方法还可 以将数据追加到文件末尾。追加 数据时,需要以追加模式打开文 件(使用'a'作为打开模式)。
数据流的常见问题及解决方案
数据流丢失
在读取或写入数据流时,可能会 遇到数据流丢失的问题。为了避 免数据流丢失,可以使用备份文
件或进行数据备份。
数据流冲突
多个程序同时访问同一个文件时, 可能会产生数据流冲突。为了避免 数据流冲突,可以使用锁机制来控 制对文件的访问。
写入权限
允许用户修改文件的内容。
执行权限
允许用户执行文件,如可执行 程序等。
访问权限的设定
可以通过文件属性或操作系统 权限设置来限制用户对文件的
访问权限。
02
文件读取和写入
文件读取的基本方法
使用内置的`open()`函数
使用`read()`方法
使用`readline()`方法
使用`readlines()`…
数据流分词实例
总结词
将数据流分割成独立的词汇或词组,以便进行后续的数据处理和分析。
详细描述
数据流分词是一种常见的预处理技术,用于将数据流中的连续字符或符号分割成独立的词汇或词组。分词算法通 常基于规则、词典和统计方法来实现。通过对数据流进行分词,可以方便地对数据进行后续的处理和分析,如情 感分析、主题建模等。
操作系统知识点归纳
操作系统知识点归纳操作系统知识点归纳第一章操作系统概论1.硬件一一操作系统一一支撑软件一一应用软件2.操作系统特征:併发性、共享性、随机性3.操作系统作为系统软件集中了两类主要的功能:资源管理、控制程序执行4.所谓的共享性:在一定策略下,按照不同资源类型共同占有使用。
5.操作系统研究观点:软件、资源管理、进程、虚拟器、服务提供者的观点6.批处理系统优点:吞吐量大、CPU资源利用率高、周转时间短,不具有较快的响应时间缺点:缺乏交互7.微内核(C/S结构客户机/服务器)特点:可靠、灵活、适合分布式处理@重点多选8.没有工业操作系统9.中央处理单元是共享设备,可以被抢占。
打印机,扫描仪,磁带机是独占设备,无法被抢占,但是可以共享。
10.实时系统的设计目标:满足截止时间的要求,满足可靠性要求第二章操作系统运行机制1.中断源:引起中断的那些事件2.中断请求:中断控制器向中央处理器发送信号3.中断的作用:发挥处理器使用效率、提高系统实时能力4.中断:时钟中断、IO中断、控制台中断、硬件故障中断@重点多选5.异常(不是中断):程序性中断(算术溢出、被零除、缺页)、访管指令异常@重点多选6.系统调用:能够动态请求和释放系统资源7.系统/一般过程调用区别:一般过程调用的调用与被调用程序运行在相同的状态,不涉及系统状态的转换;系统调用的调用程序在用户态,被调用程序在系统态,需要通过软中断(陷入机制)实现用户态到核心态的转化。
者都可以嵌套调用@重点单选8.参数传递:陷入指令自带参数、通用寄存器、堆栈区9.用户可见寄存器:数据/地址/条件码寄存器第三章进程线程模型1.顺序执行(独占CPU)特点:顺序性、封闭性、确定性、可再现性2.多道程序设计环境特点:独立性、随机性、资源共享性3.并发执行特点:相互制约、不再一一对应、不可再现4.进程:由程序、数据和进程控制块(PCB)组成,分为系统进程和用户进程5.运行→就绪:时间片用完、程序执行结束、被调度程序抢占6.运行->等待:等待某事件发生7.等待->就绪:等待的事件已发生8.阻塞状态( Blocked)挂起状态( Suspend)9.PCB:调度信息(进程名、进程号、优先级、当前状态、指针)、现场信息:(程序状态字、时钟、界地址寄存器、页表地址和长度)、不存放进程页表和动态链接库@重点多选10.PCB组织方式:线性、索引、链接 11.单核 max min运行就绪n-10等待n012.进程控制通过原语来实现状态转换13.进程创建:系统初始化、被调用的进程创建系统调用、创建新进程、批处理作业初始化、用户登录时14.fork函数的使用:调用一次则一分为二,父子进程(两次则为4,三次为815.线程:用户级、内核级、混合实现方式16.线程表:程序计数器、堆栈指针、寄存器、状态17. Pthread join(等待一个特定的线程退出) Pthread_ yield(释放CPU来运行另外一个线程)18. Pthread creat()创建线程,四个参数,1线程标识符地址2设置线程属性3线程入口函数的起始地址4.入口函数的参数。
02326操作系统自考复习资料
第二章计算机系统结构简介 第三章处理器管理 第四章存储管理 第五章文件管理 第六章设备管理第七章进程同步与进程通信 第八章死锁高效统”,即多个作业可同时装入主存储器进行运行的系统。
在多道系统中一点必须的是系统须能进行程序浮动。
所谓程序浮动是指程序可以随机地从主存的一个区域移动到另一个区域,程序被移动后仍不影响它的执行。
多道系统的好处在于提高了处理器的利用率;充分利用外围设备资源;发挥了处理器与外围设备以及外围设备之间的并行工作能力。
可以有效地提高系统中资源的利用率,增加单位时间内的算题量,从而提次执行。
由定义知进程关键组成是程序、数据集。
进程通过一个控制块来被系统所指挥,因此进程由程序、数据集和进程控制块三部分组成。
进程控制块是进程存在的唯一标志.进程是要执行的,据这点可分将进程的状态分为等待态然后是就绪态最后是运行态。
进程的基本队列也就是就绪队列和等待队列,因为进程运行了,也就用不上重定位的方式有“静态重定位”和“动把作业中的指令地址和数据地址全部转换成绝对地址。
这种转换工作是在作业开始前集中完成的,在作业执行过程中无需再进行地址。
而是直接把作业装到分配的主区域中。
在作业执行过程中,每当执行一条指令时都由硬件的地址转换机构转换n 成绝对地址。
这种方式的地址转换是在作业执行时动态完成的,所以称为动态重定位。
动态重定位由软件(操作系统)和硬件(地址转换机构)相互配合来实现。
动态重定位的系统支持“程序浮动”,而其余的用户区域作为一个连续的分区分配给用户使用。
固定分区的管理分区数目、大小固定设+下限地址已经划分好的分区中,而是在作业要求装入主存储器时,根据作业需要的主存量和当时的主存情况决定是否可以装入该作业。
+基址寄存器的值→绝对地址。
基址值≤绝对地址≤基址值+限长。
程序中的逻辑地址进行分“页”,页的大小与块的大小一致。
用页表登记块页分配情况逻辑地址的页号部分→页表中对应页号的起始地址→与逻辑地址的页内地址部分拼成绝对地址。
2010年考研北京大学计算机学科专业基础综合(408)重难点解析
第五章 输入输出管理
DMA 控制方式的流程,与通道方式、中断方式的区别,引入缓
冲的目的,快速缓存与缓冲区的区别,SPOOLing 技术的概念、 目的以及实现过程,磁盘访问时间的计算,常用的磁盘调度算
法
第一章 计算机网络体系结 计算机网络体系结构的基本概念(协议、分层、体系结构、实
构
体、接口、服务等),OSI 参考模型,TCP/IP 模型中的分层及各
层功能,带宽与时延的概念与计算
第二章 物理层
信道的概念,波特与比特/秒的关系,奈奎斯特定理与香农定理, 调制解调技术,三种常见数字数据编码(非归零码、曼彻斯特
编码和查分曼彻斯特编码)的编码方式与特点,脉冲编码调制
PCM,区分电路交换、报文交换和分组交换(数据报和虚电路)
的优缺点及适用范围,中继器和集线器的功能与特点
二进制指数类型算法),各高速局域网技术特点,中继器、网卡、 集线器、网桥和局域网交换机的作用于区别
第四章 网络层
网络层的功能,利用子网掩码划分子网,判断子网个数及子网
内允许的主机数目,根据网络前缀划分指定大小的 CIDR 地址 块,计算地址块内所包含的 IP 个数,RIP、OSPF 及 BGP 三种路
过程
第六章 应用层
域名解析过程(递归查询、递归与迭代相结合),FTP 的控制连
接和数据连接的区别,SMTP 协议和 POP3 协议的区别,HTTP 协
议的工作原理
第2页 共2页
考研全程辅导专家
第3页 共2页
立即寻址、直接寻址、隐含寻址、间接寻址、寄存器寻址、寄
存器间接寻址、基址寻址、变址寻址和相对寻址),CISC 与 RISC
组成原理
第五章 中央处理器
的特点及比较 CPU 的功能与结构,指令执行过程(各个周期的原理、顺序及
(完整版)操作系统复习题附答案
3、进程高级通信的3种机制?主从式,会话式,消息队列或邮箱方式,共享存储区方式
五、应用题
1、信号量操作解决问题:互斥、前趋关系图、经典同步问题。
第3章处理机调度与死锁
一、填空题
1、产生死锁的原因,一是竞争资源,二是进程的(运行推进的顺序)不当。
2、死锁是系统中两个或两个以上的进程由于竞争系统资源而出现的一种(处于无限期等待,系统处于停滞状态)现象。
2、像打印机这类一次只允许一个进程使用的资源称为临界资源。T
3、进程是静态的,程序是动态的。F
4、进程互斥关系是一种特殊的进程同步关系。T
四、简答题
1、简述进程的5个特征。动态性,并发性,独立性,制约性,异步性,结构性。
2、什么叫进程同步机制?请叙述进程同步机制的4条准则。
进程同步时指系统中多个进程发生的事件存在某种时序关系,需要相互合作,共同完成一项任务
A.寻道时间B.旋转延迟时间C.传输时间D.周转时间
6.磁盘访问中把数据从磁盘读出,或向磁盘写入数据所花费的时间叫做(D)。
A.寻找指定柱面的时间B.旋转延迟时间C.周转时间D.传输时间
三、判断题
1、在DMA控制方式下,外部设备与CPU之间直接进行成批的数据交换。(错,与存储器)
2、通道执行CPU指令构成的程序,与设备控制器一起共同实现对I/O设备的控制。(错,通道执行通道指令构成的程序,通道本身是一个处理机,指令非常单一,通道没有独立的内存)
11
第5章设备管理
一、填空题
1、磁盘的访问时间包括三部分时间,寻道时间、(旋转延迟时间)和传输时间。(其中寻道时间)
2、在联机情况下实现的同时与外围设备联机操作的技术,称为(联机输入输出或假脱机)。
文件与流
PathTooLongException EndOfStreamException
字节流
抽象类Stream
类支持对字节的读写操作,在 Stream 类中包括了对异步操作的支持 在实现 Stream 的派生类时,必须实现Read 和Write方法 异步方法 BeginRead 、EndRead 、 BeginWrite 和 EndWrite 通过同步方法 Read 和 Write 实现 不要重写Close方法,而应将所有清理逻辑放 入Dispose中
操作系统文件管理练习及答案
文件管理练习题(一)单项选择题1.操作系统对文件实行统一管理,最基本的是为用户提供( )功能。
A.按名存取 B.文件共享 C.文件保护 D.提高文件的存取速度2.按文件用途分类,编译程序是( )。
A.系统文件 B.库文件 C.用户文件 D.档案文件3.( )是指将信息加工形成具有保留价值的文件。
A.库文件 B.档案文件 C.系统文件 D.临时文件4.把一个文件保存在多个卷上称为( )。
A.单文件卷 B.多文件卷 C.多卷文件 D.多卷多文件5.采取哪种文件存取方式,主要取决于( )。
A.用户的使用要求 B.存储介质的特性 C.用户的使用要求和存储介质的特性 D.文件的逻辑结构6.文件系统的按名存取主要是通过( )实现的。
A.存储空间管理 B.目录管理 C.文件安全性管理 D.文件读写管理7.文件管理实际上是对( )的管理。
A.主存空间 B.辅助存储空间 C.逻辑地址空间 D.物理地址空间8.如果文件系统中有两个文件重名,不应采用( )结构。
A.一级目录 B.二级目录C.树形目录 D.一级目录和二级目录9.树形目录中的主文件目录称为( )。
A.父目录 B.子目录 C.根目录 D.用户文件目录10.绝对路径是从( )开始跟随的一条指向制定文件的路径。
A.用户文件目录 B.根目录C.当前目录 D.父目录11.逻辑文件可分为流式文件和( )两类。
A.索引文件 B.链接文件 C.记录式文件 D.只读文件12.由一串信息组成,文件内信息不再划分可独立的单位,这是指( )。
A.流式文件 B.记录式文件 C.连续文件 D.串联文件13.记录式文件内可以独立存取的最小单位是由( )组成的。
A.字 B.字节 C.数据项 D.物理块14.在随机存储方式中,用户以( )为单位对文件进行存取和检索。
A.字符串 B.数据项C.字节 D.逻辑记录15.数据库文件的逻辑结构形式是( )。
A.链接文件 B.流式文件 C.记录式文件 D.只读文件16.文件的逻辑记录的大小是( )。
文件和流
if( File::Exists( fileName ))
{ // get file's creation date, modification date, etc.
outputTextBox->Text = GetInformation( fileName );
// display file contents through StreamReader try {
名空间中流类,例如 StreamReader 类(从文件中输入文本)、
这些流类分别从抽象类 TextReader、TextWriter 和 Stream 继承。 实际上 Console::In 属性的类型是 TextReader^,Console::Out 属性 和 Console::Error 的类型是 TextWriter^。 在 System::RunTime::Serialization::Formatters::Binary 命名空间中还 提供了 BinaryFormatter 类,它与 Stream 类配合执行对象的输入输 出。“序列化”(Serialization)是将一个对象转换成一种可以写 入
对象。
GetLastWriteTime
设置表示目录上一次修改时间的 DateTime
对象。
本节将通过两个实例演示如何使用 File 和 Directory 类对磁盘 文件进行相应的操作。 实例1 FileTest 演示了以下几个功能:
1 通过调用 File::Exists 和 Directory::Exists 判断用户指定的文本串
返回表示文件上一次访问时间的 DateTime
对象。
GetLastWriteTime Move Open
返回文件上一次修改时间的 DateTime 对象。
操作系统第五章 文件系统
显然,对于流式的无结构文件来说,查找文件
中的基本信息单位,例如某个单词,是比较困 难的。但反过来,流式的无结构文件管理简单, 用户可以方便地对其进行操作。所以,那些对 基本信息单位操作不多的文件较适于采用流式 的无结构方式,例如,源程序文件、目标代码 文件等。 记录式的有结构文件可把文件中的记录按各种 不同的方式排列,以便用户对文件中的记录进 行修改、追加、查找和管理等操作,主要用于 信息管理,如数据库系统中。
件长达4 MB。
(3) 多次间接地址。
当文件长度大于4 MB+40 KB时(一次间址与 10个直接地址项), 系统还须采用二次间 址分配方式。这时,用地址项iaddr(11)提 供二次间接地址。该方式的实质是两级索 引分配方式。系统此时是在二次间址块中 记入所有一次间址块的块号。在采用二次 间址方式时,文件最大长度可达4 GB。 同 理,地址项iaddr(12)作为三次间接地址, 其所允许的文件最大长度可达4 TB。
5.1
ห้องสมุดไป่ตู้
文件组织结构
5.1.1文件概念
• 文件是由创建者所定义、具有文件名
的一组相关的信息集合。 • 文件的主要属性: •文件名,文件类型,文件长度,创 建者,创建时间,修改时间,文件定 位信息 ,文件所包含的信息。
5.1.2
文件的逻辑结构
操作系统感知文件信息的组织形式叫文件的逻
辑结构。它包括流式文件(无结构文件)和记 录式文件(有结构文件)两种,每种文件信息 的逻辑单位分别是字节和记录。 • 流式文件(无结构文件):
2. 显式链接
把用于链接文件各物理块的指针,显式
地存放在内存的一张链接表中。该表对 应整个磁盘,表的序号是物理盘块号。 在每个表项中存放链接指针,即下一个 盘块号。我们将该表称为文件分配表 FAT。 大大减少了访问磁盘的次数,提高了检 索速度。
c语言ch5-1,2,3,4,5
例:#include <stdio.h> 常使用此方法打 main() 开一个文件 { FILE *fp; if((fp=fopen("stu.dat","r")) ==NULL) { printf(" Can’t Open File!"); exit(0); exit函数的功能是关闭所有 函数的功能是关闭所有 } 文件,终止程序运行。 文件,终止程序运行。 else exit(0)为正常终止程序 为正常终止程序 { printf("open file ok!"); fclose(fp); } } 程序运行结果: 程序运行结果: 如果磁盘上存在文件stu.dat,屏幕上会显示 如果磁盘上存在文件 , open file ok!,否则屏幕上显示 ,否则屏幕上显示Can’t Open File!。 。
系统自动的在内存区为每一个正在使用的 文件名开辟一个缓冲区。 文件名开辟一个缓冲区。从内存向磁盘输出数 据必须先送到内存中的缓冲区, 据必须先送到内存中的缓冲区,装满缓冲区后 才一起送到磁盘去。 才一起送到磁盘去。如果从磁盘向内存读入数 据,则一次从磁盘文件将一批数据输入到内存 缓冲区(充满缓冲区), ),然后再从缓冲区逐个 缓冲区(充满缓冲区),然后再从缓冲区逐个 地将数据送到程序数据区(给程序变量)。 地将数据送到程序数据区(给程序变量)。 缓冲区的大小由各个具体的C版本确定, 缓冲区的大小由各个具体的 版本确定,一 版本确定 般为512字节。 字节。 般为 字节
说明: 说明 在向计算机输入文本文件时,将回车换 在向计算机输入文本文件时 将回车换 行符转换为一个换行符, 行符转换为一个换行符,在输出时把换行 符转换为回车和换行两个字符。 符转换为回车和换行两个字符。 在用二进制文件时,不进行这种转换, 在用二进制文件时,不进行这种转换, 在内存中的数据形式与输出到外部文件中 的数据形式完全一致,一一对应。 的数据形式完全一致,一一对应。
《文件管理》PPT课件_OK
恢复文件的能力。
10
文件操作功能
• 对整体文件而言:
– 建立文件(create):构造一个新文件。 – 撤消 文件(destroy):删除一个文件。 – 打开文件(open) – 关闭文件(close) – 复制文件(copy) – 打印文件(print) – 文件重命名(rename) – 等等。
• 文件的大小是可以变化的。
• 在索引表中得到的块号,该块中存放的的是
另一组块号。
磁盘块
索引表
二重索引
40
例题
某文件系统使用1K字节的物理块和16 位的盘地址,FCB中含有8个物理块号以及 一个一重间接索引块指针和一个二重间接 索引块指针,那么一个文件最大可达多少?
41
文件的物理组织-链接组织
• 存储空间是不连续的。 • 逻辑组织与物理组织独立。 • 每一个物理块的最后一个单元存放下一块的链接
• 缺点
– 文件不能动态增长。顺序文件的物理块必须是连 续的。
– 分配存储空间时,出现很多碎片。 38
文件的物理组织-索引文件
• 索引文件:非连续存储的一种方法。
– 索引表:记录号与地址的对应表。 – 顺序存取或随机存取。 – 额外的开销(索引表)。
39
文件的物理组织-多重索引文件
• 如果文件很大,则索引表也会很大,索引表 占有太多的内存空间。
组织和方法。 – 提供存取文件用的命令结构。
14
文件系统的组成
• 存取过程
– 管理和查阅文件目录。 – 打开和关闭文件 – 文件名转换成物理地址。 – 文件存取权限的管理 – 管理内部缓冲区 – 生成相应的I/O程序。
文件与文件流
对于ifstream流,mode的默认值为ios::in;对 于ofstream流,mode的默认值为ios::out。 prot决定文件的访问方式,取值为: 0 普通文件 1 只读文件 2 隐含文件 4 系统文件 一般情况下,该访问方式使用默认值。 与其他状态标志一样,mode的符号常量可以 用位或运算“|”组合在一起,如ios::in|ios::binary 表示以只读方式打开二进制文件。
• 要在程序中使用文件时,首先要在开始 包含#include<fstream.h>命令。 • 由它提供的输入文件流类ifstream、输出 文件流类ofstream和输入输出文件流类 fstream定义用户所需要的文件流对象, • 然后利用该对象调用相应类中的open成 员函数,按照一定的打开方式打开一个 文件。 • 文件被打开后,就可以通过流对象访问 它了,访问结束后再通过流对象关闭它。
文件的打开与关闭 流可以分为 3 类:输入流、输出流以及输 入/输出流,相应地必须将流说明为ifstream、 ofstream以及fstream类的对象。例如: ifstream ifile; //说明一个输入流 ofstream ofile; //说明一个输出流 fstream iofile; //说明一个输入/输出流 说明了流对象之后,可使用函数 open () 打开文件。文件的打开即是在流与文件之间建 立一个连接。open()的函数原型为:
• 关闭任何一个流对象所对应的文件,就是 用这个流对象调用 close ()成员函数即可。
文件的读写 (1)使用流运算符直接读写。 文件的读/写操作可以直接使用流的插入运 算符“ <<” 和提取运算符“ >>” ,这些运算符 将完成文件的字符转换工作。 (2)使用流成员函数 常 用 的 输 出 流 成 员 函 数 为 : put 函 数 、 write函数 常用的输入流成员函数如下: get 函数、 getline函数、read函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2021/4/30
辽宁科技大学软件学院
返回
6
§5.1.2 文件类的常用方法(上)
方法(public)
说明
boolean canRead()
测试文件是否可读
boolean canWrite()
测试文件是否可写
boolean delete()
删除当前文件或目录
boolean exists()
测试文件或目录是否存在
System.out.println(file1.getAbsolutePath());
System.out.println(file2.getCanonicalPath());
System.out.println(file2.getCanonicalFile());
System.out.println(file2.getName());
注意:都要捕捉异常
2021/4/30
辽宁科技大学软件学院
继续16
FileInputStream常用方法(读到文件尾均返回-1):
方 法(public)
说明
int read( )
读一个字节,返回整型数,高子节为00H
int read(byte[ ] b)
读入的数据放在字节数组b,返回实际读取 的字节数
2021/4/30
辽宁科技大学软件学院
返回4
2. File(String path,String name)
Path:已存在的文件路径, Name :可以是路径或文件名,可以是新的或原有的,
例4:File file4=new File(“f:\\java”,”aaa”); 与例1效果相同
例5 :File file5=new File(“f:\\java”, “file1.txt”);
System.out.println(file2.getPath());
System.out.println(file2.getParent());
File file3=new File("f:\\java");
String f[]=file3.list();
for(int i=0;i<f.length;i++)
System.out.println(f[i]);
}
}
2021/4/30
辽宁科技大学软件学院
9
§5.2 流式I/O文件(文件的访问)
5.2.1 流与输入输出(I/O)的概念 5.2.2 文件的I/O流类层次 5.2.3 文件的顺序访问 5.2.3 文件的随机访问
2021/4/30
辽宁科技大学软件学院
方法(public)
说明
String getName()
只返回文件或目录的名字
String getPath()
返回文件或目录的完整路径
String getParent()
只返回文件或目录的上层路径
boolean isAbsolute() 测试该对象是绝对路径否
boolean isDirectory() 测试该对象是目录否
输 FileOutputStream(File file) 用抽象路径创建输出流
FileOutputStream(String Path/file) 用绝对路径创建输出流
出 FileOutputStream(String
append=true写入
Path/file,boolean append) 数据在末尾添加
2021/4/30
辽宁科技大学软件学院
返回3
1. File(String path)
Path可以是文件的完整路径名,也可只有路径而无文件名;路经可 以是绝对路径,也可以是相对路径;路径或文件名可以是已存在的 也可是新的,新的则被创建,旧的则被刷新。
例1:File file1=newFile(“f:\\java\\aaa”); 在已存在的f:\java目录下新创建一个aaa目录,使用的
void write(byte[] b)
将字节数组b写入输出流
void write(byte[] b,int off,int len) 将字节数组b部分数据写入输出流
voi2d021c/4l/o30se()
演示例程 返回 关闭输出流,释放资源
辽宁科技大学软件学院
17
2.使用二级子类(过滤类子类)格式化数据流
File getAbsoluteFile() 返回文件或目录绝对地址(对象)
String getAbsolutePath() 返回文件或目录绝对地址(字符串)
String getCanonicalPath() 返回规范路径名(与OS有关)
2021/4/30
辽宁科技大学软件学院
继续7
§5.1.2 文件类的常用方法(下)
是绝对路径,且只能创建一层新目录。 例2:File file2=new File(“bbb”);
在当前工作目录下,创建bbb新目录的文件对象,使用的 是相对路径 例3:File file3=new File(“f:\\java\\file1.txt”);
使用绝对路径,在已存在的f:\java\目录下创建一个文本 文件对象。
boolean isFile()
测试该对象是文件否
long length() String[] list()
返回文件对象的文件长度(以字节为单位)
返回该对象目录下的所有文件列表(包括文件夹)
boolean mkdir()
2021/4/30
为该对象形成物理上的文件夹
演示程序 辽宁科技大学软件学院
返回8
文件管理的例程
import java.io.*;
public class testFile
{ public static void main( String args[] ) throws IOException
{ File file1=new File("f:\\java","zzz");//未有物理目录
2021/4/30
辽宁科技大学软件学院
返回15
1.使用一级子类
FileInputStream和 FileOutputStream构造方法
构造方法(public)
说明
输 FileInputStream(File file) 用抽象路径创建输入流 入
FileInputStream(String Path/file) 用绝对路径创建输入流
返回后14 面
5.2.3 文件的顺序访问
顺序访问:从头至尾顺序读写,前面介绍的流类都属顺序访问; 随机访问:可访问文件任意位置,用随机流类访问,
RandomAcssessFile直接继承于object根类; 1.使用一级子类
FileInputStream FileOutputStream 2.使用二级子类(过滤类子类)格式化数据流 DataInputStream DataOutputStream 3.使用二级子类(过滤类子类)缓冲流 BufferedInputStream BufferedOutputStream 4.字符流类的用法 Reader Writer
① 类: DataInputStream输入流 DataOutputStream输出流
②特点:
• 应用方便,可以读写任何数据类型; • 本身不能创建有效的流,要先创建字节
流对象再创建格式化入/出流;
③构造方法及流对象创建例
FileInputStream fis=new FileInputStream(“f:\\read.txt”); DataInputStream dis=new DataInputStream(fis);//输入流
2021/4/30
辽宁科技大学软件学院
1
§5.1 文件管理
§5.1.1 文件对象的创建及目录管理 文件类File,有三个重载的构造方法: 1、File(String path) 2、File(String path,String name) 3、File (File dir,String name)
返回10
5.2.1 流与输入输出(I/O)的概念
1、数据流(Data Stream)
描述数据传递的形态,把传输一批数据的过程比喻成类似水 流一样在管道中连续流动,具有起点和终点(源和目的),开始 和结束;传输的只是水(数据)。而带有协议的传输方式,类似 用水桶传输;更相当于列车,数据需打包、集装、编组,附加许 多冗余数据。
1. 字节流类层次
InputStream
OutputStream
FileInputStream
FileOutputStream
ByteArrayInputStream
PipeInputStream
ByteArrayOutputStream
PipeOutputStream
……
……
FilterInputStream
FilterOutputStream
DataInputStream ……
DataOutputStream ……
返回 BufferedInputStream
2021/4/30
辽宁科技大学软件学院
BufferedOutputStream
13
Reader
2. 字符流类层次
Writer
BufferedReader
BufferedWriter
CharArrayReader
CharArrayWriter
InputStreamReader
OutputStreamWriter
FileReader
……
FileWriter
……
FilterReader