大坡3D软件开发

因我而不同--用软件来改变世界

reactos操作系统实现(74)

很多驱动程序,都是通过硬件检测时写到注册表里保存起来的,因此读取注册表里键值列表,就知道有多少设备需要需要加载了。下面就从注册表里创建一组驱动程序列表,实现的代码如下:#001  NTSTATUS INIT_FUNCTION#002  IoCreateDriverList(VOID)#003  {...

2009-08-31 22:08:00

阅读数:7120

评论数:2

reactos操作系统实现(73)

即插即用(Plug and Play,PnP)是计算机系统I/O设备与部件配置的应用技术。PnP就是指插入就可以使用,不需要进行任何的硬件配置。其实还是需要安装相应的驱动程序才可以使用的。随着人们对计算机使用多样化,不断地需要添加各种各样的硬件卡到计算机的主板上,这样就需要配置硬件卡的中断、I/O...

2009-08-29 21:54:00

阅读数:2121

评论数:0

reactos操作系统实现(72)

ReactOS通过对象管理机制为内核提供了一致的和安全的访问方式。对象管理器是一个用于创建、删除、保护和跟踪对象的内核一部份。由于I/O管理的设备是多方面的,就需要创建很多对象来表达这种设备,下面就来了解关于I/O相关的对象,初始化的代码如下:#001  BOOLEAN#002  INIT_FUN...

2009-08-28 21:40:00

阅读数:1680

评论数:0

reactos操作系统实现(71)

I/O管理器是管理着整个计算机的输入和输出的操作,因此它是一个基本的组成部份。I/O管理器的初始化调用是在文件reactos/ntoskrnl/ex/init.c里,它主要调用I/O管理器的函数IoInitSystem()来实现,这个函数在文件reactos/ntoskrnl/io/iomgr/i...

2009-08-26 22:53:00

阅读数:1997

评论数:0

reactos操作系统实现(70)

安装和配置用户信息后,就会重新启动,ReactOS系统就会自动登录到正常的环境里,并且启动驱动程序安装向导,如下图: 当驱动程序安装完成后,整个系统就可以使用了,如下: 到这里就把从光盘开始安装到系统正常使用的过程分析完成,当然这个过程里,还有很多其它实现代码没有一一去解释,但这个主线已经完全清晰...

2009-08-25 21:55:00

阅读数:1741

评论数:1

reactos操作系统实现(69)

当用户安装系统时,就会出现几个向导界面,这几个向导界面是怎么样实现的呢?具体又是做些什么样的功能呢?它的实现代码如下:#001  VOID#002  InstallWizard(VOID)#003  {#004    PROPSHEETHEADER psh;#005    HPROPSHEETPA...

2009-08-24 22:40:00

阅读数:1685

评论数:1

reactos操作系统实现(68)

前面介绍怎么样调用动态连接库里的InstallReactOS函数,下面就来分析这个函数的代码,看看这个函数是怎么运行向导界面,又做了些什么样的工作。如下:#001  DWORD WINAPI#002  InstallReactOS(HINSTANCE hInstance)#003  {#004  ...

2009-08-23 09:55:00

阅读数:1722

评论数:3

reactos操作系统实现(67)

前面分析安装后,就会调用setup.exe程序运行,在入口函数里处理命令行参数newsetup后,就会调用函数newsetup来运行,下面来仔细地分析这个函数是到底做什么事情。如下:#001  static VOID#002  RunNewSetup (HINSTANCE hInstance)#0...

2009-08-22 20:06:00

阅读数:1273

评论数:0

reactos操作系统实现(66)

 当选择重新启动后,就会进入最后阶段安装,进入有界面安装。这里主要通过程序setup.exe来实现的,它的实现代码在目录reactos/base/setup/setup里。就可以进安装驱程序和系统一些配置信息,如下: 下面就是程序入口点的代码,从这里可以看到这个程序与前面的安装程序是不一样的,它是...

2009-08-21 22:55:00

阅读数:1392

评论数:0

reactos操作系统实现(65)

 激动人心的时刻到了,最后安装成功了。会出现下面的界面,如下:  上面成功的实现代码如下:#001  static PAGE_NUMBER#002  SuccessPage(PINPUT_RECORD Ir)#003  { 显示成功安装的信息。#004      MUIDisplayPage(SU...

