自定义博客皮肤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

阅读数 1520

评论数 1

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

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

2009-10-30 22:40:00

阅读数 1493

评论数 2

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

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

2009-10-29 22:33:00

阅读数 1336

评论数 0

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

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

2009-10-28 21:42:00

阅读数 1397

评论数 0

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

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

2009-10-27 21:36:00

阅读数 1293

评论数 1

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

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

2009-10-26 22:05:00

阅读数 1444

评论数 0

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

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

2009-10-25 14:05:00

阅读数 1394

评论数 0

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

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

2009-10-24 21:08:00

阅读数 1535

评论数 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

阅读数 1409

评论数 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

阅读数 1428

评论数 0

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

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

2009-10-21 20:59:00

阅读数 1998

评论数 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

阅读数 1744

评论数 0

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

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

2009-10-19 22:11:00

阅读数 1628

评论数 0

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

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

2009-10-18 11:04:00

阅读数 1700

评论数 0

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

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

2009-10-17 22:46:00

阅读数 1533

评论数 0

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

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

2009-10-16 21:41:00

阅读数 1266

评论数 0

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

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

2009-10-15 22:15:00

阅读数 1443

评论数 1

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

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

2009-10-14 21:17:00

阅读数 1357

评论数 0

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

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

2009-10-13 21:44:00

阅读数 1629

评论数 0

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

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

2009-10-12 21:52:00

阅读数 1384

评论数 0

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