reactos:reactos操作系统实现(83)

前面已经分析了IopInitializeDrivers过程在这个里加载注册表里指定驱动遍历了所有驱动并通过IopLoadDriver来实现加载也许你会问驱动般什么时候加载呢?其实在ReactOS里有 3种情况种是在Freeloader引导时加载内核时起加载驱动种是IopInitializeDrivers里根据注册表来加载最后种是动态地加载也即是PnP加载那么驱动到底是什么样呢?其实驱动就是个动态连... [阅读全文]

reactos:reactos操作系统实现(82)

  在I/O管理最后阶段就是加载系统所有动态连接库比如加载NTDLL动态连接库具体实现代码如下:#001  NTSTATUS#002  NTAPI#003  PsLocateDll(VOID)#004  {#005      OBJECT_ATTRIBUTES ObjectAttributes;#006      IO_STATUS_BLOCK IoStatusBlock;#007      HA... [阅读全文]

rubyonrails:Ruby 101:类和对象

虽然仅仅阅读文章也能了解Ruby语法但这样就会少很多乐趣如果你有兴趣学习Ruby我建议你还是动手试试和纯粹阅读相比亲身体验将会有另番区别感受   工欲善其事必先利其器想要体验Ruby就得花点时间配置它运行环境了目前可以选择有Ruby、IronRuby和JRuby你可以根据自己喜好/需要选择其中个其中IronRuby需要Microsoft .NET或者Mono支持而JRuby则需要JVM支持   R... [阅读全文]

reactos:reactos操作系统实现(66)

  当选择重新启动后就会进入最后阶段安装进入有界面安装这里主要通过up.exe来实现它实现代码在目录reactos\base\up\up里就可以进安装驱和系统些配置信息如下:  图片看不清楚?请点击这里查看原图(大图)  下面就是入口点代码从这里可以看到这个和前面安装是不样它是采用应用方式来运行也就是加载了几个内核DLL才能运行这个#001   WINAPI#002  _tWinMain (HIN... [阅读全文]

reactos:reactos操作系统实现(65)

激动人心时刻到了最后安装成功了会出现下面界面如下:   图片看不清楚?请点击这里查看原图(大图)  上面成功实现代码如下:#001   PAGE_NUMBER#002  SuccessPage(PINPUT_RECORD Ir)#003  {  显示成功安装信息#004      MUIDisplayPage(SUCCESS_PAGE);#005 #006       (IsUnattendedS... [阅读全文]

reactos:reactos操作系统实现(64)

  在安装个操作系统时绝大多数都是把引导安装在硬盘里下面就来了解安装到硬盘里具体过程实现代码如下:#001   PAGE_NUMBER#002  BootLoaderHarddiskPage(PINPUT_RECORD Ir)#003  {#004      UCHAR PartitionType;#005      NTSTATUS Status;#006   获取硬盘分区类型然后判断是否可以安... [阅读全文]

reactos:reactos操作系统实现(63)

  前面把注册表化完成的后就开始进行安装引导了这里安装引导是分区引导或者安装到软盘引导当然也可以选择跳过不安装它界面如下:  图片看不清楚?请点击这里查看原图(大图)  这个代码如下:#001   PAGE_NUMBER#002  BootLoaderPage(PINPUT_RECORD Ir)#003  {#004      UCHAR PartitionType;#005      BOOLE... [阅读全文]

reactos:reactos操作系统实现(62)

  当文件拷贝完成后主要就是把已经拷贝文件进行注册表登记还需要把用户在安装过程里选择配置保存到注册表同时也需要把检查到硬件保存到注册表里其实注册表就是保存些配置信息这样下次启动时就可以直接把这些信息加载到内存就行了不需要用户重新选择也不需要重新搜索硬盘配置代码如下:#001   PAGE_NUMBER#002  RegistryPage(PINPUT_RECORD Ir)#003  {#004  ... [阅读全文]

reactos:reactos操作系统实现(61)

  前面准备好文件后就需要从光盘里拷贝文件到安装目录下面就是这个过程界面:  图片看不清楚?请点击这里查看原图(大图)  实现这个过程代码如下:#001  #002  PAGE_NUMBER#003  FileCopyPage(PINPUT_RECORD Ir)#004  {#005      COPYCONTEXT CopyContext;#006   显示拷贝文件标题#007      MUI... [阅读全文]

