导航:首页 > 电脑文件 > 电脑读写文件的工作方式

电脑读写文件的工作方式

发布时间:2023-06-26 23:04:35

A. 硬盘读写有哪几种方式

对电脑老“鸟”而言,对这种硬盘分区格式是最熟悉不过了,我们大都是通过这种分区格式认识和踏入电脑门槛的。它采用16位的文件分配表,能支持的最大分区为2gb,是目前应用最为广泛和获得操作系统支持最多的一种磁盘分区格式,几乎所有的操作系统都支持这一种格式,从dos、win 3.x、win 95、win 97到现在的win 98、windows nt、win 2000,甚至火爆一时的linux都支持这种分区格式。

但是FAT16分区格式有一个最大的缺点,那就是硬盘的实际利用效率低。因为在dos和windows系统中,磁盘文件的分配是以簇为单位的,一个簇只分配给一个文件使用,不管这个文件占用整个簇容量的多少。而且每簇的大小由硬盘分区的大小来决定,分区越大,簇就越大。例如1gb的硬盘若只分一个区,那么簇的大小是32kb,也就是说,即使一个文件只有1字节长,存储时也要占32kb的硬盘空间,剩余的空间便全部闲置在那里,这样就导致了磁盘空间的极大浪费。FAT16支持的分区越大,磁盘上每个簇的容量也越大,造成的浪费也越大。所以随着当前主流硬盘的容量越来越大,这种缺点变得越来越突出。为了克服FAT16的这个弱点,微软公司在win 97操作系统中推出了一种全新的磁盘分区格式FAT32。

FAT32

对于win 98广泛流行的今天,广大电脑爱好者对这种分区格式也并不陌生。这种格式采用32位的文件分配表,使其对磁盘的管理能力大大增强,突破了FAT16对每一个分区的容量只有2gb的限制,运用FAT32的分区格式后,用户可以将一个大硬盘定义成一个分区,而不必分为几个分区使用,大大方便了对硬盘的管理工作。而且,FAT32还具有一个最大的优点是:在一个不超过8gb的分区中,FAT32分区格式的每个簇容量都固定为4kb,与FAT16相比,可以大大地减少硬盘空间的浪费,提高了硬盘利用效率。

目前,支持这一磁盘分区格式的操作系统有win 97、win 98和win 2000。但是,这种分区格式也有它的缺点,首先是采用FAT32格式分区的磁盘,由于文件分配表的扩大,运行速度比采用FAT16格式分区的硬盘要慢;另外,由于dos系统和某些早期的应用软件不支持这种分区格式,所以采用这种分区格式后,就无法再使用老的dos操作系统和某些旧的应用软件了。

NTFS

NTFS分区格式是一般电脑用户感到陌生的,它是网络操作系统windows nt的硬盘分区格式,使用windows nt的用户必须同这种分区格式打交道。其显着的优点是安全性和稳定性极其出色,在使用中不易产生文件碎片,对硬盘的空间利用及软件的运行速度都有好处。它能对用户的操作进行记录,通过对用户权限进行非常严格的限制,使每个用户只能按照系统赋予的权限进行操作,充分保护了网络系统与数据的安全。但是,目前支持这种分区格式的操作系统不多,除了windows nt外,刚刚上市的win 2000也支持这种硬盘分区格式。

不过与windows nt不同的是,win 2000使用的是NTFS 5.0分区格式。NTFS 5.0 的新特性有“磁盘限额”管理员可以限制磁盘使用者能使用的硬盘空间;“加密”在从磁盘读取和写入文件时,可以自动加密和解密文件数据等。随着 win 2000的普及,广大电脑用户会逐渐熟悉这种分区格式的。

linux

linux操作系统是去年it媒体炒得最为火爆的操作系统。由于该系统为自由软件,几乎不用花钱就能装入电脑,所以赢得了许多用户。它的磁盘分区格式与其他操作系统完全不同,共有两种格式:一种是linux native主分区,一种是linux swap交换分区。这两种分区格式的安全性与稳定性极佳,结合linux操作系统后,死机的机会大大减少,能让我们摆脱windows常常崩溃的噩梦。但是,目前支持这一分区格式的操作系统只有linux,对linux系统不感兴趣的用户也只能望洋兴叹了。

