自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大坡3D软件开发

自主操作系统和CPU--用软件来改变世界

原创 reactos操作系统实现(121)

 CreatePartitionDeviceObjects函数是通过分析MBR扇区的数据,然后来创建所有分区对象。具体实现代码如下:#001  NTSTATUS#002  NTAPI#003 CreatePartitionDeviceObjects(#004      IN PDEVICE_OBJ...

2009-10-31 22:10:00 1559 1

原创 reactos操作系统实现(120)

 CreateDiskDeviceObject函数主要就是为了物理设备创建磁盘对象,并且查找磁盘上每个分区和创建相应的对象。具体实现代码如下:#001  NTSTATUS#002  NTAPI#003  CreateDiskDeviceObject(#004      IN PDRIVER_OBJ...

2009-10-30 22:40:00 1537 2

原创 reactos操作系统实现(119)

 前介绍了初始化函数ScsiClassInitialize,那么在这个函数里使用下面的语句来查找SCSI的磁盘,如下:if (InitializationData->ClassFindDevices(DriverObject, Argument2,InitializationData,por...

2009-10-29 22:33:00 1364 0

原创 reactos操作系统实现(118)

 ScsiClassInitialize函数初始化驱动程序对象,主要是找到合适的端口驱动程序,并设置它来处理磁盘的命令,具体实现代码如下:#001  ULONG#002  NTAPI#003  ScsiClassInitialize(#004      IN  PVOID            A...

2009-10-28 21:42:00 1443 0

原创 reactos操作系统实现(117)

在Reactos里,磁盘类的驱动程序是由disk.sys实现的。从文件系统上输出和读取的调用,就是需要通过这个驱动程序来实现,在这个驱动程序下面就是PCIIDE和ATAPI的驱动程序了,后面这些驱动程序,在前面已经分析过,现在来学习disk类驱动程序。 10.4.1 DriverEntry入口函数...

2009-10-27 21:36:00 1336 1

原创 reactos操作系统实现(116)

PciIdeXFdoStartDevice函数是用来处理即插即用的启动设备消息,主要设置了DMA操作和保存设备端口的基地址,这里就是启动PCIIDE的物理设备,具体实现代码如下:#001  static NTSTATUS#002  PciIdeXFdoStartDevice(#003     IN...

2009-10-26 22:05:00 1483 0

原创 reactos操作系统实现(115)

PciIdeXFdoPnpDispatch函数主要处理PCIIDE即插即用的消息处理。具体实现代码如下:#001  NTSTATUS NTAPI#002  PciIdeXFdoPnpDispatch(#003     IN PDEVICE_OBJECT DeviceObject,#004     ...

2009-10-25 14:05:00 1417 0

原创 reactos操作系统实现(114)

PciIdeXAddDevice函数是用来添加PCIIDEX的设备,设置一个功能设备,并读取PCI总线的配置参数。具体实现代码如下:#001  NTSTATUS NTAPI#002  PciIdeXAddDevice(#003     IN PDRIVER_OBJECT DriverObject,...

2009-10-24 21:08:00 1571 2

原创 reactos操作系统实现(113)

下面来分析PCIIDE和PCIIDEX驱动程序,这两个都是PCI的IDE总线驱动程序。先从PCIIDE的入口函数开始,具体实现代码如下:#001  NTSTATUS NTAPI#002  DriverEntry(#003     IN PDRIVER_OBJECT DriverObject,#00...

2009-10-23 21:53:00 1446 0

原创 reactos操作系统实现(112)

IdeReadWrite函数主要实现了IDE设备的读和写命令发送。具体实现函数如下:#001  ULONG#002  NTAPI#003  IdeReadWrite(#004      IN PVOIDHwDeviceExtension,#005      IN PSCSI_REQUEST_BLO...

2009-10-22 22:01:00 1466 0

原创 reactos操作系统实现(111)

IdeSendSmartCommand函数主要发送IDE的命令。具体实现代码如下:#001  ULONG#002  NTAPI#003  IdeSendSmartCommand(#004      IN PVOIDHwDeviceExtension,#005      IN PSCSI_REQUE...

2009-10-21 20:59:00 2032 0

原创 reactos操作系统实现(110)

AtapiStartIo函数主要处理同步的IO请求包。具代的实现代码如下:#001  BOOLEAN#002  NTAPI#003  AtapiStartIo(#004      IN PVOIDHwDeviceExtension,#005      IN PSCSI_REQUEST_BLOCKS...

2009-10-20 22:02:00 1781 0

原创 reactos操作系统实现(109)

AtapiInterrupt函数是实现ATAPI的中断功能,主要根据SRB来判断是读取数据还是写入数据,然后对IDE设备读取或写入数据,还需要处理很多出错的情况。具体实现代码如下:#001  BOOLEAN#002  NTAPI#003  AtapiInterrupt(#004      IN P...

2009-10-19 22:11:00 1672 0

原创 reactos操作系统实现(108)

AtapiHwInitialize函数初始化不是ATAPT设备,设置它支持多块传送。接着判断那些设备是CD-ROM设备,还清除忙状态。具体实现代码如下:#001  BOOLEAN#002  NTAPI#003  AtapiHwInitialize(#004      IN PVOIDHwDevic...

2009-10-18 11:04:00 1721 0

原创 reactos操作系统实现(107)

IssueIdentify函数主要是发送IDENTIFY命令给一个ATAPI设备,并且获取这个设备相关信息,比如磁头的个数。#001  BOOLEAN#002  NTAPI#003  IssueIdentify(#004      IN PVOIDHwDeviceExtension,#005   ...

2009-10-17 22:46:00 1565 0

原创 reactos操作系统实现(106)

FindDevices函数主要用来查找ATAPI控制器,并且获取磁盘的参数。如果找到IDE的设备就返回TRUE,否则返回FALSE。其实是通过ATAPI的标志和IssueIdentify命令来判断IDE设备。#001  BOOLEAN#002  NTAPI#003  FindDevices(#00...

2009-10-16 21:41:00 1294 0

原创 reactos操作系统实现(105)

AtapiFindController函数主要用来查找ATAPI控制器,也就是IDE控制器。同时收集IDE控制器相关配置信息,比如磁盘的访问方式。#001  ULONG#002  NTAPI#003  AtapiFindController(#004      IN PVOIDHwDeviceEx...

2009-10-15 22:15:00 1512 1

原创 reactos操作系统实现(104)

AtapiFindPCIController函数是用来发现PCI总线上所有的IDE控制器,并发现相关的IDE设备。具体实现代码如下:#001  ULONG#002  NTAPI#003  AtapiFindPCIController(#004      IN PVOIDHwDeviceExtens...

2009-10-14 21:17:00 1421 0

原创 reactos操作系统实现(103)

ScsiPortInitialize函数用来初始化总线上设备,并查找每个总线上所有出现的设备,主要是SCSI相关的设备,当然这里SCSI设备是包括IDE控制器。找到每个设备之后,就会创建这个设备的设备对象,并且设置每个设备的参数、中断相关函数。 #001  ULONG NTAPI#002  Scs...

2009-10-13 21:44:00 1693 0

原创 reactos操作系统实现(102)

ATAPI驱动程序的源码在目录drivers/storage/ide/atapi里,其实ATAPI是一个IDE的小端口驱动程序,主要初始化不同总线上的ATAPI设备,其中最重要的就是从PCI总线里查找到IDE控制器。下面来分析这个驱动程序的入口函数:#001  ULONG#002  NTAPI#0...

2009-10-12 21:52:00 1445 0

原创 reactos操作系统实现(101)

这里主要来分析ATAPI驱动程序,那么就要先了解ATAPI的相关知识了。1. AT ATTACHMENT (ATA):ATA接口是个人电脑上最具有实力的存储接口,ATA接口早先被广泛应用于IBM及其兼容机,它被定义为标准的硬盘接口。  2. ATA-1:ATA硬盘接口的第一代标准ANSIX3.27...

2009-10-11 22:28:00 1133 0

原创 reactos操作系统实现(100)

 在分析文件所有操作之前,先来看看文件操作的基来流程,与那些系统是相关联的。如下图所示: 应用程序先发起文件的操作,接着就调用到IO管理器的内核函数,IO管理器函数就会生成IRP请求包,并把IRP请求包传送给文件系统驱动程序,接着文件系统把请求生成SRB请求包发送给类驱动程序。最后类驱动程序把SR...

2009-10-10 21:33:00 1119 1

转载 miniport, port driver,disk.sys 之间的关系(转)

miniport, port driver,disk.sys 之间关系驱动程序由CLASS DRIVER,PORT DRIVER,MINIPORT,三部分组成,从层次上来说,LCASS DRIVER是针对几大类设备的驱动,比如存储设备驱动,就可以通过一个CLASS DRIVER来统一管理,完成一些...

2009-10-06 11:42:00 2572 0

提示
确定要删除当前文章?
取消 删除