磁盘结构:
来源:互联网 发布:清华学霸 知乎 编辑:程序博客网 时间:2024/05/17 08:40
http://blog.sina.com.cn/u/1946468044
磁盘结构:
#磁盘结构的数据结构大致可分为5部分:
1. MBR区、2.DBR区、FAT区、DIR区和DATA区
MBR:
即主引导记录,位于整个硬盘的0柱面而0磁道1扇区,共占用了63个扇区
但实际只使用了1个扇区(512字节)
#MBR使用的一个扇区内容分析
第一部分:引导代码,占用了446个字节;
第二部分:分区表,占用了64个字节;
第三部分:55
在数据恢复中主要就是恢复第二部分:
分区表也是重点
MBR程序段的主要功能如下: ·
检查硬盘分区表是否完好。 ·
在分区表中寻找可引导的“活动”分区。 ·
将活动分区的第一逻辑扇区内容装入内存。在DOS分区中,此扇区内容称为DOS引导记录(DBR)。
80X86处理器的互作模式
==========================================
#80386以后的处理器有3种互作模式:
1.实模式:dos
2.保护模式:内核
3.虚拟8086模式:应用软件
============================================
#其实,实模式和虚拟8086模式是为了向下兼容而设置的。而保护模式是我们的主角,
是我们现代系统实际上的互作模式。
============================================
#只有在保护模式下,32 bit cpu 的寻址才能达到4G的地址空间,同时,也能实现多任务、
内存分页管理和优先级保护模式等先进的机制。
============================================
#Windows 7 的启动过程
1.开启电源
--计算机系统将进行加电检(POST)(硬盘、显卡等等的设备进行自检)。如果通过,
之后BIOS会读取主引导记录(MBR,)--被标记为启动设备的硬盘的首扇区,并传送被
windows 7 建立的控制编码给MBR。
注;
硬盘的0磁道的第一个扇区称为MBR,他的大小事521字节,而这个区域可以
分为两个部分。第一部分为pre-boot区(预启动区),占446字节。
第二部分是partition tables 区(分区表)占66个字节(64个字节是表示64/16=4个主分区,后连个字节表示),该区相当于一个小程序,作用是
判断哪个分区被标记为活动分区,然后去读取那个分区的启动区,并运行区中的代码。
2.启动菜单生成
--windows启动管理器读取“启动配置数据存储(Boot Configure Data store)”中的信息。此信息包括已被按装在计算机的所有操作
系统的配置信息。并且用以生成启动菜单。
当你在启动菜单中选择下列动作时:
--如果你选择的是windows 7, windows启动管理器(windows Boot manager)运行
%SystemRoot%\System32文件夹中的OS loader---Windows.exe
--如果你选择的是自休眠状态恢复windows 7 ,那么启动管理器将装载Winresume.exe 并恢复你先前的使用环境
3.核心文件加载及其登陆
--Windows 7 启动时,加载其核心文件
Ntoskrnl.exe 和hal.dll ---从注册表中读取设置并加载驱动程序。
---接下来将运行windows启动程序(Winit.exe) ,本地安全验证
(Lsass.exe)与服务(services.exe)进程,完成后,你就可以登录你的系统了
--如果你在启动菜单中选择的是早期得到windows版本,启动管理器将定位系统安装所在的卷,并且加载Windows Nt
风格的早期OS loader(Ntldr.exe)---生成一个由boot.ini内容决定的启动菜单
========================================================================
MBR:
MBR:全称为Master Boot Record,即硬盘的主引导记录(位于硬盘的第一个扇区,就是硬盘首先被读取的地方)
为了便于理解,一般将MBR分为广义和狭义两种:广义的MBR包含整个扇区(引导程序、分区表及分隔标识),
也就是上面所说的主引导记录;而狭义的MBR仅指引导程序而言。
硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR)。
它由三个部分组成,主引导程序、硬盘分区表DPT(Disk Partition table)和硬盘有效标志(55AA)。
在总共512字节的主引导扇区里主引导程序(boot loader)占446个字节,第二部分是Partition table区(分区表),
即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为55AA。
注意:
MBR是不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它,但可以通过命令来修改和重写,
如在minix3里面,可以用命令:installboot -m /dev/c0d0 /usr/mdec/masterboot来把masterboot这个小程序写到
mbr里面,masterboot通常用汇编语言来编写。我们也可以用ROM-BIOS中提供的INT13H的2号功能来读出该扇区的内容,
也可用软件工具Norton8.0中的DISKEDIT.EXE来读取。
==========================================================
#实模式
处理器被复位或者加电的时候以实模式启动。
这时候处理器中各寄存器以实模式的初始化值互作
80386处理器在实模式下的存储器寻址方式和8086是一样的,由段寄存器的内容乘以16
当做基地址,加上段内的偏移地址形成最终的物理地址,这时候他的32位地址线只是用了低20位
在实模式下,80386处理器不能对内存进行分页管理,所以指令寻址的地址就是内存中实际
的物理地址,在实模式下,所有的段都是可以读、写和执行的。
实模式下80386不支持优选级,所有的指令相当于互作在特权级(优先级0),所以他可以执行所以特权指令,
包括读写控制寄存器CR0等。
实际上,80386就是通过在实模式下初始化控制寄存器。GDTR、LDTR、IDTR与TR等管理器以及
页表,然后再通过加载CR0使其中的保护模式使能位置位而进入保护模式的。当然,实模式
下不支持硬件上的多任务切换
实模式下的中断处理方式和8086处理器相同,也用中断向量表示定位中断服务程序地址
中断向量表的结构也是和8086处理器一样:每4个字节组成一个中断向量,其中包括两个字节的段地址和两个字节的偏移地址
从编程的角度看,除了可以访问80386新增的一些寄存器外,实模式的80386处理器和8086有设么进步呢?
其实最大的好处是可以使用80386的位寄存器,用32位的寄存器进行编程可以使计算机程序
更加简捷,加快了执行速度。
--比如:在8086时代用16位寄存器来完成32位的乘法和除法时,要进行的步骤是在是太多了,现在用32位寄存器一条指令就完成
===================================================================================
#保护模式
当80386工作在保护模式下的时候,他的所有功能都是可用的,这是80386所有32根地址线都可供寻址,物理寻址空间高达4GB
在保护模式下,支持内存分页机制,提供了对虚拟内存的良好支持。虽然与8086可寻址的1MB物理地址空间相比,80386
可寻址的物理地址空间可谓很大,但是实际的微机系统不可能安装如此大的物理内存。所以,为了运行大型程序和真正实现多任务,
虚拟内存是一种必须的技术。
在保护模式下80386支持多任务,可以依靠硬件仅在一条指令中实现多任务的切换。任务环境的保护互作是用处理器自动完成的
在保护模式下,80386处理器还支持优先级机制,不同的程序可以运行在不同的优先级上
配合良好的检测机制后,既可以在任务间实现数据的安全共享也可以很好地隔离各个任务。从实模式切换到保护模式是
通过修改控制寄存器CR0的控制位PE(位0)来实现的。在这之前好需要建立GDT和中断描述符表IDT等
DOS操作系统是运行在实模式下,而Windows操作系统运行于保护模式下。
虽然实模式兼容以前的系统,但是摄像一下,如果windows或者80386处理器推出的时候宣布不能运行以前的MS-DOS程序,那么
就等于放弃了一个巨大的软件库,Windows以及80386处理器可能就会落得和苹果机一样的下场,
这是Microsoft和Intel都不愿意看到的
由于这这种特殊需求的普遍性,虚拟8086应运而生!
虚拟8086模式是以任务形式在保护模式上执行的,在80386上可以同时支持有多个真正的80386任务和虚拟86模式构成的任务。
在虚拟86模式下,80386支持任务切换和内存分页。
在windows操作系统中,有一部分程序专门用来管理虚拟86模式的任务,称为虚拟86管理程序。
既然虚拟86模式以保护模式位基础,他的互作方式实际上是实模式和保护模式的混合
为了和8086程序的寻址兼容,虚拟86模式采用和8086一样的寻址方式,即用段寄存器乘以16当做基址再配合偏移地址形成线性地址,
寻址空间为1MB
但显然多个虚拟86任务不能同时使用同一位置的1MB地址空间,否则会引起冲突。操作系统利用分页机制
将不同虚拟86任务的地址空间映射到不同的物理地址上去,这样每个虚拟86任务看起来都认为
自己在使用0-1MB的地址空间
============================================================================
#Windows 的内存管理机制
--Dos 操作系统的内存安排情况
--80386的内存寻址机制
--80386的内存分页机制
--Windows 的内存安排
#Windows的特权保护模式
---80386的中断和异常
---80386的保护机制
---Windows的保护模式
#80386的内存分页机制
- 磁盘结构
- 磁盘结构:
- 磁盘结构
- 磁盘结构
- 磁盘结构
- 清晰磁盘结构
- 磁盘结构简介
- 磁盘结构介绍
- 清晰磁盘结构
- 磁盘结构简介
- 磁盘结构简介
- 磁盘逻辑结构
- linux磁盘目录结构
- Linux 磁盘结构
- Mac磁盘文件结构
- 磁盘结构简介
- 磁盘结构简介
- 计算机病毒的磁盘存储结构
- [Python入门及进阶笔记]Python-基础-数字小结
- eclipse工程中classpath的使用
- background-position
- 微软一道选择题
- 二分法求解超大项的斐波那契数列数值
- 磁盘结构:
- 马云:写给在工厂上班的同学们
- fpga工具
- Android GPS 定位 3 详细地址周边地图图片
- 网页图片优化
- 1003 Emergence
- Linux 内核解读之内存管理----memory.c
- Java JNI由浅入深(包括:Java和C++互传ArrayList泛型对象参数)
- C#基础语法