鱼C论坛

 找回密码
 立即注册
分享 Windows内核学习-采用ReactOS源码(5)
2014-11-11 23:08
_KiSystemService() _KiSystemService()是所有的系统调用入口函数。对应于中断向量0x2e。所以,当中间函数执行int 0x2e时,CPU就进入系统空间中的这个函数。 进入系统空间时,CPU自动将下列信息压入系统空间堆栈: ①用户空间的堆栈位置,包括SS和ESP的内容 ②EFLAGS的内容 ③用户空间指令位置,包括C ...
个人分类: Windows|862 次阅读|0 个评论 热度 2
分享 Windows内核学习-采用ReactOS源码(4)
2014-11-6 22:51
Windows内核学习-采用ReactOS源码(4)
上面一会说到CPU对中断向量表的格式有特殊要求。在Intel的资料里面叫做“门描述项”(Gate Descriptor),每个描述项占8个字节。如图 虽然图中都是英文,我想也不难看懂是吧。如果我们把它看作一个64位无符号整数,那么最低16位和最高16位合起来成为一个32位的位移。由于段寄存器是按线性地址设置的,这32位的位 ...
个人分类: Windows|742 次阅读|0 个评论
分享 大陆台湾计算机术语对照表
2014-10-25 18:29
英语 台灣 大陆 adapter 配接器 适配器 register 暂存器 寄存器 algorithm 演算法 算法 argument 引數 参数 array 陣列 数组 binding 系結 绑定 bit 位元 位 boolean 布林值 布尔值 byte 位元組 字节 cache 快取 缓存 call 呼叫 调用 callback 回呼 回 ...
个人分类: 鱼C日志|853 次阅读|0 个评论 热度 3
分享 Windows内核学习-采用ReactOS源码(3)
2014-10-25 17:02
KiIntSystemCall()函数和 KiFastSystemCall()的 代码是由几段汇编组成的。 首先看KiIntSystemCall的汇编代码: PUBLIC _KiIntSystemCall@0 .PROC _KiIntSystemCall@0 FPO 0, 0, 0, 0, 0, FRAME_FPO /* 使EDX指向堆栈参数块的七起点并执行中断 */ l ...
个人分类: Windows|737 次阅读|0 个评论 热度 2
分享 Windows内核学习-采用ReactOS源码(2)
2014-10-23 23:48
Windows内核学习-采用ReactOS源码(2)
1、内核与系统调用基础 对于应用程序进程来说,操作系统内核的作用体现在一组可供调用的函数,称为系统调用(也成"系统服务")。 从程序运行的角度来看,进程是主动、活性的,是发出调用请求的一方;而内核是被动的,只是应进程要求而提供服务。从整个系统运行角度看,内核也有活性的一面,具体体现在进程调 ...
个人分类: Windows|1106 次阅读|0 个评论 热度 2
分享 Windows内核学习-采用ReactOS源码(1)
2014-10-22 23:03
我前面打了好多,不小心弄没了。就不想再打了。从这里开始吧。 1. Windows系统概述 CPU访问系统空间的途径: 系统调用 中断 异常 在线程调度/切换中有两种模式。一种为剥夺式(Preemptive),即只要有优先级更高的线程就绪,优先级较低的线程就得让路;另一种是“非剥夺式”(Non-preemptive) ...
个人分类: Windows|914 次阅读|0 个评论 热度 2
分享 基于OpenCV的ViBe算法,下午写的,但愿不太糟糕
2014-7-15 21:12
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ...
个人分类: 鱼C日志|1073 次阅读|0 个评论 热度 1
分享 std::sort比较
2014-5-14 22:38
评测代码 tracer.hpp #include iostream class SortTracer { private: int value; // integer value to be sorted int generation; // generation of this ...
个人分类: 鱼C日志|427 次阅读|0 个评论 热度 1
分享 nullptr_t测试
2014-4-10 14:32
代码如下 #include cstddef #include iostream void f(int* pi) { std::cout "Pointer to integer overload\n"; } void f(double* pd) { std::cout "Pointer to double overload\n"; } void f(std::nullptr ...
443 次阅读|0 个评论 热度 1
分享 我成功AC的头一个DP
2014-2-20 22:52
我很久以前就开始做我们学校OJ上面的题。做到1003的时候还兴致勃勃地学习了背包问题。那是去年的一个秋天,我改了许久,终于出正确答案了。交上去。。。Wrong Answer。再次改了,仍然WA。现在重新改正并且成功提交了。 这是 题目链接 。打开1003题即为这道背包问题。 我的代码如下: #includeiostream ...
个人分类: 鱼C日志|472 次阅读|0 个评论 热度 3
12下一页

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 13:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部