Windows内核中的CPU架构-8-任务段TSS(task state segment) 任务段tss(task state segment)是针对于CPU的一个概念. 举一个简单的例子,你一个电脑,肯定是同时会运行多个程序把,比如说QQ,微信,LOL.哪我们知道每个进程的内容是不一样的,那么,这个时候如果说只有一块CPU,这个CPU肯定不能只执行一个进程吧,不然这么多个程序就得卡死了,等LOL打完才能进行微信视频聊天,这样对很多和女朋友视频的男生非常不友好吧.就CPU肯定是会切换的,这里的t…
Windows内核中的CPU架构-6-中断门(32-Bit Interrupt Gate) 中断门和调用门类似,也是一种系统段.同样的它也可以用来提权. 中断门: 虽然中断门的段描述符如下: 但是中断门其实也就是段描述的一种.只不过有稍微区别,并且和调用门的段描述符类型非常相似. 中断门和调用门的区别: 这里将调用们的段描述符拿来对比下: 可以看到大致的结构是相同的,只不过 高32位的0-4位作为了一种保留位,采用0填充. 而Type位和段描述符中的s位采用了固定的值.其实这个就拿标准段描述符拿…
Windows内核中的CPU架构-7-陷阱门(32-Bit Trap Gate) 陷阱门和中断门几乎是一模一样的: (注:图里高32位中的第11位的值为D,其实是1) 除了高32位中的type字段的内容不一样: 陷阱门的值为15,中断门的值为14. 陷阱门和中断门的区别: 陷阱门和中断门只有一个唯一的区别,其它的包括调用方式都是一模一样. 唯一区别:通过中断门进入中断服务程序时CPU会字段将中断关闭,也就是把CPU中EFLAG寄存器中的IF标志位复位,来防止嵌套中断的发生.而通过陷阱门进入中断服…
02全志r58平台Android4.4.4下关闭内核中的CPU的开启关闭提示 2017/8/18 13:53 版本:V1.0 开发板:SC5806(全志R58平台) SDK:android4.4.4 1.系统编译:(略) 原始编译的系统,在串口中会有很多打印:(并且还是不停的显示打印!) [ 3277.071614] CPU1: shutdown [ 3277.534023] CPU2: shutdown [ 3277.080857] CPU1: Booted secondary process…
内存管理的要点 内核内存是在虚拟地址空间的高2GB位置,且由所有进程所共享,进程进行切换时改变的只是进程的用户分区的内存 驱动程序就像一个特殊的DLL,这个DLL被加载到内核的地址空间中,DriverEntry和AddDevice例程在系统的system进程中运行,派遣函数会运行在应用程序的进程上下文中所能访问的地址空间是这个进程的虚拟地址空间利用_EPROCESS结构可以查看该进程的相关信息 当程序的中断级别在DISPATCH_LEVEL之上时,必须使用非分页内存,否则会造成系统蓝屏,在编译W…
转自:http://blog.chinaunix.net/uid-12461657-id-3487463.html 原文地址:Linux内核中的中断栈与内核栈的补充说明 作者:MagicBoy2010 中断栈与内核栈的话题更多地属于内核的范畴,所以在<深入Linux设备驱动程序内核机制>第5章“中断处理”当中,基本上没怎么涉及到上述内容,只是在5.4节有些许的文字讨论中断栈在中断嵌套情形下可能的溢出问题. 本贴在这个基础上对内核栈与中断栈的话题做些补充,讨论基于x86 32位系统,因为64位系…
1)用VS2010新建Win32 Console Application,工程名为ACECore,工程建立完成后得到打开文件ACECore.cpp,代码如下: #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { return 0; } 2)用VS2010查看汇编代码的方法: 1. VC必须处于debug状态才能看到汇编指令窗口.因此在上面代码return 0一句上设置断点. 2.按下F5键调试程序,当程序停在断点处时,打…
纤程 纤程(fiber): 相当于用户级别的线程或轻进程.纤程由Win32库函数支持,对核心是不可见的.纤程可以通过SwitchToFiber显示至另一合作纤程,以实现合作纤程之间的协同.线程是在Windows内核中实现的,纤程是在用户模式下实现的,内核对纤程一无所知,内核会根据我们定义的算法来对纤程进行调度.一个线程可以包含一个或多个纤程. 与纤程有关的函数: 要使用纤程,首先要做的就是把当前线程转换为纤程: PVOID ConvertThreadToFiber(PVOID pvParam);…
[toc] 一丶简介 整理一下windows内核中.常用的代码.这里只整理下进程的相关代码. 二丶 windows内核之遍历进程 内核中记录进程的结构体是EPROCESS结构.所以只需要遍历这个结构即可.标准方法可以使用ZwQuerySystemInformation函数.使用SystemProcessInformation功能号. 另外也有很多种枚举进程的方法比如找到EPROCESS结构进行枚举的.(CPU结构体 KPCR)等等.不过兼容性都是不太好.另一种方法是枚举句柄表 PspCidTab…
Windows内核开发-6-内核机制 Kernel Mechanisms 一部分Windows的内核机制对于驱动开发很有帮助,还有一部分对于内核理解和调试也很有帮助. Interrupt Request Level 中断请求级别 Deferred Procedure Calls(DPC) 延迟调用 Asynchronous Procedure Calls(APC) 异步调用 Structured Exception Handling 异常处理 System Crash 系统崩溃 Thread S…