V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
taogen
V2EX  ›  程序员

吐槽一下。想查一下磁盘的读写原理, Google 搜索了半天,英文和中文的方式都搜了,没有一个说得清楚的。

  •  
  •   taogen ·
    tagnja · 2019-11-18 17:23:21 +08:00 · 2729 次点击
    这是一个创建于 1831 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT 查了半天,中文和英文都没有满意的答案。中文的更是让我服了,各种转载(重复内容),各种挂羊头卖狗肉(标题和内容不符)。算了,还是去查计算机书籍吧。

    另外,我想对某些人说。1. 不要把写博客当做云笔记、云存储,不要直接转载发表好吗?看到好的文章,自己收藏,用印象云笔记做个笔记就行。2. 写博客能不能用心点,标题请不要驴唇不对马嘴。不要照搬照抄,要有自己理解。

    第 1 条附言  ·  2019-11-18 18:04:27 +08:00
    大致知道一点,好像是通过电磁转换。

    写入:通过不同的电流生成不同的磁场,利用读写头改变磁盘单元的磁极方向。读取:通过磁盘的磁极方向生产不同的电流,从而读取 0,1 数据。

    只是想在网上快速查一下,懒得查书。查了一圈没结果,看来还是得查书。
    12 条回复    2019-11-19 06:49:16 +08:00
    Raymon111111
        1
    Raymon111111  
       2019-11-18 17:25:26 +08:00   ❤️ 4
    答案是看书, 没有捷径

    推荐这个: http://pages.cs.wisc.edu/~remzi/OSTEP/
    cyhulk
        2
    cyhulk  
       2019-11-18 17:43:32 +08:00
    不如读一下 understand linux kernel ?
    lolizeppelin
        3
    lolizeppelin  
       2019-11-18 17:55:15 +08:00
    去硬盘之家

    这些原理修硬盘的接触比较多, 基本都是 PC3000 用户
    lolizeppelin
        4
    lolizeppelin  
       2019-11-18 17:57:14 +08:00
    可以先看点负磁道,砍头,G 转 P,LBA 表重建之类,普通用户了解这些就差不多了
    Cooky
        5
    Cooky  
       2019-11-18 17:58:07 +08:00 via Android
    wiki
    lolizeppelin
        6
    lolizeppelin  
       2019-11-18 17:59:19 +08:00
    @cyhulk
    这是上层的,应该不是楼主想知道的知识点

    硬盘本身的知识点一般是做数据恢复(顺便修硬盘,卖二手硬盘)的比较熟悉
    cyhulk
        7
    cyhulk  
       2019-11-18 18:06:10 +08:00
    @lolizeppelin 不好意思,惯性思维,硬件的了解不多,撤了!!
    cyhulk
        8
    cyhulk  
       2019-11-18 18:07:59 +08:00
    @lolizeppelin 其实我再读的时候也很好奇,hard disk 的磁头控制,怎么做到那么精准的读取量
    XiaoxiaoPu
        9
    XiaoxiaoPu  
       2019-11-18 18:18:32 +08:00   ❤️ 1
    现在磁盘的读取原理已经不是电磁感应了,而是巨磁阻效应
    HiBlank
        10
    HiBlank  
       2019-11-18 20:41:28 +08:00 via iPhone
    这个我记得大学操作系统上就有呀
    autogen
        11
    autogen  
       2019-11-18 21:32:47 +08:00
    一种是 PIO 方式:
    1.选择硬盘缩写的通道,
    2.往端口上写要操作的扇区号、扇区数,
    3.死循环读状态端口,直到状态变为成功
    另一种是 DMA 方式:
    1.选择一个 DMA 通道,
    2.设置外设寄存器地址、内存地址、字节数、优先级、传输模式
    3.启动该通道,等待传输完成,完成之后会给你中断
    luozic
        12
    luozic  
       2019-11-19 06:49:16 +08:00 via iPhone
    做啥的?造 修理 系统开发 软件开发 性能调优 吹牛逼要的原理不是一个东西,虽然都是那一个“原理”。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2912 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 00:08 · PVG 08:08 · LAX 16:08 · JFK 19:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.