- 博客(24)
- 资源 (44)
- 收藏
- 关注
原创 reactos操作系统实现(74)
很多驱动程序,都是通过硬件检测时写到注册表里保存起来的,因此读取注册表里键值列表,就知道有多少设备需要需要加载了。下面就从注册表里创建一组驱动程序列表,实现的代码如下:#001 NTSTATUS INIT_FUNCTION#002 IoCreateDriverList(VOID)#003 {#004 RTL_QUERY_REGISTRY_TABLEQuer
2009-08-31 22:08:00 7432 2
原创 reactos操作系统实现(73)
即插即用(Plug and Play,PnP)是计算机系统I/O设备与部件配置的应用技术。PnP就是指插入就可以使用,不需要进行任何的硬件配置。其实还是需要安装相应的驱动程序才可以使用的。随着人们对计算机使用多样化,不断地需要添加各种各样的硬件卡到计算机的主板上,这样就需要配置硬件卡的中断、I/O所占用的资源,才能正常工作。这个过程是非常复杂的,经常需要手工配置,还需要查看计算机那里中断是空闲
2009-08-29 21:54:00 2408
原创 reactos操作系统实现(72)
ReactOS通过对象管理机制为内核提供了一致的和安全的访问方式。对象管理器是一个用于创建、删除、保护和跟踪对象的内核一部份。由于I/O管理的设备是多方面的,就需要创建很多对象来表达这种设备,下面就来了解关于I/O相关的对象,初始化的代码如下:#001 BOOLEAN#002 INIT_FUNCTION#003 NTAPI#004 IopCreateObjectType
2009-08-28 21:40:00 1940
原创 reactos操作系统实现(71)
I/O管理器是管理着整个计算机的输入和输出的操作,因此它是一个基本的组成部份。I/O管理器的初始化调用是在文件reactos/ntoskrnl/ex/init.c里,它主要调用I/O管理器的函数IoInitSystem()来实现,这个函数在文件reactos/ntoskrnl/io/iomgr/iomgr.c里。这个函数的实现代码如下:#001 BOOLEAN#002 INIT_F
2009-08-26 22:53:00 2283
原创 reactos操作系统实现(70)
安装和配置用户信息后,就会重新启动,ReactOS系统就会自动登录到正常的环境里,并且启动驱动程序安装向导,如下图: 当驱动程序安装完成后,整个系统就可以使用了,如下: 到这里就把从光盘开始安装到系统正常使用的过程分析完成,当然这个过程里,还有很多其它实现代码没有一一去解释,但这个主线已经完全清晰了,其它代码只需要顺藤摸瓜。
2009-08-25 21:55:00 1973 1
原创 reactos操作系统实现(69)
当用户安装系统时,就会出现几个向导界面,这几个向导界面是怎么样实现的呢?具体又是做些什么样的功能呢?它的实现代码如下:#001 VOID#002 InstallWizard(VOID)#003 {#004 PROPSHEETHEADER psh;#005 HPROPSHEETPAGE ahpsp[8];#006 PROPSHEETPAGE psp =
2009-08-24 22:40:00 1941 1
原创 reactos操作系统实现(68)
前面介绍怎么样调用动态连接库里的InstallReactOS函数,下面就来分析这个函数的代码,看看这个函数是怎么运行向导界面,又做了些什么样的工作。如下:#001 DWORD WINAPI#002 InstallReactOS(HINSTANCE hInstance)#003 {#004 TCHAR szBuffer[MAX_PATH];#005
2009-08-23 09:55:00 2126 3
原创 reactos操作系统实现(67)
前面分析安装后,就会调用setup.exe程序运行,在入口函数里处理命令行参数newsetup后,就会调用函数newsetup来运行,下面来仔细地分析这个函数是到底做什么事情。如下:#001 static VOID#002 RunNewSetup (HINSTANCE hInstance)#003 {#004 HMODULE hDll;#005 PINST
2009-08-22 20:06:00 1558
原创 reactos操作系统实现(66)
当选择重新启动后,就会进入最后阶段安装,进入有界面安装。这里主要通过程序setup.exe来实现的,它的实现代码在目录reactos/base/setup/setup里。就可以进安装驱程序和系统一些配置信息,如下: 下面就是程序入口点的代码,从这里可以看到这个程序与前面的安装程序是不一样的,它是采用应用程序的方式来运行,也就是加载了几个内核DLL才能运行这个程序。#001
2009-08-21 22:55:00 1721 1
原创 reactos操作系统实现(65)
激动人心的时刻到了,最后安装成功了。会出现下面的界面,如下: 上面成功的实现代码如下:#001 static PAGE_NUMBER#002 SuccessPage(PINPUT_RECORD Ir)#003 { 显示成功安装的信息。#004 MUIDisplayPage(SUCCESS_PAGE);#005 #006
2009-08-20 21:32:00 2017
原创 reactos操作系统实现(64)
在安装一个操作系统时,绝大多数都是把引导程序安装在硬盘里,下面就来了解安装到硬盘里具体过程,实现代码如下:#001 static PAGE_NUMBER#002 BootLoaderHarddiskPage(PINPUT_RECORD Ir)#003 {#004 UCHAR PartitionType;#005 NTSTATUS Status;
2009-08-19 23:53:00 1976 1
原创 reactos操作系统实现(63)
前面把注册表初始化完成之后,就开始进行安装引导程序了。这里安装的引导程序是分区引导程序,或者安装到软盘引导程序。当然也可以选择跳过不安装它,界面如下: 这个函数的代码如下:#001 static PAGE_NUMBER#002 BootLoaderPage(PINPUT_RECORD Ir)#003 {#004 UCHAR PartitionTy
2009-08-18 21:38:00 1644
原创 reactos操作系统实现(62)
当文件拷贝完成后,主要就是把已经拷贝的文件进行注册表登记,还需要把用户在安装过程里选择的配置保存到注册表,同时也需要把检查到的硬件保存到注册表里。其实注册表,就是保存一些配置信息,这样下一次启动时,就可以直接把这些信息加载到内存就行了,不需要用户重新选择,也不需要重新搜索硬盘配置。代码如下:#001 static PAGE_NUMBER#002 RegistryPage(PINPU
2009-08-17 23:13:00 1646
原创 reactos操作系统实现(61)
前面准备好文件后,就需要从光盘里拷贝文件到安装目录,下面就是这个过程的界面:实现这个过程的代码如下:#001 static#002 PAGE_NUMBER#003 FileCopyPage(PINPUT_RECORD Ir)#004 {#005 COPYCONTEXT CopyContext;#006 显示拷贝文件的标题。#00
2009-08-16 22:32:00 1890
原创 reactos操作系统实现(60)
在拷贝文件到磁盘之前,需要把压缩包的文件解压,然后才能拷贝文件到安装目录里,它的代码如下:#001 static PAGE_NUMBER#002 PrepareCopyPage(PINPUT_RECORD Ir)#003 {#004 HINF InfHandle;#005 WCHAR PathBuffer[MAX_PATH];#006
2009-08-14 21:08:00 1549
原创 reactos操作系统实现(59)
当用户安装ReactOS系统时,需要选择合适的安装目录,因为同一个类型的操作系统,可以安装多次,可以选择不同的目录来安装,以便在同一台电脑,同一个磁盘分区里安装不同的系统。如下图:选择系统目录的实现代码如下:#001 static PAGE_NUMBER#002 InstallDirectoryPage(PINPUT_RECORD Ir)#003 {#004
2009-08-12 21:00:00 1763 1
原创 reactos操作系统实现(58)
格式化磁盘主要做什么样的工作呢?根据用户选择的文件系统,把格式化的数据和分区表写到磁盘,然后判断引导分区,写入引导代码到引导分区。具代实现代码如下:#001 static ULONG#002 FormatPartitionPage (PINPUT_RECORD Ir)#003 {#004 WCHAR PathBuffer[MAX_PATH];#005
2009-08-09 09:50:00 1834 2
原创 reactos操作系统实现(57)
当分区好后,就需要选择这些分区使用什么样的文件系统,目前主要支持FAT,FAT32,EXT2,NTFS等文件系统。这些功能是通过下面的函数实现的,如下:#001 static PAGE_NUMBER#002 SelectFileSystemPage (PINPUT_RECORD Ir)#003 {#004 PDISKENTRY DiskEntry;#005
2009-08-07 20:48:00 1512
原创 reactos操作系统实现(56)
在Reactos安装过程里,会出现下面的界面,如下: 上面的界面就是创建磁盘分区显示的内容,那么这个界面下面主要做了那些工作呢?磁盘又是怎么样分区的呢?分区后的数据怎么样保存到磁盘里的呢?接着下来,就分析创建磁盘分区的代码,才能知道整个实现过程,如下:#001 static PAGE_NUMBER#002 CreatePartitionPage (PINPUT_REC
2009-08-06 21:21:00 2209
原创 reactos操作系统实现(55)
在语言选择里,倒底做了什么样的事情,让ROS系统可以选择不同的语言?ROS系统又是怎么样实现不同的语言支持的呢?#001 static PAGE_NUMBER#002 LanguagePage(PINPUT_RECORD Ir)#003 { 初始化语言列表。#004 /* Initialize the computer settings list*/
2009-08-06 00:35:00 1898
原创 reactos操作系统实现(54)
从函数RunUSetup的循环处理里,可以看到第一个应处理,就是启动页面,也就是调用函数SetupStartPage,它的代码如下:#001 /*#002 * Start page#003 * RETURNS#004 * Number of the next page.#005 */#006 static PAGE_NUMBER#007
2009-08-04 21:40:00 1705 1
原创 reactos操作系统实现(53)
在前面的代码分析里,发现创建一个线程,而这个线程运行的主函数是PnpEventThread。那么创建这个线程是用来做什么事情的呢?那就得去分析文件reactos/base/setup/usetup/interface/devinst.c里的代码,如下:#001 DWORD WINAPI#002 PnpEventThread(IN LPVOID lpParameter)#003
2009-08-03 22:55:00 1391
原创 reactos操作系统实现(52)
接着下来分析具体实现安装过程的函数RunUSetup代码,如下:#001 VOID#002 RunUSetup(VOID)#003 {#004 INPUT_RECORD Ir;#005 PAGE_NUMBER Page;#006 LARGE_INTEGER Time;#007 NTSTATUS Status;#008
2009-08-02 11:36:00 1636
原创 reactos操作系统实现(51)
从前面的分析可以知道,安装Reactos到硬盘里的过程,是由程序usetup.exe来实现的,那么下面就来分析这个程序的实现过程,了解操作系统的安装过程。打开Reactos源码的目录reactos/base/setup/usetup,就可以看到相关工程的代码。 在仔细分析代码之前,我们需要了解什么是内核应用程序。从前面可以知道ntoskrnl.exe内核运行最后,就调用应用程序uset
2009-08-01 21:38:00 2632
python抓取天气并分析 实例源码
2017-08-28
书《深度学习》
2017-03-13
国产8051模拟器
2016-09-10
tinyxml2配套源码
2016-06-27
selenium的浏览器驱动
2016-06-14
开源鸿蒙4.0不能进入桌面的补丁
2024-03-17
开源鸿蒙 4.0 RK3566开发板配置
2024-03-17
svm_hog_data.rar
2020-03-02
实现numpy的C++库扩展
2019-11-24
python web py入门配套源代码
2018-02-23
webpy演示例子1
2018-02-21
胶囊模型的代码
2018-02-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人