参考资料: 1. <Windows Internals> 2. Fibers 知识点: ● 当一个进程在系统上启动时,内核将创建一个进程对象来代表它,并执行各种内核相关的初始化任务.然而,这些任务不会真正执行应用,而只是进行上下文和环境的准备工作.应用程序不像驱动(内核模式),它执行在用户模式下.因此,大部分初始化工作实际上都是在内核外完成的,且该工作是由Image Loader(Ldr)执行的. ● Image Loader存在于用户模式下的系统DLL Ntdll.dll中,而不在内核库中.…
参考资料: 1. <Windows Internals> 知识点: ● 当一个进…
参考资料: 1. <Windows Internals> 2. Dependency Walker 3. Ntoskrnl.exe 4. Livekd的使用 5. WinDbg的使用(一) 6. WinDbg的使用(二) Now, let's delve into the internal structure & the role each key OS component plays at the high-level achitecture. ^-^ 知识点: ● 先上图,下图是w…
参考资料: 1. <Windows Internals> 2. 自旋锁spinlock剖析与改进 3. Lock指令前缀 4. Lock指令前缀(二) 5. Kernel Dispatcher Objects 6. Windows同步机制原理 知识点: ● Interlocked Operations:最简单的同步机制,基于硬件对安全多处理器整数操作的支持,包括:InterlockedIncrement.interlockedDecrement.InterlockedExchange和Inte…
参考资料: 1. <Windows Internals> 知识点: ● 陷阱trap:它是一种处理器机制,用以在某一异常或中断出现时,捕捉该执行线程,并将其控制权转交到操作系统中某一固定位置.在Windows中,处理器将控制权转交到一个trap handler(一个针对特定中断或异常的函数). ● 一个中断是一个异步的事件,它与正执行的处理器无关.主要由I/O设备.处理器和时钟触发,且可以打开或关闭. ● 一个异常属于一种同步的情况,通常是由于执行某一特殊执行而触发的. ● 内核将系统服务调用…
参考资料: 1. <Windows Internals> 2. http://bestcbooks.com 3. Windows Drive Kit 4. Microsoft Windows SDK 5. WDK下载地址 6. Windows内核模式和用户模式 知识点: 1. 用户模式下的四种基本进程类型: ● Fixed (or hardwired) system support processes, Such as the logon process & the session m…
参考资料: 1. <Windows Internals> 2. Windows Drive Kit 3. Microsoft Windows SDK 4. WDK下载地址 知识点: 1. Windows Drive Kit(WDK)是微软提供的用于Windows平台的设备驱动软件开发工具集.它包括:文档.实例.Build环境和为驱动开发人员提供的开发工具.早期,它以Windows Driver Development Kit(DDK)闻名,支持Windows Driver Model(WDM)…
参考资料: 1. 下载地址 2. 使用示例…
Qt Model/View 学习笔记 (七) Delegate  类 概念 与MVC模式不同,model/view结构没有用于与用户交互的完全独立的组件.一般来讲, view负责把数据展示 给用户,也处理用户的输入.为了获得更多的灵性性,交互通过delegagte执行.它既提供输入功能又负责渲染view中的每个数据项. 控制delegates的标准接口在QAbstractItemDelegate类中定义.Delegates通过实现paint()和sizeHint()以达到渲染内容的目的.然而,简…
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS forRobotics Programming Second Edition学习笔记(七)indigo PCL xtion pro live indigo PCL例子以及xtionpro live pcl --$ rosrunchapter6_tutorials pcl_create --$ rviz --$ roscdchap…