摘要:硬件及系统软件GPUDirectx版本布局尽量减少重新布局次数布局发生的原因向集合中添加了一个子对象。向子对象应用了LayoutTransform。为子对象调用了UpdateLayout方法。用影响测量或排列过程的元数据进行了标记的依赖项属性的值发生更改。使用高效的布局Panel 如canvas, ...
阅读全文
摘要:接触过一些源码,SharpDevelop,ILSpy,Eclipse,Tracd等,感觉想深入的理解一个软件框架,还是有必要是阅读其源码。我个人认为阅读源码比较有效的方法。找一些相关资料大致了解下软件软件的整体架构软件的目录结构软件的优势劣势这一步只是大概的了解,不需要深入搭建调试环境跟踪其框架建立...
阅读全文
摘要:Linux源码学习(7) 2013-3-1空间内存管理Memory.c主要用于内存分页管理。实现对主内存页面的动态分配和回收Linux通过一个字节数组来管理所有的物理页面。每个字节用来表示其对应的物理页面被占用的次数1.invalidate宏:通过重新赋值CR3寄存的方法使CPU缓存的页表数据刷新。...
阅读全文
摘要:内存管理(1)基本概念:1.逻辑地址:即代码中的偏移地址+段选择子2.线性地址:通过段选择子从GDT中获取的段基地址+代码中的偏移地址3.物理地址:通过分页机制转换而来的实际地址4.页面无效错误:当程序访问的页面对应的物理页面不存在时,CPU产生此异常5.写时复制:多个进程在共享代码段,数据段时,整...
阅读全文
摘要:main.c由于其中涉及比较复杂的初始化工作。所以先阅读初始化相关的部分收藏于 2013-02-27来自于百度空间文章有问题?点击这里反馈给我们
阅读全文
摘要:Head.sHead.s在生成目标文件以后会和内核其他程序一起链接成System模块,并且位于System模块最开始部分,所以叫HeadHead.s过程1.重新设置中断描述符表和全局描述符表2.检测20位以上地址是否可用。通过比较1M地址以上的内容和0开始的内容是否一致3.判断是否有数字协处理器,并...
阅读全文
摘要:Setup.s的过程1.利用Rombios中断读取系统硬件信息并存储到0x90000位置即原来bootsect.s的位置2.将System模块从0x10000位置移到0x00000处3.加载IDTR和GDTR4.开启A20地址线5.重新设置8259A的中断向量,将0x00~0x0f设置成0x20~0...
阅读全文
摘要:系统引导程序Boot,包括3个文件bootsect.s,head.s,setup.sBootsect.s过程(引导扇区)1.将自身从地址0x7c00移动到0x90000,共512字节,然后跳转到地址0x90000执行2.读取位于磁盘第二个到第四个扇区的Setup.s,并加载到0x90200地址3.获...
阅读全文
摘要:1.BIOS启动过程自检复制到BIOS影子区到0xF0000,并跳转到此处执行进入实模式加载操作系统引导程序到0x7c00,并将控制权交给引导程序收藏于 2013-02-21来自于百度空间文章有问题?点击这里反馈给我们
阅读全文
摘要:框架启动位于org.eclipse.osgi_插件中,入口为org.eclipse.core.runtime.adaptor.EclipseStarter.run(String[]args,RunnableendSplashHandler)其中最主要的方法是Startup方法,其主要功能:1.初始化...
阅读全文
摘要:Eclipse启动之三启动器插件空间启动插件名为org.eclipse.equinox.launcher.,入口类org.eclipse.core.launcher.main.它是Eclipse虚拟机启动的最早的插件main整体流程:1.处理命令行参数2.设置虚拟机属性3.处理配置4.获取安装路径5...
阅读全文
摘要:动态库中的主要实现文件是:eclipse.c其主要功能定位启动Java虚拟机和显示Splash窗口(暂未用,通过在org.eclipse.equinox.launcher.Main中调用来显示)java虚拟机定位算法:1.从-vm参数所指定的文件或目录中查找2.如果没有指定-vm参数,程序会寻找Ec...
阅读全文
摘要:当用户双击Eclipse.exe文件时,先进入到外壳程序。外壳程序的主要作用是读取配置文件,加载动态库和调用动态库函数源代码位于Plugin/org.eclipse.platform.source_xxx/launchersrc.zip压缩包中如果没有此文件夹,则可以从org.eclipse.pla...
阅读全文