通过以上的介绍,我想你一定对常见的硬盘的分区格式有所了解了。那么,赶快根据你所需要安装的操作系统,给你的硬盘确定分区格式吧。

B. 硬盘的工作模式有几种,区别是什么!

盘容量目前早已远远超过了当年8.4GB的极限,为了超越这个容量限制,人们又定义了新的扩展INT 13 。新的INT 13 不使用操作系统的寄存器传递硬盘的寻址参数,它使用存储在操作系统内存里 的地址包。地址包里保存的是64位LBA地址,如果硬盘支持LBA寻址,就把低28位直接传递给ATA接口,如果不支持,操作系统就先把LBA地址转换为CHS地址,再传递给ATA接口。通过这种方式,在ATA总线基础上CHS寻址最大容量是136.9GB,而LBA 寻址最大容量是137.4GB。

1957年IBM公司研制成功的IBM 350(RAMAC)是第一台真正意义上的硬盘存储器,之后经历了漫长的技术革新,于80年代初期引入PC(个人电脑),当时的容量仅为20-40M,而经过10几年的发展,硬盘的容量逐步提高,而当时一些设计上的失误就造成了今天可能出现的硬盘容量限制问题。(容量限制问题:就是系统无法完全识别或正常使用超过一定容量的硬盘)
容量限制问题的成因

要明白这个原因我们需要对IDE接口硬盘的工作方式做一个介绍,即使到现在我们今天的IDE硬盘驱动依旧使用早先的DOS-BIOS(磁盘操作系统-基本输入/输出系统)的分层结构上。它的基本工作模式就是:程序调用->DOS功能调用->文件管理设备->INT 13中断管理(读/写)->BIOS磁盘服务->IDE(ATA)界面->磁盘控制器,也就是说我们如果需要对硬盘进行操作必须通过以上的一系列步骤才能完成,那么我们以下一起来看看这一系列步骤的作用。

文件管理设备:其负责文件及其在磁盘上存储位置之间的映射关系,不过需要通过磁盘读写中断INT13执行读写命令来存储、调入文件。当新文件被保存时,文件管理器决定它在当前目录里的存储位置,在文件分配表中为这个新文件添加文件目录项,并把文件写入磁盘。当读文件时,文件管理器在FAT中找到文件在磁盘上的位置,接着就调入文件。

IDE(ATA) 界面:在介绍IDE(ATA)界面前,简单说说硬盘的结构:硬盘分为一定数量的柱面(以硬盘中心为圆心的同心圆磁迹),每个柱面都需要磁头来读写数据。另外,硬盘上的数据都是以每扇区512字节的格式存储的,所有的数据传输都是以扇区(柱面被等分的园弧磁迹)为单位的。IDE(ATA)界面是寄存器驱动式的并口总线。要传输数据,BIOS首先往IDE(ATA)里特定的寄存器写入数据的开始地址和数据传输的长度,再把有关的读/写命令往特定的寄存器里发送从而开始数据传输。

现在的硬盘一般都支持逻辑块寻址(LBA)和柱面磁头扇区寻址(CHS),我们以CHS寻址方式来举例:数据传输的开始地址是写到4个8位寄存器里的,分别是:

柱面低位寄存器
柱面高位寄存器
扇区寄存器
设备/磁头寄存器
因此,柱面地址是16位[柱面低位寄存器(8位),柱面高位寄存器(8位)]。扇区地址是8位(注意:扇区寄存器里第一个扇区是1扇区,而不是0扇区)。而磁头地址是4位(没有完全占用8位)。因此,硬盘柱面的最大数是65,536(2的16次方),磁头的最大数是16(2的4次方),扇区的最大数是255(2的8次方-1,注意刚刚我们提到的扇区寄存器问题)。所以,能寻址的最大扇区数是267,386,880 (65,536x16x255)。一扇区又是512字节,也就是说如果以CHS寻址方式,IDE硬盘的最大容量为136.9GB。LBA寻址方式,上述的总共28位可用的寄存器空间(16+8+4)被看作一个完整的LBA地址,因为包括位0(CHS里扇区不能从0开始计算),其能寻址的扇区数是268,435,456 (65,536x16x256),这时IDE硬盘的最大容量为137.4GB。

