Windows中断那些事儿】的更多相关文章

搞内核研究的经常对中断这个概念肯定不陌生,经常我们会接触很多与中断相关的术语,按照软件和硬件进行分类: 硬件CPU相关: IRQ.IDT.cli&sti 软件操作系统相关: APC.DPC.IRQL 一直以来对中断这一部分内容弄的一知半解,操作系统和CPU之间如何协同工作也是很模糊.最近花了点时间认真把这块知识进行了梳理,不当之处,还请高手指出,先行谢过了! 本文旨在解答下面这些问题: 1.IRQ和IRQL之间是什么关系? 2.Windows是如何在软件层面上虚拟出IRQL这套中断机制的 3.A…
只谈外部中断的windows内核管理,异常和trap不在此文的讨论之列. 1. windows中断总貌 在windows中,物理上的中断源被抽象为KINTERRUPT结构.一个中断源在windows中对应一个KINTERRUPT数组,数组的长度为CPU的个数,如果是单核系统,那么这个数组长度为1.先分析KINTERRUPT结果. windows存储了IDT(Interrupt Descriptor Table),这张表是一个数组结构,数组的下标是Vector号(此Vector不是PIC/APIC…
问题:window下当成功登录到samba服务器上的共享的目录的时候,若要是再系想登录此服务器上另外一个共享目录时,会弹出登录窗口. 但是不管输入的用户名和密码对错都会提示. “不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接.中断与此服务器或共享资源的所有连接,然后再试一次” 解决:   可使用以下命令断掉已有连接(开始 -> cmd) net use * /del /y   #回车后显示一下内容 您有以下的远程连接:   \\192.168.1.50\IPC$ 继续运行会取消…
问题:window下当成功登录到samba服务器上的共享的目录的时候,若要是再系想登录此服务器上另外一个共享目录时,会弹出登录窗口. 但是不管输入的用户名和密码对错都会提示. “不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接.中断与此服务器或共享资源的所有连接,然后再试一次” 解决:   可使用以下命令断掉已有连接(开始 -> cmd) net use * /del /y   #回车后显示一下内容   继续运行会取消连接.   命令成功完成.…
声明:代码及博客小白一枚,如有错误,感谢指正~~ 众所周知,摘抄来温习一遍: Tensorflow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库.节点(Nodes)在图中表示数学操作,图中的线(edges)表示在节点间相互联系的多维数据数组,即张量(tensor). 1)架构灵活 2)支持多种平台 Windows安装: 1)当前tensorflow支持python 3.5(64位)版本,所以安装python 3.5(64位) 2)安装PyCharm(由Jet…
探索调试器下断点的原理 在Windows上做开发的程序猿们都知道,x86架构处理器有一条特殊的指令——int 3,也就是机器码0xCC,用于调试所用,当程序执行到int 3的时候会中断到调试器,如果程序不处于调试状态则会弹出一个错误信息,之后程序就结束.使用VC开发程序时,在Debug版本的程序中,编译器会向函数栈帧中填充大量的0xCC,用于调试使用.因此,经常我们的程序发生缓冲区溢出时,会看到大量的“烫烫烫…”,这是因为“烫”的编码正是两个0xCC. 那么?为什么int 3可以让程序中断到调试…
测试 5.2 windows 中断与异常 1.外部硬件中断是通过处理器上的中断引脚管或者本地APIC的内置模块来发生的:对于一个处理器,一旦被中单, 某个预先被设定的中断服务例程就被执行! 2.处理器的内部的IDTR寄存器记录着IDT的位置和它的最大限制,IDTR寄存器为48位. 每个中断描述符号是8字节(共64位)对于 软中断的情形,可避免低特权的代码通过软中断的形式 去执行关键的异常或中断处理的代码! 3. APC_LEVEL 一个线程插入一个APC可以打断该线程 DISPATCH_LEVE…
继续学习windows 中和线程有关系的数据结构: ETHREAD.KTHREAD.TEB 1. 相关阅读材料 <windows 内核原理与实现> --- 潘爱民 2. 数据结构分析 我们知道,windows内核中的执行体层负责各种与管理和策略相关的功能,而内核层(微内核)实现了操作系统的核心机制.进程和线程在这两层上都有对应的数据结构.我们先从执行体层的ETHREAD开始. 一.  ETHREAD ETHREAD(执行体线程块)是执行体层上的线程对象的数据结构.在windows内核中,每个进…
ETHREAD APC <寒江独钓>内核学习笔记(4) 继续学习windows 中和线程有关系的数据结构: ETHREAD.KTHREAD.TEB 1. 相关阅读材料 <windows 内核原理与实现> --- 潘爱民 2. 数据结构分析 我们知道,windows内核中的执行体层负责各种与管理和策略相关的功能,而内核层(微内核)实现了操作系统的核心机制.进程和线程在这两层上都有对应的数据结构.我们先从执行体层的ETHREAD开始. 一.  ETHREAD ETHREAD(执行体线程…
异常机制简介 当CPU运行到一些非法的指令,例如除零错误,访问内存页失败等指令,CPU会生成一个硬件异常,不同的异常有固定的异常代码作为标识符,异常产生以后CPU暂时不能继续执行后续的指令—因为后续的指令有可能也是无效的.当然不能让整个计算机系统就这么当掉,因此CPU内置了一个异常处理表—这个异常处理表只有运行在内核模式的代码才能访问,操作系统在启动的时候初始化这个异常处理表,为每一个异常注册一个异常处理程序,因此这个表看起来就像: 0xC0000005 AccessViolationExcep…
原文链接地址:http://blog.csdn.net/Donjuan/article/details/3859160 在现在C++.Java..Net代码大行其道的时候,很多代码错误(Bug)都是通过异常的形式表现出来的.由于工期紧或者种种原因,很多程序员在碰到程序发生未处理的异常的第一反应就是try - catch (Exception e) { - }.然而代码开发到后期的时候,这种简单粗暴的解决代码错误(Bug)的方式就会在其他不相干的地方表现出来,有的时候甚至导致程序随机的不稳定,而且…
一.中断机制 1.实现中断响应和中断返回 当CPU收到中断请求后,能根据具体情况决定是否响应中断,如果CPU没有更急.更重要的工作,则在执行完当前指令后响应这一中断请求.CPU中断响应过程如下:首先,将断点处的PC值(即下一条应执行指令的地址)推入堆栈保留下来,这称为保护断点,由硬件自动执行.然后,将有关的寄存器内容和标志位状态推入堆栈保留下来,这称为保护现场,由用户自己编程完成.保护断点和现场后即可执行中断服务程序,执行完毕,CPU由中断服务程序返回主程序,中断返回过程如下:首先恢复原保留寄存…
[译]我是如何将GTA在线模式的加载时间缩短70%的 译注: 最近在网上发现了一篇有意思的文章, 一个国外大神受不了GTA5在线模式的加载时间, 一怒之下反汇编了GTA5的源码, 并最终发现了问题的原因是因为R星写了一段非常烂的代码来读取JSON! 随后大神制作了优化补丁将加载时间缩短了70%, 并开源在GITHUB上! 他将从定位问题, 分析问题, 到解决问题的完整过程记录下来写成了一篇干货满满的技术文章. 文章用词幽默, 充满了对R星的吐槽, 一经发出很快登上了HackerNews的排行榜,…
今天在登录公司内部的服务器的时候,无法进行远程访问. 弹出错误信息:没有远程桌面授权服务器可以提供许可证,远程会话被中断 经过网上的寻找,原来是server 2012 远程登录只提供120天的使用期限. 解决的方式分两步: 一 . 参照以下这篇文章 http://blog.sina.com.cn/s/blog_5e8c26990102w7bc.html 根本解决:由于没有远程桌面授权服务器可以提供许可证,远程会话被中断. 此博文包含图片 (-- ::)转载▼ 标签: server2012 远程桌…
2003让我学会了几件事儿, 第一.自己会装系统了. 第二.知道很多选项是可以自己进行设置的.这点很重要,本来xp用得很习惯,然后很多都理所当然得认为,就应该是那个样子,可是,并不是的. 在2003不断地配置.调试.优化的过程中,也让我对windows系统有了更深刻的理解.   >>我想说什么呢:就是举个例子,就是屋子里有一盏灯,平时它都是亮着的,现在你让它灭一会儿,然后,你就会更加爱惜这盏灯.学习软件也是这个道理,如果对某个功能不熟悉,就可以让这个功能点消失一会儿,或者以一种新的面貌展示.就…
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);}/* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colb…
作用:网络编程的时候,编程接收报文,可以不用循环等待并判断是否报文接收完整.配置了windows禁用网络中端后,自己写的程序一次接收,便是整条报文. 步骤: 1."打开网络和共享中心" 2."更改适配器设置" 3.本地连接,右键属性 4.查找TCP/IPV4的属性里面,找到相对应的选项,禁用掉"报文中断"…
v:* { } o:* { } w:* { } .shape { }p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; font-size: 10.5pt; font-family: "Calibri", "sans-serif" } h1 { margin-right: 0cm; margin-left: 0cm; fo…
Windows系统版本判定那些事儿 转自CSDN,原文链接,我比较不要脸, 全部给复制过来了 前言 本文并不是讨论Windows操作系统的版本来历和特点,也不是讨论为什么没有Win9,而是从程序员角度讨论下Windows获取系统版本的方法和遇到的一些问题.在Win8和Win10出来之后,在获取系统版本时,可能很多人都碰到了类似的问题,为什么以前工作得很好的API,突然开始说谎了? 我们一般怎么获取系统版本 我想用的最多的可能就是这两个API了吧. DWORD WINAPI GetVersion…
windows server可以多用户同时登陆,默认最大远程登录数量为2,如果有更多人需要同时远程登录,则需要安装远程桌面授权服务,第一次安装后,免费期为120天,超过则无法正常远程登录. 解决办法如下: Windows server 2016服务器远程桌面登录时出现错误提示:“由于没有远程桌面授权服务器可以提供许可证,远程会话被中断.请跟服务器管理员联系.” 此时可以使用“mstsc /admin /v:目标ip”来强制登录服务器,但只能是管理员身份. 强行远程登陆系统后,修改注册表.删除如下…
用VC6在64位Windows7下调试的时候,如果中断(Shift+F5)调试,程序无法退出. 问题描述: 当点击F5开始一个项目的调试时,程序在设置的断点处停止,这时按下Shift+F5后,vc6可以退出调试状态,但是WINDOWS系统的任务栏上会留下前面调试时产生的进程图标.该进程不能被结束,即使使用任务管理器,也不可以.这时如果再次按下F5调试,并按下Shift+F5后,任务栏上会留下两个这样的图标,这两个进程都可以在任务管理器上看到,不占CPU资源,但占用一定的内存.结束该进程的唯一的办…
远程windows Sever 2012 时候 远程提示:由于没有远程桌面授权服务器可以提供许可证,远程会话被中断.请跟服务器管理员联系. 原因: windows server可以多用户同时登陆,默认最大远程登录数量为2,如果有更多人需要同时远程登录,则需要安装远程桌面授权服务,第一次安装后,免费期为120天,超过则无法正常远程登录. 解决方式1(已经测可行): 强制登录,只能管理员执行:“mstsc /admin /v:目标ip 第二步骤(未测试): 更改注册表,删除以下条目:HKEY_LOC…
windows server 2012 r2 安装无法找到install.wim 错误代码0x80070026,以及制作U启动盘决解ISO文件超过5G大小限制的解决方案 用UltaISO刻录后,sources里面的install.wim的大小:527MB 解压后的大小:4.51GB: 把解压的覆盖install.wim覆盖刻入进去的install.wim 刻录后的格式为:FAT32 应转换为:NTFS 打开CMD.输入:convert g:fs:ntfs (其中:g为U盘) 即可 安装钥匙: S…
参考:1 Physical Address Extensionzh.wikipedia.org/wiki/PAEen.wikipedia.org/wiki/Physical_Address_Extension#Microsoft_Windows2 RAM. 虚拟内存. 页面文件和 Windows 中的内存管理support.microsoft.com/kb/2160852/zh-cn3 警惕"32位Win7装4G内存"的谬论 及评论mtoou.info/win7-32-4g 4 32位…
说起NFC这个词儿应该已经不陌生了,在我们的生活中有很多使用场景都是使用的这项技术,例如公交卡,门禁,还有银联的闪付卡等等.并且近些年在移动设备上使用的场景也越来越多,例如 对 NFC TAG 的读写,对 NFC+蓝牙 耳机音响的支持,还有手机和手机之间的数据交换场景. 说起NFC这项技术其实也不算新奇了,许多手机都支持例如,Nokia.三星.SONY.HTC.小米都有机型硬件支持NFC的功能.在应用商店中搜索NFC也可以找到不少 NFC 相关的应用,但是目前来讲使用率还是个问题,不管怎样今天我…
用PE安装windows 8.1 pro X64 ISO镜像,快完成的时候卡在蓝色背景那不动了,等待了大概30min强制重启了. 奇怪的是,居然进去了,不过很慢.配置了一段时间终于看到桌面了,关机,失败,屏幕熄了,硬盘灯.网卡灯.电源灯均亮着,cpu风扇在转.继续强制重启,进了win8logo,下边的小点动了两下停止.重启进不去bios,也没有了Press F2 to enter BIOS. 插入winpe ,一样的效果.启动项原来是U盘第一的,现在显然不是,而是windows loader.把…
引言 用了多年的Windows系统,其实并没有对Windows系统进行过深入的了解,也正是由于Windows系统不用深入了解就可以简单上手所以才有这么多人去使用.笔者是做软件开发的,使用的基本都是Windows系统,然而正正对其的了解也是寥寥无几,所以想乘此机会来对Windows系统进行一个系统的学习. 善于维护电脑的人都常常会用到优化软件,然而我在使用优化软件的时候常常在想它优化的是那一部分?如果我知道了它优化的是哪一部分内容,那么我自己为什么不能使用软件的方式去实现它,当然这里我是说了一个大…
前言 本文并不是讨论Windows操作系统的版本来历和特点,也不是讨论为什么没有Win9,而是从程序员角度讨论下Windows获取系统版本的方法和遇到的一些问题.在Win8和Win10出来之后,在获取系统版本时,可能很多人都碰到了类似的问题,为什么以前工作得很好的API,突然开始说谎了? 我们一般怎么获取系统版本 我想用的最多的可能就是这两个API了吧. DWORD WINAPI GetVersion (VOID); BOOL WINAPI GetVersionExW(__inout LPOSV…
关掉对应的rdpclip进程,再创建一个…
故障原因:Windowsserver超过两人的远程连接是收费的,有120天免费试用期,超过这个时间再连接就会报错. 解决方法一: 进行续费 解决方法二: 1,在运行里运行 mstsc /v:ip   /admin进行强制登录 2,把"远程桌面服务"卸载掉 3,重启服务器之后就可以正常连接了…