1 / 18

第10章 磁盘文件存取技术

第10章 磁盘文件存取技术. 基本内容. 传统文件管理方式 扩充文件管理方式. 数据区和系统区. DOS 将磁盘分为两部分:用于存放磁盘重要信息的系统区和用于存储数据的数据区。其中系统区又分为3部分:引导记录、文件分配表( FAT) 和目录 (如下图所示)。. 系统区. 数据区. 引导记录 是一个几百字节的短程序,它完成加载 DOS 至计算机内存的初始化工作。 文件分配表 用来记录磁盘中每部分的状态。 目录 用于记录存储在磁盘上的文件,对每个文件 有一个目录项,它记录由8个字符组成的文件名、3个 字符组成的扩展名、文件属性、文件大小、存入及修

leda
Download Presentation

第10章 磁盘文件存取技术

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第10章 磁盘文件存取技术

  2. 基本内容 传统文件管理方式 扩充文件管理方式

  3. 数据区和系统区 DOS将磁盘分为两部分:用于存放磁盘重要信息的系统区和用于存储数据的数据区。其中系统区又分为3部分:引导记录、文件分配表(FAT)和目录(如下图所示)。 系统区 数据区

  4. 引导记录是一个几百字节的短程序,它完成加载DOS至计算机内存的初始化工作。引导记录是一个几百字节的短程序,它完成加载DOS至计算机内存的初始化工作。 文件分配表用来记录磁盘中每部分的状态。 目录用于记录存储在磁盘上的文件,对每个文件 有一个目录项,它记录由8个字符组成的文件名、3个 字符组成的扩展名、文件属性、文件大小、存入及修 改文件的时间、文件起始簇号等。每个目录项占32字 节。 数据区中存放系统文件和用户文件。

  5. 10.1 传统文件管理方式 文件控制块和数据传输区 传统文件管理方式通过文件控制块(File Control Block,FCB)和数据传输区(Data Transfers Area)进 行文件存取。 使用FCB的存取方式有三种:顺序存取方式、随机 存取方式和随机分块存取方式。

  6. FCB是在用户程序和操作系统之间传递磁盘文件信 息的存储区。FCB中保存文件所在的驱动器号、文件名、 扩展名、当前记录等信息,其格式如下表所示。FCB 一 般在程序的数据段定义,共37个字节,10个区域,其中 16 – 31字节由系统设置。也可使用系统的FCB,系统的FCB在程序段前缀的偏移地址5CH处。 文件控制块的域

  7. 传统文件管理功能调用

  8. 例:利用传统文件管理方式建立一个文件FILEFST.DAT,然后将26个小写英文字母顺序写入该文件中 DATA SEGMENT ASK DB ‘Continue? Yes/No’ FLNAME DB ‘FILEFST.DAT’ FCB DB 100H DUP(0) DAT1 DB 100H DUP(0) DAT2 DB ‘abcdefghijklmnopqrstuvwxyz’ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA START: MOV AX,DATA MOV DS,AX

  9. MOV ES,AX MOV SI,OFFSET FLNAME MOV DI,OFFSET FCB MOV AL,0FH MOV AH,29H INT 21H ;建立文件FILEFST.DAT的FCB MOV DX,OFFSET FCB MOV AH,16H INT 21H ;建立文件FILEFST.DAT AGAI: MOV BX,0 MOV CX,1AH ;输入26个字符 INPUT: MOV AL,DAT2[BX] ;从DAT2中取一个字符 MOV DAT1[BX],AL ;送DAT1区

  10. INC BX LOOP INPUT MOV DAT1[BX],0AH MOV DX,OFFSET DAT1 MOV AH,1AH INT 21H ;建立缓冲区 MOV DX,OFFSET FCB MOV AH,15H INT 21H ;写入文件 MOV DX,OFFSET ASK MOV AH,09H INT 21H MOV AH,O1H

  11. INT 21H CMP AL,’N’ JE EXIT JMP AGAI EXIT: MOV DX,OFFSET FCB MOV AH,10H INT 21H ;关闭文件 MOV AH,4CH INT 21H CODE ENDS END START

  12. 10.2 扩充文件管理方式 文件代号和文件属性 在使用扩充文件管理方式存取文件时,首先要告诉操 作系统一个ASCII_ZERO字符串(ASCIZ串)的地址,该字 符串包括文件的路径名和一个全0字节。其中路径名包括 驱动器名、目录路径、文件名,它指出文件的位置。文件 一旦创建成功,就被赋予一个16位数作为该文件的代号, 以后就用这个文件代号对该文件进行读写操作。

  13. 文件代号0000至0005代表标准设备,通过使用这些标准文件代号不必打开文件就可以直接使用设备。下表给出了标准文件代号的定义。 设备文件号

  14. 文件属性说明保存在文件目录项中的0BH字节 中,它用该字节的低6位说明文件的属性,具体含 义如下表。 文件属性字节各位的含义

  15. 扩充文件管理功能调用

  16. 下表列出了部分错误代码:

More Related