INT 13管理:INT 13管理其实也是按照寄存器的模式来设计的,它的高层即文件管理器层发布数据读写命令和有关的参数给CPU,然后触发INT 13中断的进行,激活BIOS的磁盘服务来执行数据传输。数据的开始地址被写到3个8位寄存器里,分别是:

柱面低位寄存器
柱面高位/扇区寄存器
磁头寄存器
柱面地址是10位(柱面低位寄存器占用8位、柱面高位寄存器占用2位),扇区地址为6位(8位-已经被计算过的高位寄存器的2位)。磁头寄存器为8位。因此如果这样的话:柱面的最大数是1024(2的10次方) ,磁头的最大数是256(2的8次方),扇区的最大数是63(2的6次方-1)。所以,通过INT 13管理能寻址的扇区数是16,515,072 (1,024x256x63)。一扇区是512字节,也就是说如果以CHS寻址方式,IDE硬盘的最大容量为8.456GB。LBA寻址方式能寻址的扇区数是16,777,216(1024x256x64),这时IDE硬盘的最大容量为8.601GB。

看到这里,我们应该感到硬盘容量限制的成因有了一些“眉目”了吧,那么我们具体来到底是什么让硬盘出现了所谓的限制:

1.528MB的容量限制:
由于早先的硬盘容量比较小,因此设计的BIOS的时候当把地址从Int 13的地址寄存器转换为IDE(ATA)的地址寄存器时,仅仅把INT 13管理中10位的柱面地址用来对应IDE(ATA)界面中的16位柱面寄存器,而把没有用到的6位(高位寄存器)地址都设定为0。并且也仅把6位的扇区地址来对应IDE(ATA)界面的8位扇区寄存器,其中没有用到的2位设置为0。并且INT 13管理的磁头寄存器4位(又去掉了4位)来对应IDE(ATA)。因此,此时的磁盘柱面最大数为1024(2的10次方),磁头的最大数是16(2的4次方),扇区的最大数是63(2的6次方-1)。因此能寻址的扇区数就成了1,032,192(1,024x16x63)。一个扇区的容量是512字节,也就是说如果以CHS寻址方式,IDE硬盘的最大容量为528.4MB。因此528MB的硬盘容量限制就出现了。

2.1GB的容量限制:
这里分为两个部分,一部分是由磁盘服务的限制造成的,另外一个是由于磁盘格式造成的,通常我们把前者称为2.1GB的硬件容量限制,后一种称为2.1GB的软件容量限制。

硬件容量硬件
当时,为了528MB容量限制的问题,人们提出一些不同的办法,其中一个办法就是INT 13服务的磁头寄存器没有用到的4位中的2位(确切的说是高2位)保留给柱面数的第11、12位使用。这样,最大的磁头数就是64(2的6次方)。但是,当时的操作系统不使用这种转换方法,其认为磁头寄存器的所有位数只可能记录磁头数。比如,为了正确地转换柱面数为2,048、磁头数为64的硬盘,就需要操作系统把柱面数除以4(512个逻辑柱面数),磁头数乘以4(256个逻辑磁头数)。不过由于BIOS中并没有开放所有的磁头数寄存器,当然无法记录这样的磁头数。因此遇到这种运行机制的BIOS,在系统自检的时候就会造成系统当机。

软件容量限制
当时DOS分区的限制是由文件分配表(FAT)决定的。FAT处理存储空间是以簇为单位的,它处理一簇的最大长度是32,768字节,最多能处理65,536个簇,如果将两个数字相乘,就会得到DOS的最大分区界限值是2,147,483,648字节或2,048MB(2,147,483,648 /1,0242)。因此超过这个容量的硬盘,如果使用FAT格式,就最大只能识别2.048GB的硬盘容量。

3.2GB的容量限制:
一些版本的BIOS不能识别超过6322柱面的硬盘,不过这种BIOS比较少见,由于柱面有限制,其最高支持扇区数为6,372,576(6322x16x63),如果乘以512扇区容量的话,其最高支持容量为6,372,576x512=3,262,758,912/1024=3.18GB。

