
学习笔记
flukeshen
这个作者很懒,什么都没留下…
展开
-
Windows内核神功葵花宝典之系统调用篇
用户态进入系统态有以下几种方式: 中断(Interrupt)。在允许中断的情况下,有外部设备的中断请求到达,CPU自动转入系统空间,并从预定地址执行指令。中断只发生在两条指令之间,不会打断正在执行的指令。对CPU而言,进入中断是被动的,所以中断的发生可以看作是“异步”的。 异常(Exception)。不管是用户空间或系统空间,执行指令失败都会引起一次“异常”,CPU因此转入系统空间,并...原创 2019-03-09 16:19:30 · 883 阅读 · 0 评论 -
科锐课堂笔记:2017/5/3 数据结构基本概念
科锐课堂笔记:2017/5/3 数据结构基本概念原创 2017-05-04 09:05:09 · 522 阅读 · 0 评论 -
科锐课堂笔记:2017/4/20 抽象类
科锐课堂笔记:2017/4/20 抽象类原创 2017-04-21 10:07:44 · 398 阅读 · 0 评论 -
科锐课堂笔记:2017/4/19 虚函数
科锐课堂笔记:2017/4/19 虚函数原创 2017-04-19 23:43:49 · 410 阅读 · 0 评论 -
科锐课堂笔记:2017/4/6 函数默认参数与内联
科锐课堂笔记:2017/4/6 函数默认参数与内联原创 2017-04-06 21:10:34 · 364 阅读 · 0 评论 -
科锐课堂笔记:2017/4/14 重载new、delete和引用计数
科锐课堂笔记:2017/4/14 重载new、delete和引用计数原创 2017-04-15 17:20:26 · 420 阅读 · 0 评论 -
科锐课堂笔记:2017/4/18 类继承
科锐课堂笔记:2017/4/18 类继承原创 2017-04-19 10:17:20 · 509 阅读 · 0 评论 -
科锐课堂笔记:2017/4/5 输入输出
科锐课堂笔记:2017/4/5 输入输出原创 2017-04-06 09:55:58 · 438 阅读 · 0 评论 -
科锐课堂笔记:2017/4/13 运算符重载与友元
科锐课堂笔记:2017/4/13 运算符重载与友元原创 2017-04-14 00:10:24 · 373 阅读 · 0 评论 -
科锐课堂笔记:2017/4/12 单例模式与运算符重载
科锐课堂笔记:2017/4/12 单例模式与运算符重载原创 2017-04-13 01:02:43 · 535 阅读 · 0 评论 -
科锐课堂笔记:2017/4/4 初识C++
科锐课堂笔记:2017/4/4 初识C++原创 2017-04-05 00:42:19 · 1192 阅读 · 0 评论 -
科锐课堂笔记:2017/4/21 多重继承与智能指针
科锐课堂笔记:2017/4/21 多重继承与智能指针原创 2017-04-23 15:54:15 · 674 阅读 · 0 评论 -
科锐课堂笔记:2017/4/24 文件操作
科锐课堂笔记:2017/4/24 文件操作原创 2017-04-25 10:09:46 · 544 阅读 · 0 评论 -
科锐课堂笔记:2017/4/25 异常
科锐课堂笔记:2017/4/25 异常原创 2017-04-26 10:46:15 · 397 阅读 · 0 评论 -
深入解析Windows操作系统(笔记9)
I/O管理器创建一个IRP(I/O request packet)来代表一个I/O操作,并且将该IRP传递给正确的驱动程序。同时,I/O管理器中也提供了许多其他驱动程序都会使用到的通用的例程。 如果一个驱动程序需要应用程序能够打开该设备对象,必须在\Global??(Win2K中为\??)目录中创建一个符号链接,并且使它指向\Device目录中的该设备对象的名称。 快速I/O是一种特...原创 2019-02-01 21:51:27 · 351 阅读 · 0 评论 -
深入解析Windows操作系统(笔记7)
32位的应用程序,开启大地址空间标志的情况下,在64位Windows系统可用4GB的内存空间(32位系统上最多达3G)。 内存管理器是Windows执行体的一部分(位于Ntoskrnl.exe中),主要由: 一组执行体系统服务,负责分配、释放和管理虚拟内存; 提供内存管理异常中的,转译无效陷阱处理器,以及访问错误陷阱处理器; 工作集管理器(优先级16),驻留在物理内存的部分称...原创 2019-01-17 21:00:06 · 2419 阅读 · 0 评论 -
深入解析Windows操作系统(笔记6)
一个EPROCESS块表示一个进程,位于系统空间,但EPB(环境进程块)位于用户空间中,因为其中有些信息需要用户模式的代码来修改。 EPROCESS的第一个成员为KPROCESS(内核进程块),内核进程块中存放着与调度有关的信息。 与进程有关的内核变量: PsActiveProcessHead 进程块的列表头 PsIdleProcess 空闲(Idle)进程块 PsIni...原创 2019-01-12 13:26:25 · 424 阅读 · 0 评论 -
深入解析Windows操作系统(笔记5)
x86引导过程: 每个硬盘可以包含多达4个主分区,每个主分区内最多可分配4个额外的分区(扩展分区),扩展分区又可以包含扩展分区,所以扩展分区的数量是没有限制的。 引导过程中涉及的组件: 主引导纪录(MBR,Master Boot Record)代码 读入和加载分区的引导扇区 引导扇区 读入根目录,加载Ntldr Ntldr 读入Boot.ini,加载Ntoskrnl.exe...原创 2019-01-06 23:26:16 · 382 阅读 · 0 评论 -
深入解析Windows操作系统(笔记4)
注册表是一个数据库,其结构类似于磁盘卷的结构。注册表6个根键中其实有3个根键是REG_LINK类型的符号链接。 HKEY_CURRENT_USER,包含当前本地登陆用户的参数和软件配置有关的数据,文件位于\Document and Setting\用户名\Ntuser.dat中。这是一个链接,指向HKEY_USERS下该用户的子键。 HKEY_USERS,为系统中每个加载的用户轮廓和用...原创 2019-01-06 14:46:01 · 566 阅读 · 3 评论 -
深入解析Windows操作系统(笔记2)
Windows内核模式组件有:Windows执行体(executive)、Windows内核(kernel)、设备驱动程序(device drivers)、硬件抽象层(HAL)、窗口和图形系统(User32.dll及Gdi32.dll的内核实现)。 其中执行体在最上层,提供基本的操作系统服务,由中层的内核与驱动程序所支持,最下层为硬件抽象层隔离平台硬件差异。窗口和图形系统移进内核是当时为了...原创 2019-01-01 12:51:55 · 2328 阅读 · 0 评论 -
深入解析Windows操作系统(笔记1)
Windows NT和Window 95的差异比较,NT在性能上支持多处理器,支持访问安全性,纯32位代码,程序地址空间保护。总而言之Windows 95除了是从16位代码发展而来,可以完全兼容运行DOS时代的程序,其他方面都没有任何优势。(哎,现在的脚本小孩们有谁用过Win95和DOS呢,本书还提及了当时代号为“Longhorn”下一代Windows系统,就是后来惨败的Vista,不得不说时...原创 2018-12-31 20:25:32 · 1675 阅读 · 0 评论 -
深入解析Windows操作系统(笔记3)
Windows提供的机制有: 陷阱分发,包括中断、延迟过程调用、异步过程调用、异常分发,以及系统服务分发; 执行体对象管理器; 同步,包括自旋锁、内核分发器对象,以及等待是如何实现的; 系统辅助线程; 其他的机制,如Windows全局标志; 本地过程调用; 内核事件追踪; Wow64。 dt nt!_ktrap_frame查看陷阱帧(trap frame)...原创 2019-01-04 22:37:26 · 1313 阅读 · 0 评论 -
科锐课堂笔记:2017/5/9 树、二叉树
科锐课堂笔记:2017/5/9 树、二叉树原创 2017-05-10 09:02:48 · 516 阅读 · 0 评论 -
科锐课堂笔记:2017/5/8 栈和队列
科锐课堂笔记:2017/5/8 栈和队列原创 2017-05-09 09:58:13 · 361 阅读 · 0 评论 -
科锐课堂笔记:2017/4/11 类的const与static
科锐课堂笔记:2017/4/11 类的const与static原创 2017-04-12 12:39:09 · 410 阅读 · 0 评论 -
科锐课堂笔记:2017/3/15 数组指针与指针数组
科锐课堂笔记:2017/3/15 数组指针与指针数组原创 2017-03-15 19:14:46 · 349 阅读 · 0 评论 -
科锐课堂笔记:2017/4/10 构造函数与析构函数
科锐课堂笔记:2017/4/10 构造函数与析构函数原创 2017-04-10 22:58:50 · 372 阅读 · 0 评论 -
科锐课堂笔记:2017/3/17 结构体
科锐课堂笔记:2017/3/17 结构体原创 2017-03-19 21:53:19 · 469 阅读 · 0 评论 -
科锐课堂笔记:2017/3/16 二级指针与函数指针
科锐课堂笔记:2017/3/16 二级指针与函数指针原创 2017-03-16 20:20:31 · 403 阅读 · 0 评论 -
科锐课堂笔记:2017/3/8 内存结构与变量作用域
科锐课堂笔记:2017/3/8 内存结构与变量作用域原创 2017-03-08 16:20:33 · 380 阅读 · 0 评论 -
科锐课堂笔记:2017/3/7 数组续篇
科锐课堂笔记:2017/3/7 数组续篇原创 2017-03-07 19:52:42 · 392 阅读 · 0 评论 -
科锐课堂笔记:2017/2/27 IDE环境使用与switch实现机制
科锐课堂笔记:2017/2/27 IDE环境使用与switch实现机制原创 2017-02-27 20:14:24 · 469 阅读 · 0 评论 -
科锐课堂笔记:2017/3/2 函数调用约定
科锐课堂笔记:2017/3/2 函数调用约定原创 2017-03-02 23:57:01 · 617 阅读 · 0 评论 -
科锐课堂笔记:2017/2/28 循环相关
科锐课堂笔记:2017/2/28 循环相关原创 2017-02-28 23:59:21 · 831 阅读 · 0 评论 -
科锐课堂笔记:2017/2/22 进制转换与编码
科锐课堂笔记:2017/2/22 进制转换与编码原创 2017-02-22 16:00:41 · 539 阅读 · 0 评论 -
科锐课堂笔记:2017/2/21 基础知识
科锐课堂笔记:2017/2/21 基础知识原创 2017-02-22 15:49:04 · 771 阅读 · 0 评论 -
COM学习笔记(二)
扯点闲话,上一篇COM学习笔记(一)是基于爱民大师的《COM原理与应用》,学到中间顿感山路有点弯。经网友推荐转看世界大作《COM技术内幕》(Dale Rogerson著,杨秀章译),引用网友的话大概是说如果所有技术方面的书籍都像《COM技术内幕》这样写,那么掌握它们就没有那么难了。爱民大师除了翻译外,自著书越看越像概括整理的实验论文,国内顶尖大师尚且如此,叫我不得不崇洋媚外了。至于是大家没有能力水平写不出,还是其他原因不愿那样写,没心思去追究了,好好做我的学习笔记吧。原创 2017-01-10 09:52:39 · 532 阅读 · 0 评论 -
科锐课堂笔记:2017/3/20 项目文档和位运算
科锐课堂笔记:2017/3/20 项目文档和位运算原创 2017-03-20 18:18:57 · 584 阅读 · 0 评论 -
COM学习笔记(一)
COM对象跟C++对象比,它只提供接口给外部调用,具有完全严格的封装性;再者C++只是源码层上的重用,COM则在二进制层上建立了统一规范,把接口定义(IDL语言描述,可用工具转换成C/C++头文件或其他语言支持的格式)与接口实现分离,真正地实现了与编程语言无关的程序重用。COM的具体实现可以是DLL、OCX,也可以是EXE程序。COM的调用可以在进程内、进程间或网络主机间原创 2016-12-26 16:04:40 · 674 阅读 · 0 评论 -
科锐课堂笔记:2017/3/6 一维数组与多维数组
科锐课堂笔记:2017/3/6 一维数组与多维数组原创 2017-03-07 14:25:48 · 366 阅读 · 0 评论