- 博客(67)
- 资源 (2)
- 收藏
- 关注
原创 No bootable device 在kvm/qemu中
进入virt-manager,进入虚拟机详细信息设置页面,打开IDE Disk 1,Stroage format需要更改为qcow2,一般这里是raw容易出现上述错误。
2019-01-04 17:45:31
15744
1
转载 win7如何设置以管理员身份运行程序
右键点击桌面【计算机】图标,然后点击【管理】选项 进入“计算机管理”界面,依次点击【系统工具】【本地用户和组】【用户】 然后在右方找到【administrator账户】,右键点击,选择【属性】 进入administrator属性对话框,将【账户已禁用】前面勾取消,点击确定 ...
2019-01-04 16:51:24
2161
原创 VS2017 无法解析的外部符号
通常是lib文件没包含进去的原因。进行以下三步:1.检查库目录是否有lib文件所在的文件目录2.在源文件开头定义#pragma comment(lib,"xxx.lib")3.如下图所示,在附加依赖项中假如库文件路径。 ...
2018-12-24 22:20:57
12007
1
原创 VS2017 Win7 64位驱动开发
修改项目属性Win7x64位系统测试,禁止强制签名。修改注册表解决 Win7 DbgView 不显示调试信息默认情况下Win7下的DbgView会不显示调试信息,如 OutputDebugString,KdPrint 等函数的输出。这需要在注册表中单独的设置使其可以打印相关信息。注册表如下Windows Registry Editor Version 5....
2018-12-16 15:33:29
2737
1
转载 Ntddk.h 和 Ntifs.h同时包含时的重复定义问题
Wdm.h、Ntddk.h 和 Ntifs.h 的组织结构在 Windows Vista 版本的 WDK 之前,用于驱动程序开发的主要头文件为 Wdm.h、Ntddk.h 和 Ntifs.h,它们包含很多重复声明。 从 Windows Vista 版本的 WDK 开始,Wdm.h、Ntddk.h 和 Ntifs.h 将按层次结构来组织并且不包含重复信息。上层的文件将包含下层的文件。每个函数和...
2018-12-15 20:41:00
1035
2
转载 windows内核情景分析--内存管理(精细分析系统物理内存使用)
32位系统中有4GB的虚拟地址空间 每个进程有一个地址空间,共4GB,(具体分为低2GB的用户地址空间+高2GB的内核地址空间) 各个进程的用户地址空间不同,属于各进程专有,内核地址空间部分则几乎完全相同 虚拟地址如0x11111111, 看似这8个数字是一个整体,其实是由三部分组成的,是一个三维地址,将这个32位的值拆开,高10位表示二级页表号,中间10位表示二级页表中的页...
2018-12-14 11:01:09
832
转载 Intel XE 2016 + vs2013+ wdk8.1配置内嵌汇编
1.安装环境Intel XE 2016 + vs2013+ wdk8.12.工程属性Platform toolset Intel C++ Compiler 16.0Base Platform Toolset WindowsKernelModeDriver8.1Configuration Driver--------------------- 作者:125096 来源:...
2018-12-12 11:19:04
485
转载 PAE( Physical Address Extension )
转自:http://blog.chinaunix.net/uid-20384269-id-1954602.html首先,内存访问和管理是一个跨越应用程序,操作系统,硬件平台的一个复杂过程,不能单纯的讲32bit系统就支持4G内存,从而认为这个过程只是OS和内存两者之间的关系 理论上:32位系统,32bit的地址总线位数,寻址空间2^32B=4GB。 64位系统,寻址空间2^64。至...
2018-12-11 22:02:10
1279
原创 win10 VS 2017提示无法打开包括文件:“Windows.h”:No such file or director
首先看有没有安装windows sdk,如果没有安装,请打开visual Stdio Installer,然后选择修改,勾上最新版的windows SDK如红色框所示。然后右键项目属性,配置属性->常规。windows SDK版本选择刚才安装的版本测试一下是否可以包含,如果还不行。在上面属性页的VC++目录->包含目录中打开,查看um文件夹是否在里面,如果不在的话添加到...
2018-12-06 10:06:03
22006
转载 windows内核 内存管理
一、几个基本的概念1.存储器的金字塔结构存储器从下之上依次是磁盘/flash、DRAM(内存)、L2-cache、L1-cache、寄存器,越在上面的存储器访问速度越快,同时价格也越昂贵,每一级都可以看做是下一级的缓存,内存是磁盘的缓存,cache是内存的缓存。2.地址空间地址空间就是一个非负正数的有序集合,如果是连续的即线性地址空间,从硬件的角度看就是处理器所能访问的存储器空间,...
2018-12-03 22:16:53
335
转载 windows用户态和内核态
参考:http://www.fmddlmyy.cn/text7.html 用户态和内核态是不同的CPU特权级别,X86用户态为RING3,内核态在RING0。 win32系统可以使用的最大内存空间为4GB,用户态代码可以使用的是0x00000000——0x7FFFFFFF。 从用户态进入核心态最常用方法是将功能码写入EAX中,然后INT 2E,类似DOS中断调用B...
2018-12-03 21:48:25
1135
转载 操作系统的中断、异常和系统调用
本节操作的系统主要讲系统内核如何与外部设备和应用程序打交道的,这也是操作系统的主要功能:基于硬件设备之运行,为上层的应用程序提供系统服务。通过本节的例子就可以很清楚地理解操作系统是如何在这两者之中运行。下面我就围绕这个图来讲解本部分的知识。(一)从宏观上把握关键部分 在宏观上主要是包括三个部分的内容: 第一个是操作系统内核,是整个内容的核心; 第二个是外部设备,包...
2018-11-08 10:48:38
283
原创 使用虚拟机自省技术在R0层监控获取进程调用的dll库和dll版本
一、问题提出在Windows操作系统中,dll属性查看的版本信息是在R3层获取的,如下图所示,在项目中经常要保证监控获取的透明性,能否在R0层直接获取这些信息?二、libvmi简介libvmi是Google的一个开源项目,利用Memory introspection技术在Dom0中监视DomU的情况。由于项目的某些需求,需要透明地监控Windows进程的列表,进程调用的dll库和版...
2018-09-02 21:21:48
1351
转载 Linux共享内存的查看和删除
在使用共享内存的程序异常退出时,由于没有释放掉共享内存,在调试时会出现错误。您可以使用shell命令来查看与释放已经分配的共享内存,下面将详细说明如何进行查看和释放分配的共享内存的方法。预备知识Linux中通过API函数shmget创建的共享内存一般都是在程序中使用shmctl来释放的,但是有时为了调试程序,开发人员可能通过Ctrl + C等方式发送中断信号来结束程序,此时程序申请的...
2018-08-13 20:45:44
4641
转载 进程间的五种通信方式介绍
原文:https://blog.youkuaiyun.com/wh_sjc/article/details/70283843进程间通信(IPC)介绍进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams...
2018-08-13 20:44:55
220
转载 求解二叉树中两个结点的最低公共父结点
一,问题描述构建一棵二叉树(不一定是二叉查找树),求出该二叉树中某两个结点的最低公共父结点。借用一张图如下:结点8 和 结点5 的最低公共父结点为 结点2 二,二叉树的构建与 求二叉树中第K层结点的个数 文章中的第二点:二叉树构建相同 三,求解最低公共父结点的算法实现有两种思路,一种是通过中序遍历和后序遍历。由于中序遍历是先左子树中的结点,再访问根,再访问右子树...
2018-08-04 21:36:02
252
转载 Http Https WebService
原文:http://www.cnblogs.com/ok-lanyan/archive/2012/07/14/2591204.htmlHTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-...
2018-07-30 15:29:11
1773
转载 消息队列使用的四种场景介绍
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性架构使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景2.1异步处理场景说明:用户注...
2018-07-30 11:19:23
209
1
转载 Redis快速入门及实现
redis的概念(1)Redis的优点 以下是Redis的一些优点。异常快 - Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET)操作。 支持丰富的数据类型 - Redis支持开发人员常用的大多数数据类型,例如列表,集合,排序集和散列等等。这使得Redis很容易被用来解决各种问题,因为我们知道哪些问题可以更好使用...
2018-07-30 09:51:58
215
转载 【高并发解决方案】5、如何设计一个秒杀系统
什么是秒杀秒杀场景一般会在电商网站举行一些活动或者节假日在12306网站上抢票时遇到。对于电商网站中一些稀缺或者特价商品,电商网站一般会在约定时间点对其进行限量销售,因为这些商品的特殊性,会吸引大量用户前来抢购,并且会在约定的时间点同时在秒杀页面进行抢购。秒杀系统场景特点秒杀时大量用户会在同一时间同时进行抢购,网站瞬时访问流量激增。 秒杀一般是访问请求数量远远大于库存数量,只有...
2018-07-28 14:37:33
482
转载 秒杀系统:并发队列 接口设计 并发请求数据安全处理
并发队列的选择Java的并发包提供了三个常用的并发队列实现,分别是:ArrayBlockingQueue、ConcurrentLinkedQueue 和 LinkedBlockingQueue 。 ArrayBlockingQueue是初始容量固定的阻塞队列,我们可以用来作为数据库模块成功竞拍的队列,比如有10个商品,那么我们就设定一个10大小的数组队列。ConcurrentLin...
2018-07-28 14:30:19
389
转载 CSRF攻击与防御
CSRF概念:CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解: 攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 如下:其中Web A为存...
2018-07-28 14:20:12
145
转载 哪些字段适合建立索引
经常需要进行更新操作的属性1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;5、索引应该建在选择性高的字段上;6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:...
2018-07-26 23:17:40
2744
转载 web服务器集群(多台web服务器)后session如何同步和共享
在访问量上去以后,很多人会采用web集群的方式在满足逐渐增长的用户量。这时候就不得不面对一个问题,那就是在多个服务器下,每次请求都会因为负载均衡而分配到不同的服务器上。用户在登录服务器后,下一次请求被分配到另一个服务器上,这时候session不同步,用户就无法继续使用原先的session。下面我就聊聊如何解决这个问题。一、利用Mysql数据库共享Session数据的方式使用一个mysql服...
2018-07-26 23:05:45
1035
转载 Memcached简介
在Web服务开发中,服务端缓存是服务实现中所常常采用的一种提高服务性能的方法。其通过记录某部分计算结果来尝试避免再次执行得到该结果所需要的复杂计算,从而提高了服务的运行效率。 除了能够提高服务的运行效率之外,服务端缓存还常常用来提高服务的扩展性。因此一些大规模的Web应用,如Facebook,常常构建一个庞大的服务端缓存。而它们所最常使用的就是Memcached。 在本文中,我们就...
2018-07-22 16:19:29
170
转载 深入JVM-常用Java虚拟机参数
一、跟踪调试参数1.1 跟踪垃圾回收-读懂虚拟机日志Java的一大特色就是支持自动的垃圾回收(GC),但是有时候,如果垃圾回收频繁出现,或者占用了太长的CPU时间,就不得不引起重视。此时,就需要一些跟踪参数来进一步甄别垃圾回收器的效率和效果。最简单的一个GC参数是-XX:+PrintGC,使用这个参数启动Java虚拟机后,只要遇到GC,就会打印日志。如果需要更加详细的信息,则可以使...
2018-07-20 21:02:03
144
转载 数据库相关面试题
本文转载自:http://www.javaxxz.com/thread-359370-1-1.htmlOracle与mysql的区别mysql是中小型数据库 开源免费 Oracle数据是大型数据库,闭源,收费(个人使用免费,商业用途收费),主键 mysql可以设置成主键自动增长,在建表是设置主键列为 auto increment Oracle没有...
2018-07-18 15:14:26
180
转载 epoll详解
原文:https://www.cnblogs.com/alantu2018/p/8460884.htmlselect、poll和epoll的区别在linux没有实现epoll事件驱动机制之前,我们一般选择用select或者poll等IO多路复用的方法来实现并发服务程序。在大数据、高并发、集群等一些名词唱的火热之年代,select和poll的用武之地越来越有限了,风头已经被epoll占尽。selec...
2018-07-12 10:35:36
195
转载 Linux设置程序开机自启动
注意:作者测试时,Linux版本为RedHat6,同时应用在CentOS6应该也可以(作者未实测,但有同事在CentOS6上使用可行),系统版本的不同,可能造成操作上的差异(CentOS7就与CentOS6有较大的不同),但具体的思路可借鉴。以下操作均在root权限下 Linux下配置某个服务的开机自启动,分为两种情况:一种是已经挂载的,另一种是未挂载的。已经挂载的程序可以使用 chkconfig...
2018-07-07 22:20:15
358
转载 搜索引擎索引之索引更新策略
本文节选自《这就是搜索引擎:核心技术详解》第三章动态索引通过在内存中维护临时索引,可以实现对动态文档和实时搜索的支持。但是服务器内存总是有限的,随着新加入系统的文档越来越多,临时索引消耗的内存也会随之增加。当最初分配的内存将被使用完时,要考虑将临时索引的内容更新到磁盘索引中,以释放内存空间来容纳后续的新进文档,此时要考虑合理有效的索引更新策略。常用的索引更新策略有四种:完全重建策略,再合并策略,...
2018-07-07 22:04:46
857
原创 生成窗口最大值数组 双端队列典型问题
题目:有一个整形数组arr和一个大小为window的窗口从数组的最左边滑到最右边,窗口每次向右边,窗口每次向右边滑一个位置。例如,数组为[4,3,5,4,3,3,6,7],窗口大小window=3时;1) [4 3 5] 4 3 3 6 7 窗口最大值为52) 4 [3 5 4] 3 3 6 7 窗口最大值为53) 4 3 [5 4 3] 3 6 7 窗口最大值为54) ...
2018-07-06 11:55:59
398
转载 MySQL的InnoDB索引原理详解
摘要: 本篇介绍下Mysql的InnoDB索引相关知识,从各种树到索引原理到存储的细节。 InnoDB是Mysql的默认存储引擎(Mysql5.5.5之前是MyISAM,文档)。本着高效学习的目的,本篇以介绍InnoDB为主,少量涉及MyISAM作为对比。 这篇文章是我在学习过程中总结完成的,内容主要来自书本和博客(参考文献会给出),过程中加入了一些自己的理解,描述不准确的地方烦请指出。 ...
2018-07-04 21:00:05
178
转载 20个数据库常见面试题讲解
事务四大特性(ACID)原子性、一致性、隔离性、持久性?原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。一致性(Consistency)事务开始前和结束后,数据库的完整性约束没有被破坏。比如A向B转账,不可能A扣了钱,B却没收到。隔离性(Isolation)隔离性是当多个用...
2018-07-04 20:47:08
6811
转载 处理器虚拟化——VMCS
在VMCS架构中,当发生VMX operation模式的Root 与 non Root环境切换时VMCS用来配置当前发生切换的逻辑处理器的状态及执行环境一个逻辑处理器管理着多个VMCS同一时刻 一个逻辑处理器只有一个VMCS是current-VMCSVMCS三种状态1) activity属性 包括 active(活动) 及 inactive(非活动)状态2) current 属性 包括 curre...
2018-07-02 21:23:28
919
转载 处理器虚拟化——VMX
Intel提供3个层面的虚拟化技术(Intel Virtualization Technology) 1.基于处理器的虚拟化技术(Intel VT-X) 全称为 Virtualization Technology for x86 2.基于PCI总线域设备实现的I/O虚拟化技术(Intel VT-D) 全称为Virtualization Technology for Directed I/O ...
2018-07-02 21:22:32
6902
转载 IA32寄存器与x86-64寄存器的区别
IA32寄存器一个IA32CPU包含一组8个存储32位值的通用寄存器,这些寄存器用来存储整数数据和指针:31-015-015-87-0使用惯例%eax%ax%ah%al调用者保存%ecx%cx%ch%cl调用者保存%edx%dx%dh%dl调用者保存%ebx%bx%bh%bl被调用者保存%esi%si无无被调用者保存%edi%di无无被调用者保存%ebp%bp无无不得占用%esp%sp无无不得占用...
2018-07-02 20:39:10
991
转载 高并发网络编程之epoll详解
在linux 没有实现epoll事件驱动机制之前,我们一般选择用select或者poll等IO多路复用的方法来实现并发服务程序。在大数据、高并发、集群等一些名词唱得火热之年代,select和poll的用武之地越来越有限,风头已经被epoll占尽。本文便来介绍epoll的实现机制,并附带讲解一下select和poll。通过对比其不同的实现机制,真正理解为何epoll能实现高并发。select()和p...
2018-06-30 22:21:46
152
转载 【BST】把搜索二叉树转化成双链表
题目:EPI提示:用递归方式求解,思路比较简单清晰!//双链表的节点和二叉树节点类似,left当做前继节点prev,right当做后继节点nexttypedef shared_ptr<treenode> pnode; //返回值是pair类型,first是双链表第一个节点,second是双链表最后一个节点pair<pnode, pnode> covert_BST_to_do...
2018-06-30 21:44:46
294
VS2017安装包 WDK1809离线镜像
2018-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人