4.2GB的硬盘容量限制:
当时一些操作系统使用8位寄存器来存储磁头数,这样当BIOS报告硬盘的磁头数等于256(最高容量)时,只有磁头数的最先一位(即0)被系统保存,从而导致硬盘配置错误。一旦硬盘的磁头数是16,柱面数大于8,192(2的13次方,由于后三位寄存器已经被磁头寄存器借用,其实这里牵涉到一个突破528MB容量限制的转换做法的问题,由于这一段比较负责,在这里就不详细介绍了,我们只要明白有这个限制就够了),系统就无法正常识别了,因此其最大的容量就被限制在了4.2GB=8192x16x63x512/1024。

8.4GB的容量限制
我们已经知道INT 13服务的寻址方式最高可以支持8.4GB以下的容量(柱面数、磁头数、扇区数的最大值分别是16,383、16和63,而三者相乘就是8.456GB)。因此,这个容量限制出现是迟早的问题了。所以,这个限制是我们目前最常遇到的容量限制。为了解决这个问题,一些厂商定义了新的扩展INT 13服务扩展标准。新的INT 13服务扩展标准不使用操作系统的寄存器传递硬盘的寻址参数,它使用存储在操作系统内存里的地址包。地址包里保存的是64位LBA地址,如果硬盘支持LBA寻址,就把低28位直接传递给ATA界面,如果不支持,操作系统就先把LBA地址转换为CHS地址,再传递给ATA界面。通过这种方式,能实现在ATA总线基础上CHS寻址最大容量是136.9 GB,而LBA寻址最大容量是137.4GB。

33.8GB的容量限制
在CHS寻址中,由于IDE(ATA)界面的限制,柱面数最高支持65,535(2的16次方-1),所以,当遇到柱面数大于65,535的时候,系统就无法识别这种硬盘了,不过LBA由于独特的寻址模式就不存在这个问题,这个容量限制具体为:65535x16x63x512/1024=33.8GB。

137GB的容量限制
相信这个问题就不用提了,目前的磁盘工作方式就注定IDE硬盘存在这个问题,前面介绍IDE(ATA)界面的时候,这个问题就已经出现了 那么遇到容量限制问题的时候,系统会出现什么状况呢?并且遇到这些问题如何解决呢?

容量限制的症状和解决方法:

528 MB
症状:无论硬盘容量有多大,操作系统识别不超过528MB。
解决方法:LBA模式设置硬盘,不过当时很多硬盘和BIOS都不支持这种设置,因此只能更换主板

2.1 GB
硬件问题
症状:在加电自检时当机
解决方法:升级BIOS、强制硬盘跳线、LBA模式设置硬盘

软件问题
症状:分区的时候发现主分区划分2.1GB的容量
解决方法:更换FAT 32文件分配(不过早先的一些软件就无法使用了,并且不支持这个文件格式的操作系统也无法使用)划分多个分区

3.2GB
症状:在加电自检时当机
解决方法:升级BIOS、LBA模式设置硬盘

4.2GB
症状:在硬盘上创建分区后,再启动机器时当机。
解决方法:升级BIOS、LBA模式设置硬盘

8.4GB
症状:系统报告硬盘容量不超过8.4GB,在BIOS自检的时候可能会报硬盘参数错误并当机
解决方法:升级BIOS、采用专用的分区软件

33.8GB
症状:系统自检的时候当机
解决方法:升级BIOS,使用专用的硬盘管理软件、强制硬盘跳线、使用LBA模式管理硬盘

137GB
症状:无法识别硬盘或者系统自检的时候当机
解决方法:需要硬盘和主板(可以用ATA 133控制卡来支持)都支持最新的ATA 133规范(ATA 133规范是刚刚由Maxtor提出的一种新的硬盘传输规范,其把目前最高的28位可用的寄存器空间提高到48位,从而支持更大的硬盘)

解决方案的要点:

硬件解决方法:

从硬件思路上来看,既然很多问题都是由BIOS引起的,那么升级到合适的版本也就可以突破很多容量限制了,比如:3.2GB、4.2GB、8.4GB、33.8GB,这也是目前解决硬盘容量限制最简单的办法了。
另外选择BIOS扩展卡也是一个解决方法,不过此方法用于老主板上,目前的主板的BIOS都支持擦写,BIOS扩展卡使用起来即麻烦又要我们多投入一些金钱。