2009-08-20 21:32:00

阅读数:1773

评论数:0

reactos操作系统实现(64)

在安装一个操作系统时,绝大多数都是把引导程序安装在硬盘里,下面就来了解安装到硬盘里具体过程,实现代码如下:#001  static PAGE_NUMBER#002  BootLoaderHarddiskPage(PINPUT_RECORD Ir)#003  {#004      UCHAR Par...

2009-08-19 23:53:00

阅读数:1567

评论数:1

reactos操作系统实现(63)

 前面把注册表初始化完成之后,就开始进行安装引导程序了。这里安装的引导程序是分区引导程序,或者安装到软盘引导程序。当然也可以选择跳过不安装它,界面如下:  这个函数的代码如下:#001  static PAGE_NUMBER#002  BootLoaderPage(PINPUT_RECORD Ir...

2009-08-18 21:38:00

阅读数:1412

评论数:0

reactos操作系统实现(62)

当文件拷贝完成后,主要就是把已经拷贝的文件进行注册表登记,还需要把用户在安装过程里选择的配置保存到注册表,同时也需要把检查到的硬件保存到注册表里。其实注册表,就是保存一些配置信息,这样下一次启动时,就可以直接把这些信息加载到内存就行了,不需要用户重新选择,也不需要重新搜索硬盘配置。代码如下:#00...

2009-08-17 23:13:00

阅读数:1418

评论数:0

reactos操作系统实现(61)

前面准备好文件后,就需要从光盘里拷贝文件到安装目录,下面就是这个过程的界面:实现这个过程的代码如下:#001  static#002  PAGE_NUMBER#003  FileCopyPage(PINPUT_RECORD Ir)#004  {#005      COPYCONTEXT CopyC...

2009-08-16 22:32:00

阅读数:1579

评论数:0

reactos操作系统实现(60)

在拷贝文件到磁盘之前,需要把压缩包的文件解压,然后才能拷贝文件到安装目录里,它的代码如下:#001  static PAGE_NUMBER#002  PrepareCopyPage(PINPUT_RECORD Ir)#003  {#004      HINF InfHandle;#005     ...

2009-08-14 21:08:00

阅读数:1279

评论数:0

reactos操作系统实现(59)

 当用户安装ReactOS系统时,需要选择合适的安装目录,因为同一个类型的操作系统,可以安装多次,可以选择不同的目录来安装,以便在同一台电脑,同一个磁盘分区里安装不同的系统。如下图:选择系统目录的实现代码如下:#001  static PAGE_NUMBER#002  InstallDirecto...

2009-08-12 21:00:00

阅读数:1493

评论数:1

reactos操作系统实现(58)

格式化磁盘主要做什么样的工作呢?根据用户选择的文件系统,把格式化的数据和分区表写到磁盘,然后判断引导分区,写入引导代码到引导分区。具代实现代码如下:#001  static ULONG#002  FormatPartitionPage (PINPUT_RECORD Ir)#003  {#004  ...

2009-08-09 09:50:00

阅读数:1489

评论数:2

reactos操作系统实现(57)

当分区好后,就需要选择这些分区使用什么样的文件系统,目前主要支持FAT,FAT32,EXT2,NTFS等文件系统。这些功能是通过下面的函数实现的,如下:#001  static PAGE_NUMBER#002  SelectFileSystemPage (PINPUT_RECORD Ir)#003...

2009-08-07 20:48:00

阅读数:1178

评论数:0

reactos操作系统实现(56)

 在Reactos安装过程里,会出现下面的界面,如下: 上面的界面就是创建磁盘分区显示的内容,那么这个界面下面主要做了那些工作呢?磁盘又是怎么样分区的呢?分区后的数据怎么样保存到磁盘里的呢?接着下来,就分析创建磁盘分区的代码,才能知道整个实现过程,如下:#001  static PAGE_NUMB...

2009-08-06 21:21:00

阅读数:1768

评论数:0

reactos操作系统实现(55)

在语言选择里,倒底做了什么样的事情,让ROS系统可以选择不同的语言?ROS系统又是怎么样实现不同的语言支持的呢?#001  static PAGE_NUMBER#002  LanguagePage(PINPUT_RECORD Ir)#003  { 初始化语言列表。#004      /* Init...

2009-08-06 00:35:00

阅读数:1501

评论数:0

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