reactos:reactos操作系统实现(60)

在拷贝文件到磁盘的前需要把压缩包文件解压然后才能拷贝文件到安装目录里它代码如下:#001   PAGE_NUMBER#002  PrepareCopyPage(PINPUT_RECORD Ir)#003  {#004      HINF InfHandle;#005      WCHAR PathBuffer[MAX_PATH];#006      INFCONTEXT CabinetsConte... [阅读全文]

reactos:reactos操作系统实现(59)

当用户安装ReactOS系统时需要选择合适安装目录同个类型操作系统可以安装多次可以选择区别目录来安装以便在同台电脑同个磁盘分区里安装区别系统如下图:  图片看不清楚?请点击这里查看原图(大图)  选择系统目录实现代码如下:#001   PAGE_NUMBER#002  InstallDirectoryPage(PINPUT_RECORD Ir)#003  {#004      PDISKENTRY... [阅读全文]

reactos:reactos操作系统实现(58)

格式化磁盘主要做什么样工作呢?根据用户选择文件系统把格式化数据和分区表写到磁盘然后判断引导分区写入引导代码到引导分区具代实现代码如下:#001   ULONG#002  FormatPartitionPage (PINPUT_RECORD Ir)#003  {#004      WCHAR PathBuffer[MAX_PATH];#005      PDISKENTRY DiskEntry;#0... [阅读全文]

reactos:reactos操作系统实现(57)

当分区好后就需要选择这些分区使用什么样文件系统目前主要支持FATFAT32EXT2NTFS等文件系统这些功能是通过下面实现如下:#001   PAGE_NUMBER#002  SelectFilePage (PINPUT_RECORD Ir)#003  {#004      PDISKENTRY DiskEntry;#005      PPARTENTRY PartEntry;#006      ... [阅读全文]

reactos:reactos操作系统实现(56)

  在Reactos安装过程里会出现下面界面如下:   图片看不清楚?请点击这里查看原图(大图)  上面界面就是创建磁盘分区显示内容那么这个界面下面主要做了那些工作呢?磁盘又是如何样分区呢?分区后数据如何样保存到磁盘里呢?接着下来就分析创建磁盘分区代码才能知道整个实现过程如下:#001   PAGE_NUMBER#002  CreatePartitionPage (PINPUT_RECORD Ir... [阅读全文]

reactos:reactos操作系统实现(55)

在语言选择里倒底做了什么样事情让ROS系统可以选择区别语言?ROS系统又是如何样实现区别语言支持呢?#001   PAGE_NUMBER#002  LanguagePage(PINPUT_RECORD Ir)#003  {  化语言列表#004      /* Initialize the computer tings list */#005       (LanguageList  NULL)#... [阅读全文]

reactos:reactos操作系统实现(54)

从RunUSetup循环处理里可以看到第个应处理就是启动页面也就是SetupStartPage它代码如下:#001  /*#002   * Start page#003   * RETURNS#004   *   Number of the next page.#005   */#006   PAGE_NUMBER#007  SetupStartPage(PINPUT_RECORD Ir)#008... [阅读全文]

reactos:reactos操作系统实现(53)

在前面代码分析里发现创建个线程而这个线程运行主是PnpEventThread那么创建这个线程是用来做什么事情呢?那就得去分析文件reactos\base\up\uup\erface\devinst.c里代码如下:#001  DWORD WINAPI#002  PnpEventThread(IN LPVOID lpParameter)#003  {#004      NTSTATUS Status;... [阅读全文]

WSRF研究--WS-ResourceProperties协议

WS-ResourceProperties协议解决了两个问题:(1)如何描述资源状态;(2)如何操作资源状态  WSRP使用资源属性文档来描述资源属性它是个代表资源属性元素逻辑组合XML文档资源属性文档是资源状态个映射并和WSDLportType相关联同时WSRP还定义了系列消息交换格式用于操作资源状态:如获取、插入和修改属性等  协议中定义如下:  Resource Property:  l  ... [阅读全文]

wsrfws协议:WSRF研究-WS-Resource协议

1.1     WSRF协议族  2002-2003年提出OGSI概念是开放网格体系结构 (OGSA : Open Grid Service Architecture[34]) 基本组件它是项基于新兴Web service标准网格软件Software基础结构标准化工作用于为 OGSA 软件Software组件提供最大互操作性其根本出发点是通过将关键网格技术和Web Services技术集成起来形成... [阅读全文]