软件解决方法

从上面的解决方法来看,很多方法就是只要硬盘支持LBA寻址模式就可以解决问题了,因此一些公司推出了针对这个问题修补方法,其中最优秀的就是Maxtor的MaxBlast和Western Digital的EZ Drive了,这两种解决方法其实就是软件解决方法,它们可以转换大容量硬盘的各个参数,从而达到全容量使用硬盘的目的。不过这类软件并不是在操作系统启动后才加载的(在磁盘分区建立一个磁盘的管理BIOS,通过它来同系统BIOS进行联系),而是在BIOS启动后、操作系统启动前加载的,所以实现也比较简单。
另外使用专用的硬盘分区软件也是一个不错的解决方法,由于新版本的硬盘分区软件已经附带了INT 13扩展标准因此可以支持更大容量的硬盘,不过它也是同MaxBlast和EZ Drive一样会系统启动后加载INT 13扩展,当遇到硬盘分区表破坏或者覆盖后,磁盘使用会再次出现问题。

操作系统的限制:

目前又几种操作系统不支持大容量的硬盘:DOS 6.22或更低的版本,不支持大于8.4 GB的硬盘,并且没有办法解决。Windows 95(NT 3.5x)支持INT 13扩展、支持更大容量的硬盘,不过FAT 16限制其每分区最大支持的容量仅为2GB。另外以上两种操作系统都不支持FAT 32格式,因此要使用大硬盘尽量不要采用以上的操作系统。Windows NT 4.0存在一个奇怪的问题:当启动分区的容量大于8.4 GB时,NT就不能使用超过8.4 GB的其它硬盘空间了,因此使用此操作系统要注意。

综上所说,大家应该对磁盘容量限制的成因和解决方法有一个比较感性的认识了吧,一般来说避免容量限制问题的出现就是:更新BIOS,尽量不是用CHS硬盘寻址模式。以上两点是解决容量限制最简单和有效的办法,因为我们无需投入任何费用,并且对所有用硬盘都适用,并且无须进行烦琐的软件设置或安装。

附:一种新的8.4GB容量限制问题解决方法:

一大容量硬盘,在BIOS中限制仅为8.4GB大小,不管它,保存CMOS信息,启动系统执行FDISK,在系统认出的8.4GB硬盘上先分出一个分区(即为C盘,大小随意),在分出的分区(C盘)上将WINDOWS系统装好。(注意,只能先分出一个分区)然后,将此大硬盘接在能认出大硬盘全部容量的电脑上,将剩下的容量全部分完(注意,每个逻辑分区容量不能大于8.4GB),最后,再将此大硬盘接回不能识别8.4GB以上容量的电脑上,CMOS仍将此硬盘认为8.4GB,不管他,保存CMOS信息后重启系统,进入WINDOWS系统,发现所有的逻辑盘全部存在,格式化后即可使用。

阅读全文

与电脑读写文件的工作方式相关的资料

热点内容
i7二代的苹果电脑 浏览:801
电脑不开机查mac 浏览:510
电脑网页浏览的尺寸是多少 浏览:471
电脑无线网卡的网速只有15m 浏览:955
什么电脑病毒会让屏幕花屏 浏览:362
电脑屏幕跳出来的网页 浏览:521
电脑剪辑到u盘后怎么恢复 浏览:121
专业3d电脑配置费用 浏览:132
妙控板和电脑板哪个好用 浏览:933
苹果商店下载软件需要输入验证码 浏览:815
苹果手机怎么下两个微信软件 浏览:810
锁定电脑屏幕安全 浏览:55
苹果电脑关机文件没有保存哪里查 浏览:684
wifi和电脑网线有关系吗 浏览:155
中小学生免费学习单词网站 浏览:49
用微生物做电脑硬盘 浏览:842
苹果电脑玩法大全 浏览:214
如何用电脑恢复手机数据 浏览:551
电脑开机显示器没反应键盘没电 浏览:951
电脑软件打开太大 浏览:761