关于磁盘工作原理的疑惑
看到网站里有一篇文章
现在问题是:
假设硬盘被分为 4 个区,其中
- C -> D 传输数据,E -> F 传输数据
-
E 有下载数据,F 有上传数据
……
这种情况下,磁盘是如何工作的?想知道详细的过程。
还有就是,硬盘是怎么确定
- 某个区是系统分区还是逻辑分区的?
- 各区的数据文件的?
sdfaasd
10 years, 3 months ago
Answers
和你猜想的一样,磁盘就是转啊转~转啊转~转过来,转回去。
这篇文章是关于磁盘这个硬件的,写的图文并茂,很是详细。
在硬件上面,是驱动程序——磁盘驱动。
在磁盘驱动上层,是文件系统,比如咱们经常说的 FAT32、NTFS、EXT3、……。
不管你分几个区,硬盘一般也是只有一个。
E盘下载,F盘上传。
你可能会认为,磁头转到E盘的物理位置,写入数据,磁头转回F盘,读数据,再转回E,再转回F,……
其实,过程就是这样,只是,现在的操作系统很聪明,他们来回转的次数,要比你想象中的少的多,他们如何做到的呢?
预读和缓冲。
当磁头读取第一扇区第3磁道的数据的时候,他想:既然我读了这个数据,那么附近的数据也可能需要,反正我已经转到这儿了,不如都读出来。这就是预读。
当我们下载时,也并不是一个bit一个bit的写入,而是把数据放到一个缓冲区,等缓冲区满了,然后一次性写入。
基友大战百合
answered 10 years, 3 months ago
你好,感谢关注我的文章。磁盘本身只是存放二进制数据,对于分区和文件一无所知。操作系统赋予了这些上层概念,这也是操作系统存在的根本理由之一。操作系统需要对磁盘进行一个合理的规划,这里面就包括了分区,目录文件,还要保证对磁盘的操作必须有序进行,否则会出现混乱。回答你的问题:
- 为什么数据能够同时操作?机械磁盘同一时刻显然只能操作有限的数据,是操作系统通过对IO进行规划,以达到有序的将IO请求发给磁盘处理。也就是操作系统对不同的数据操作进行的分时处理,让你觉得好像是同时在读写。对于磁盘来说一切都已安排好,只要根据指令读写即可
- 磁盘怎么知道分区的?上面说了,分区和文件系统是操作系统层面的东西,每个分区通常是固定数量的连续扇区组成,操作系统需要记录这种信息,才能把分区显示给你看。其实磁盘根本啥也不知道
你还可以看下我后续关于存储的文章,也许会有帮助
詩情畫意╮
answered 10 years, 3 months ago