wsrfwsrf:WSRF研究-WSRF历史

1      WSRF  1.1     WSRF介绍  1.1.1   无状态Web服务局限性  随着大规模网络技术发展特别是网格计算技术兴起极大地扩大了分布式系统规模网格是近年来逐渐兴起构建在Internet的上种新计算模式其目标是在分布式、异构、自治网络资源环境的上动态构建虚拟组织并在其内部实现跨自治域资源共享和协作满足当前复杂应用对大规模计算能力和海量数据处理等需求因此如何在分布式计算环境... [阅读全文]

reactos操作系统实现(40)

由于Reactos调度单位是线程所以它状态机就是基于线程比如进程A有5个线程进程B有2个线程总共就是12个线程来进行调度也就是把CPU时间分成12等份线程总共状态如下:#001  //#002  // Thread States#003  //#004  typedef enum _KTHREAD_STATE#005  {#006      Initialized,#007      Ready,... [阅读全文]

reactos操作系统实现(39)

到底个线程是如何样创建呢?又是如何样放到就绪队列呢?#001  NTSTATUS#002  NTAPI#003  PspCreateThread(OUT PHANDLE ThreadHandle,#004                  IN ACCESS_MASK DesiredAccess,#005                  IN POBJECT_ATTRIBUTES ObjectA... [阅读全文]

reactos操作系统实现(38)

由于Reactos是以线程为最小调度单位如果仅仅创建进程数据结构不足以运行进程任务每个进程至少需要个线程才可以运行下面就来分析系统进程线程创建代码如下:#195      /* Setup the system initialization thread */#196      Status = PsCreateThread(&SysThreadHandle,#197               ... [阅读全文]

reactos操作系统实现(37)

下面来继续分析创建进程过程如下:  保存工作集数据#070      /* Save working  data */#071      MinWs = PsMinimumWorkingSet;#072      MaxWs = PsMaximumWorkingSet;#073   创建个进程对象#074      /* Create the Object */#075      Status =... [阅读全文]

reactos操作系统实现(36)

前面分析了进程管理器化工作主要就是把进程管理器列表、对象化还有第和第 2阶段化工作接着下来我们来分析下进程创建看看进程在Reactos里是如何样创建需要什么来创建进程还有应用是如何样API来创建进程  可以从前面分析代码里看到创建第 2个进程代码如下:#196      Status = PsCreateThread(&SysThreadHandle,#197                   ... [阅读全文]

reactos操作系统实现(35)

化活动进程列表#076      /* Initialize the Active Process List */#077      InitializeListHead(&PsActiveProcessHead);#078      KeInitializeGuardedMutex(&PspActiveProcessMutex);#079   获取空闲进程列表在Reactos里系统化进程最终就是... [阅读全文]

reactos操作系统实现(34)

现在就来分析第阶段进程管理器化PspInitPhase0如下:#001  BOOLEAN#002  NTAPI#003  PspInitPhase0(IN PLOADER_PARAMETER_BLOCK LoaderBlock)#004  {#005      NTSTATUS Status;#006      OBJECT_ATTRIBUTES ObjectAttributes;#007    ... [阅读全文]

reactos操作系统实现(33)

当Reactos在系统化时就会进程管理化PsInit来进行化只有把进程管理化后才可以创建进程这样才可运行各种各样任务下面就来分析进程管理器化:#001  BOOLEAN#002  NTAPI#003  PsInit(IN PLOADER_PARAMETER_BLOCK LoaderBlock)#004  {  在参数里把系统引导参数传递进来以便根据区别配置选择区别进程管理方案#005      /... [阅读全文]

reactos操作系统实现(32)

这个主要功能就是实现访问不存在页面#001  NTSTATUS#002  NTAPI#003  MmNotPresentFault(KPROCESSOR_MODE Mode,#004                             ULONG_PTR Address,#005                             BOOLEAN FromMdl)#006  {#007  ... [阅读全文]

reactos:reactos操作系统实现(31)

下面来分析保存数据时缺页中断它代码如下:#001  NTSTATUS#002  NTAPI#003  MmpAccessFault(KPROCESSOR_MODE Mode,#004                    ULONG_PTR Address,#005                    BOOLEAN FromMdl)#006  {#007     PMM_AVL_TABLE A... [阅读全文]
< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 > >> 共1605条 分54页