![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux 0.12 OS. block
Hony杨
算法 内核 人生
展开
-
Linux 0.12 OS. block - blk.h
重点摘要 i. 设备支持 目前系统支持的设备为 0 - unused (无设备) 1 - /dev/mem (内存盘) 2 - /dev/fd (软盘) 3 - /dev/hd (硬盘) 4 - /dev/ttyx (串口) 5 - /dev/tty (控制台) 6 - /dev/lp (并口) 7 - unnamed pipes (无名管道) ii. 数据结构 - dev原创 2013-07-03 15:51:57 · 1182 阅读 · 0 评论 -
Linux 0.12 OS. block - ll_rw_blk.c
问自己的问题 - lock_buffer: static inline void lock_buffer(struct buffer_head * bh) { cli(); // 1. 为什么需要用cli/sti来控制IF中断屏蔽? while(bh->b_block) // 2. 'while'可以用'if'替换吗? sleep_o原创 2013-07-03 15:55:11 · 1601 阅读 · 0 评论 -
Programming Floppy Disk Controllers (上)
原文:可编程软盘控制器 这篇文章是想介绍一下使用一些寄存器对NEC uPD765和Intel 82072/7软盘控制器(FDCs)进行编程,文章分为下面4个部分: 1. Overview 2. Configuration of an FDC on a PC 3. FDC Registers 4. Command Set Overview PC机常常使用NEC uPD7翻译 2013-07-06 11:52:02 · 1281 阅读 · 0 评论 -
Programming Floppy Disk Controllers (下)
原文:可编程软盘控制器 Command Set 总共有13个命令在uPD765和兼容的FDC上可用。还有4个命令将会在8207x的控制器上可用。 扇区的识别由柱面,磁头,扇区号和扇区大小组成。这些可以告诉控制器命令执行的位置和扇区数目。 所有命令和状态通过数据寄存器传输,端口号为3f7h或者377h。在写命令或者读状态之前,需要读取main status register的MRQ位。它决定翻译 2013-08-02 23:13:19 · 1077 阅读 · 0 评论 -
Programming Floppy Disk Controllers (中)
Data Register 数据寄存器是一个8位的寄存器,类似其他的寄存器,它间接的提供了一个寄存器栈。一个命令可能是0~9个字节长,第一个字节告诉控制器可能的字节数目。控制器发送命令字节给栈里正确的寄存器,保存程序员需要的索引寄存器,类似于其他的设备(比如VGA的寄存器)。 有些控制器,比如i82077A,它有一块可编程范围的缓冲区,允许一次传输多个字节。这样可以提高数据和命令的传输和减少u翻译 2013-07-06 12:01:16 · 1154 阅读 · 0 评论