Board logo

标题: MSDOS7.10支持多大内存多大硬盘? [打印本页]

作者: ylof1986     时间: 2009-1-21 21:02    标题: MSDOS7.10支持多大内存多大硬盘?
说明上说支持大内存大硬盘,到底有多大啊

作者: fujianabc     时间: 2009-1-22 18:18
内存在实模式下1MB,在保护模式下约为3.25GB

硬盘最大2TB

作者: Sufone     时间: 2009-1-23 01:54
MSDOS7.1最大支持128G硬盘

作者: Climbing     时间: 2009-1-23 10:32
能支持的最大硬盘受BIOS限制。内存嘛,应该也类似。

作者: VAF     时间: 2009-1-23 12:45
Originally posted by fujianabc at 2009-1-22 06:18 PM:
内存在实模式下1MB,在保护模式下约为3.25GB

硬盘最大2TB

正解.

2TB 是指分区.
至于文件系统=137G

作者: Sufone     时间: 2009-1-24 13:01
DOS访问硬盘是调用BIOS中断,而一般BIOS都是以LBA32方式访问硬盘,因此最大只能支持137G

作者: fujianabc     时间: 2009-1-24 20:18
Originally posted by Sufone at 2009-1-24 01:01 PM:
DOS访问硬盘是调用BIOS中断,而一般BIOS都是以LBA32方式访问硬盘,因此最大只能支持137G

bios当然不只支持137GB,一般现在的bios都能支持到2TB,否则windows就不能从大于137GB的硬盘启动了。

作者: Sufone     时间: 2009-1-25 11:33
Originally posted by fujianabc at 2009-1-24 20:18:

bios当然不只支持137GB,一般现在的bios都能支持到2TB,否则windows就不能从大于137GB的硬盘启动了。

Windows能从大于137GB的硬盘启动,并不一定要求BIOS支持大于137G硬盘,只要你的Windows所在的分区的起始扇区在137G以内,且分区大小加上起始扇区不超过137G,Windows就能正常启动,而Windows启动后将以自己的方式驱动硬盘,137G的限制将不再存在。

作者: fujianabc     时间: 2009-1-25 19:10
Originally posted by Sufone at 2009-1-25 11:33 AM:

Windows能从大于137GB的硬盘启动,并不一定要求BIOS支持大于137G硬盘,只要你的Windows所在的分区的起始扇区在137G以内,且分区大小加上起始扇区不超过 ...

windows在启动时需要从bios那里得到硬盘大小的,如果bios无法准确向windows报告硬盘大小,windows不能正常启动的。

我也不想争了,你可以试一下dos下能否访问137GB以后的FAT16/32分区,我试过的,没任何问题。

作者: wl00560     时间: 2009-1-30 00:45
Originally posted by Sufone at 2009-1-25 11:33:

Windows能从大于137GB的硬盘启动,并不一定要求BIOS支持大于137G硬盘,只要你的Windows所在的分区的起始扇区在137G以内,且分区大小加上起始扇区不超过 ...

我没试过,但你说的不可能,有很多人的硬盘就是一个区,500G就是500G,如果不能启动,Microsoft也不用混了……

作者: wl00560     时间: 2009-1-30 00:49
DOS7.10的确可以识别3.5G内存(比Windows要少那么一点,不过不多),这点非常让人惊异,怀疑DOS是非常底层的操作系统,所以可能没有限制……
至于硬盘限制,与其说是DOS的,可能还不如说是FAT32自身的……

作者: fujianabc     时间: 2009-1-30 18:02
Originally posted by wl00560 at 2009-1-30 12:49 AM:
DOS7.10的确可以识别3.5G内存(比Windows要少那么一点,不过不多),这点非常让人惊异,怀疑DOS是非常底层的操作系统,所以可能没有限制……
至于硬盘限制,与其说是DOS的,可能还不如说是FAT32自身的……

硬盘限制是bios的限制,bios只能到32位寻址,硬盘上限2^32*512=2^41字节,即为2TB。

内存是cpu 32位的限制,dos是底层系统,其实理论上也可以在dos下运行x86_64的长模式,从而访问4GB以上的内存,不过好像没有需要这么大内存的dos程序。