自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

reactos操作系统实现(16)

下面仔细分析这个函数的代码:#001 /* Switch to new kernel stack and startkernel bootstrapping */#002KiSetupStackAndInitializeKernel(&KiInitialProcess.Pcb,#003InitialThread,#004(PVOID)Init...

2008-12-30 21:55:00 142

reactos操作系统实现(15)

在ReactOS里有这么一段初始化代码,如下:#001 AppCpuInit:#002 /* Loop until we can release the freezelock */#003 do#004 {#005 /* <place w:st="on">Loop</place>until execution can cont...

2008-12-27 23:40:00 69

reactos操作系统实现(14)

下面来分析一下系统任务是怎么样初始化的,先来看这行代码:/*Setup the TSS descriptors and entries */ Ki386InitializeTss(Tss, Idt, Gdt);在这个Ki386InitializeTss函数里就是进行初始化系统任务的工作,因此要分析这个函数的代码,才可以理解系统任务的工作。#001 VOID...

2008-12-24 00:11:00 122

reactos操作系统实现(13)

从ReactOS看到下面这行代码:/*Get GDT, IDT, PCR and TSS pointers */ KiGetMachineBootPointers(&Gdt,&Idt, &Pcr, &Tss);它是代表什么意思呢?实际上是获取全局描述符表、中断描述符表、进程控制块和任务状态段的指针。那么这个函数又是怎么样实现的呢?...

2008-12-22 22:34:00 88

reactos操作系统实现(12)

有了上面的知识,就来分析ReactOS里引导任务是怎么样设置全局描述符表。其工作过程如下图所示:由于CPU初始化运行后,就当作为一个任务在运行。这里主要设置这个任务的运行保存环境,以便CPU可以交给其它任务运行,否则切换到其它任务运行后,就再也回不到这个内核任务运行了。这里先取得引导任务KiBootTss,然后设置全局描述符里的内核任务描述符,也就是KGDT_TSS这个,原先缺省都是...

2008-12-21 10:32:00 115

reactos操作系统实现(11)

中断机制发明以来,就一直成为CPU的主导地位通知机制,因为中断的高效方式,没有其它任何的方式可以取代它的。在IA-32的CPU架构里,采用了中断寄存器和中断描述符来判断中断的来源,如下图所示:在ReactOS里使用下面这行代码来设置IDTR寄存器的值:Ke386SetInterruptDescriptorTable(*(PKDESCRIPTOR)&KiIdtDescriptor...

2008-12-18 22:53:00 150

reactos操作系统实现(10)

看到下面的语句,你能看得懂吗?/*Load the GDT and IDT */ Ke386SetGlobalDescriptorTable(*(PKDESCRIPTOR)&KiGdtDescriptor.Limit);如果没有去看INTEL的文档,是看不懂的。因为它是跟INTEL的CPU架构密切相关的。现在就去解一下什么叫做全局描述符。先来看看下图的结构:...

2008-12-17 23:30:00 160

reactos操作系统实现(9)

在reactos初始化代码里,经常看到ACPI的缩写,那么它是表示什么意思呢?现在就来解决这个问题,它就是电源管理方面的。具体内容如下:Advanced Configuration and Power Management Interface  ACPI表示高级配置和电源管理接口(Advanced Configuration and Power Management Interface)。对于W...

2008-12-16 13:03:00 97

reactos操作系统实现(8)

通过上面引导程序初始化后,引导程序就把控制权交给ntoskrnl.exe运行,在内核里需要进一步初始化,这个过程大体如下:上面是最基本的流程,在这个过程里,还会调用很多函数来设置各种各样的功能。通过上面的流程,就可以了解引导CPU第一个进程,就是IdleLoop进程。...

2008-12-15 00:06:00 125

reactos操作系统实现(7)

lFreeLoader内存布局0000:0000- 0000:0FFF: 中断向量表和BIOS数据0000:1000- 0000:6FFF: 实模式的栈内存0000:7000- 0000:7FFF: 命令行 (multiboot)0000:8000- xxxx:xxxx: FreeLoader程序和数据xxxx:xxxx- 7...

2008-12-13 22:24:00 290

reactos操作系统实现(6)

硬盘引导的流程与相应源码文件名称: 引导序号 引导过程 引导执行代码位数 目标文件名称 1. 主引导代码(Master Boot Record (MBR) code),主要寻找活动分区,然后读入引导扇区代码 16位执行代码 ...

2008-12-11 22:52:00 274

reactos操作系统实现(5)

一般的电脑都是使用硬盘来引导操作系统,由于硬盘是电脑的最常用的存储媒介,在ReactOS里,它会把一个硬盘划分成如下的形式:通过安装程序把扇区引导程序写到硬盘分区引导记录扇区,然后当BIOS加电后,就会先加载硬盘的主引导扇区(MBR)并执行它,这时硬盘的主引导扇区程序就开始找到活动的分区,并加载活动硬盘分区引导记录扇区,接着活动硬盘分区引导记录扇区就开始查找硬盘分区里的...

2008-12-11 00:30:00 127

reactos操作系统实现(4)

由于近来家里的电脑坏了,老是上网就死机,也上不了网发贴。近来也是经济危机到来的时候,事情还是比较多。本来不太打算更换电脑的,等到明年电脑降价了,再去买的。但这台电脑也用了四年了,又急着想上网,就下定决心去买了一台电脑回来。当然,这次配置的电脑,就不能太差了,以往都最便宜的就买。主机至少也配置4000元的,有了这个预算之后,就开始选择配置。是选择双核,还是四核呢?比较了一下,发现我往往是编译程序比较...

2008-12-05 13:30:00 103

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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