计算机的操作系统是怎么样访问硬盘的

来源:百度知道 编辑:UC知道 时间:2024/06/07 10:35:42
比如 在计算机硬盘中建立一个文件 写入数据 操作系统是怎么把数据传到硬盘中的

从汇编的角度说,CPU把要传到硬盘中的数据首先放在内存中,然后把I/O访问地址写到硬盘,使用MOV命令对从内存中向硬盘写数据。

这里面还要涉及I/O地址锁存器(传输过程),和对硬盘物理地址的访问和控制。

这是最底层的机器代码

举例:

mov ax,0201h
mov cx,0001h
mov dx,0080h
mov bx,f000h
int 13h ;将MBR读入硬盘0000:f000H

mov ch,01H
mov cl,01h
mov dh,[f1bOh] ;要写入的柱面号此时保存在0000:f1b0h
mov dl,80h
WRITE:
mov ax,033fh ;一次写63个扇区
mov bx,0000h ;
int 13h
cmp ch,ffh
jz next1
INC ch
jmp write
next1:
add cx,40h
cmp cx,ffc1h ;是否写完一个柱面
jz next2
mov ch,00h
jmp write
next2:
cmp dh,ff
jz exit ;硬盘已写完
inc dh ;磁头数加1
mov [f1b0h],dh
push ax
push bx
push cx
push dx
mov ax,0201h
mov cx,0001h
mov dx,0080h
mov bx,f000h
int 13h ;将DH中的柱面号保存
pop dx
pop cx
pop bx
pop ax
mov cx,0001
jmp write
exit: