自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xumaojun的专栏

csdn博客收藏

  • 博客(239)
  • 资源 (100)
  • 收藏
  • 关注

转载 docker jvm 内存限制

docker 容器提供了相关的内存限制。具体使用方式如:-m 512m## 完整例子docker run –rm -m 512m -e JAVA_OPTS=’-Xmx512m’ tomcat:8通过-m 进行限制,但是在实际应用重,会出现jvm内存一直到内存满也没有执行gc。在查询之后,问题出现在docker容器下jvm识别的内存为宿主机内存。之后又添加了jvm的内存限制:-Xmx512m但是在openjdk 还是没有生效。最后在OpenJDK and Containers

2021-06-15 16:45:58 436

转载 Redis源码分析(三)---dict哈希结构

 昨天分析完adlist的Redis代码,今天马上马不停蹄的继续学习Redis代码中的哈希部分的结构学习,不过在这里他不叫什么hashMap,而是叫dict,而且是一种全新设计的一种哈希结构,他只是通过几个简单的结构体,再搭配上一些比较常见的哈希算法,就实现了类似高级语言中HashMap的作用了。也让我见识了一些哈希算法的实现,比如dbj hash的算法实现,俗称times33,算法,就是不停的*...

2019-02-17 17:47:28 400

转载 Redis源码分析(二)--结构体分析(1)

 继上次的redis源码分析(一)之后,本人开始订制着一份非常伟大的计划-啃完redis源代码,也对他进行了切块划分,鉴于本人目前对他的整个运行流畅还不特别清楚的情况下,所以决定第一个要解决的就是与逻辑无关的代码,也就是一些基本模块,因为是相互独立的,所以不会影响整体的阅读,所以第一个开刀的就是结构体模块了。结构体模块我划分了差不多10个文件的样子,今天看的主要是adlist.c的文件,收获有如下...

2019-02-17 17:46:27 215

转载 Redis源码分析(一)--Redis结构解析

从今天起,本人将会展开对Redis源码的学习,Redis的代码规模比较小,非常适合学习,是一份非常不错的学习资料,数了一下大概100个文件左右的样子,用的是C语言写的。希望最终能把他啃完吧,C语言好久不用,快忘光了。分析源码的第一步,先别急着想着从哪开始看起,先浏览一下源码结构,可以模块式的渐入,不过比较坑爹的是,Redis的源码全部放在在里面的src目录里,一下90多个文件统统在里面了,所以我选...

2019-02-17 17:45:08 1091

转载 gSoap工具wsdl2h及soapcpp2指令汇总

gSoap开发包的下载地址http://sourceforge.net/projects/gsoap2,在bin目录下提供了两个工具:  1:wsdl2h:The gSOAP wsdl2h tool imports one or more WSDLs and XML schemas and generates a gSOAP header le with familiar C/C++ synt...

2019-01-18 11:20:39 1380

转载 window上ASIO

花了足足3天时间,外加1天心情休整,终于在第5天编写出了一个能运行的基于asio和thread_group的框架,差点没气晕过去,把源码都看懂了才感觉会用了。测试了一下,debug下一万次回应耗时800+毫秒,release下是200+毫秒,机器配置双核2.5G英特尔,4个线程并行工作,无错的感觉真好,再也不用担心iocp出一些奇怪的问题啦,因为是巨人们写的实现,呵呵。进入正题,简要说一下as...

2019-01-05 14:09:10 1285

转载 libevent C++封装

最近在学习libevent的过程中,碰到许多问题,如接收数据不完整,如何接收并回复来自client的数据等一些问题,还有就是关于read_cb该如何写的问题,最后总结了一下,封装成一个类,下面说一下怎样使用。源文件:libSocket.h libSocket.cpp MyEvent.h MyEvent.cpp 这4个文件是自己写的,封装的目的是为了让整个过程更清晰易懂。 以下是libS...

2018-11-22 15:34:56 2153

转载 C++跨平台开源库 之二

值得学习的C/C++语言开源项目(1)ACE庞大、复杂,适合大型项目。开源、免费,不依赖第三方库,支持跨平台。http://www.cs.wustl.edu/~schmidt/ACE.html (2)AsioAsio基于Boost开发的异步IO库,封装了Socket,简化基于socket程序的开发。开源、免费,支持跨平台。http://think-async.com...

2018-11-21 20:23:38 954

转载 值得推荐的开源C/C++框架和库

- 1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:Web Bench Homepage- 2. Tinyhttpdtinyh...

2018-11-21 20:21:29 204

转载 Windows上安装Net-SNMP5.7

本文简要记录了在Windows上安装 net-snmp 5.7.1的步骤,最新的源码包可上net-snmp官方网站下载。安装net-snmp 5.7.1之前需要先安装VS2010 Win32 OpenSSL v1.0.1f ActivePerl 5.16.3安装步骤如下: 停止Windows7系统自带的Windows SNMP Service,在 我的电脑-> 管理 -&...

2018-10-26 16:47:29 9910 1

转载 windows下使用net-snmp实现agent扩展(四)

在前三篇的内容里,介绍了使用net-snmp实现agent的Get/Set命令,下面介绍一下发送trap消息。发送trap消息时,系统默认的端口是162。使用下面的代码,可以实现trap消息的发送。//该函数发送实时报警信息。与发送一般信息端口不同void init_alarm_info(void){DEBUGMSGTL((“dcsserver”,“initializing (sett...

2018-10-09 18:29:36 566

转载 windows下使用net-snmp实现agent扩展(三)

时间隔得太长了,我都快忘了什么是snmp了,知识啊知识,很容易在不用的时候忘却,也可能是自己脑袋不好使了吧?翻了翻代码,赶紧总结下,不然真不会了……在上篇博客中,实现了get/set一个字符串型变量,现在来实现对多个字符串变量的get/set。假设要实现获取CPU利用率、内存占用率和磁盘占用率的的功能,建立两个文件:alarmInfo.h和alarmInfo.c。在alarmInfo.h中...

2018-10-09 18:28:22 276

转载 windows下使用net-snmp实现agent扩展(二)

刚刚实现了int型的get命令,可能更多的情况下,我们更需要的是字符串类型的。在实现int型的时候,用到了netsnmp_register_int_instance这个函数,很自然想到如果是string型的,用类似的netsnmp_register_string_instance,或者netsnmp_register_char_instance不就行了?很可惜的是:net-snmp并没有提供这两个...

2018-10-09 18:24:28 473

转载 windows下使用net-snmp实现agent扩展(一)

项目上需要用snmp来做告警监控管理,达到对系统的运行状态的监测。这几天研究了一下,发现网上资料比较少,大多数抄来抄去,能够正确运行的更少。所以,总结了一下,把相关的代码放上来,希望能够帮助同样遇到困惑的朋友。 项目名称为DCS系统,采用VS2010开发,DCS作为被监测的对象,因此需要实现snmp的Agent扩展。最开始的方法,采用了WinSnmp,发现步骤很繁琐,需要编写dll,需要手动修...

2018-10-09 18:21:34 1882

转载 更好的内存管理-jemalloc

今年年初由于facebook而火起来的jemalloc广为人之,但殊不知,它在malloc界里面很早就出名了。Jemalloc的创始人Jason Evans也是在FreeBSD很有名的开发人员。此人就在2006年为提高低性能的malloc而写的jemalloc。Jemalloc是从2007年开始以FreeBSD标准引进来的。软件技术革新很多是FreeBSD发起的。在FreeBSD应用广泛的技术会慢...

2018-09-30 15:32:05 16882

转载 Go开发工具

1.4 Go开发工具本节我将介绍几个开发工具,它们都具有自动化提示,自动化fmt功能。因为它们都是跨平台的,所以安装步骤之类的都是通用的。LiteIDELiteIDE是一款专门为Go语言开发的跨平台轻量级集成开发环境(IDE),由visualfc编写。图1.4 LiteIDE主界面LiteIDE主要特点:支持主流操作系统WindowsLinuxMacOS XGo编译环境管理和切换管理和切换多个Go...

2018-06-02 12:26:39 4808

转载 Go语言学习资料整理

整理网上找到的Golang语言学习资料基础基础教程 书籍在线版Go 指南-A Tour of GoGo语言圣经(中文版)Effective Go中文版Go Web编程 build-web-application-with-golangGo入门指南 The Way to Go《The Way to Go》中文译本,中文正式名《Go入门指南》

2017-11-28 09:43:01 2849 1

转载 Windbg查看调用堆栈(k*)

https://www.52pojie.cn/thread-664189-1-1.html      无论是分析程序崩溃原因,还是解决程序hang问题,我们最常查看的就是程序调用堆栈。学会windbg调用堆栈命令,以及理解堆栈中的各个参数的意义就显得至关重要。上图就是一个典型的Windbg堆栈,如果不理解ChildEBP、RetAddr、Args to Child等参数意义,以

2017-11-18 10:01:56 10516

原创 Charles Proxy最新 Mac、Win64、Win32破解版

Charles 4.2下载Charles v4.2 并安装云盘下载: Mac OS X Windows 64 bit Windows 32 bit官网下载: 前往官网下载安装后先打开Charles一次(Windows版可以忽略此步骤)下载破解文件 charles.jar替换掉原文件夹里的charles.jarMac: /Applications/Charles.ap

2017-10-26 16:55:59 1991

转载 在MFC中使用OTL库连接数据库

http://hyhvi.iteye.com/blog/1549639在Win32控制台程序下,要使用OTL库,只需在程序加入OTL头文件,并写上以下两句代码即可(ODBC方式):    #define OTL_ODBC     #include "otlv4.h"但是在编写MFC程序的时候,单单用以上的做法是不行的,编译的时候会出现

2017-08-02 18:37:29 313

转载 Variant 与 内存泄露

http://blog.chinaunix.net/uid-10386087-id-2959221.html今天遇到一个内存泄露的问题。是师兄检测出来的。Variant类型在使用后要Clear否则会造成内存泄露,为什么呢?Google一下找到下面一篇文章,主要介绍了Com的内存泄露,中间有对Variant的一些解释吧。1. 引用计数泄漏由于C++的一些对

2017-03-16 15:14:32 1748

转载 WSDL 规则解释

WSDL文档可以分为两部分。顶部分由抽象定义组成,而底部分则由具体描述组成。抽象部分以独立于平台和语言的方式定义SOAP消息,它们并不包含任何随机器或语言而变的元素。这就定义了一系列服务,截然不同的网站都可以实现。随网站而异的东西如序列化便归入底部分,因为它包含具体的定义。l 抽象定义        Types            独立与机器和语言的类型定义  Messages

2017-03-09 16:42:42 667

转载 句柄泄漏调试经验

句柄泄漏检测-简单在调试之前首先确定是不是真的发生了句柄泄漏,简单的检测方法是通过任务管理器来查看进程的句柄数是不是居高不下,任务管理器默认不显示句柄数,要查看进程的句柄数需要先切换到进程选项卡,然后单击“查看”菜单,选择“选择列”,然后勾选“句柄数”。句柄泄漏检测-更多信息任务管理器只能简单检测句柄数,如果要获得更详细的信息,可以使用Process Explorer(官方下载地址

2017-01-23 11:38:17 2579

转载 谁占用了我的Buffer Pool?

我在做SQL Server 7.0技术支持的时候有客户问我,“我的SQL Server buffer pool很大,有办法知道是哪些对象吃掉我的buffer Pool内存么?比方说,能否知道是哪个数据库,哪个表,哪个index占用了buffer Pool么?”当时我没有找到这个问题的答案,但是我一直记着这个问题。直到SQL server 2005版本出现,这个问题迎刃而解。

2016-10-11 16:51:16 377

转载 SQL 2008执行语句遇到内存不足的案例(error 701)之一

SQL 2008执行语句遇到内存不足的案例(error 701)之一某个特定的存储过程在SQL2008中执行会遇到以下错误:Msg 701, Level 17, State 123, Procedure GetAllRevisions_Monthly, Line 22There is insufficient system memory in resource pool ‘inte

2016-10-11 15:06:46 3106

转载 Redis代码阅读3--Redis网络监听(3)

是介绍Redis网络监听的最后一篇文章,着重分析定时时间处理函数serverCron,这个函数其实已经和网络监听没多大关系了,当时因为其绑定在Redis自定义的事件库的定时事件上,所以放到一起来讲。serverCron的这个函数对Redis的正常运行来说很重要,对于Redis的使用者来说,最重要的就是能够迅速直观地看到Redis的当前的运行状况(keys,sizes,memory等),se

2016-09-01 11:12:56 703

转载 Redis代码阅读3--Redis网络监听(2)

这篇文章接上一篇,主要介绍Redis网络监听流程的各个步骤。aeCreateEventLoop :创建用于循环监听的 eventLoop, Redis 支持主流的三种事件触发机制: select ,epoll, kqueue,可以通过在 config.h 里面配置 HAVE_EPOLL/ HAVE_KQUEUE来根据不同的操作系统选择合适的机制:调用 ae_epoll.

2016-09-01 11:11:53 856

转载 Redis代码阅读3--Redis网络监听(1)

接下来的三篇文章将对Redis的网络监听流程及涉及到事件库和各个主要方法进行介绍。在介绍 redis的网络监听流程和事件库之前,我们先设想一下,如果我们不采用libevent 等流行的开源库进行基于事件的网络监听,而是自己去实现一套基于事件的库去进行网络监听,需要考虑些什么,然后我们带着这些问题去分析 Redis是如果通过少量的代码来完成这个工作的。在我认为,需要考虑的

2016-09-01 11:10:40 457

转载 Redis代码阅读1--Redis启动原理

前面写了一篇文章简单介绍Redis的list结构。再写完之后,我觉得有必要熟悉Redis的启动过程和如何读取Redis的命令,因此本文将通过分析代码来介绍Redis的启动过程,通过查看Redis 的启动脚本,得知Redis的启动时从Redis.c的main方法开始的。Redis启动可以分为以下几个步骤:初始化Redis服务器全局配置重置服务器Save参数(具体下文详解)和加载配置文

2016-09-01 11:09:05 337

转载 带有详细注释的 Redis 3.0 代码 (github.com)

Redis 3.0 源码注释本项目是注释版的 Redis 3.0 源码, 原始代码来自: https://github.com/antirez/redis 。这份注释是我在创作新版《Redis 设计与实现》期间, 为了了解 Redis 的内部实现而制作的, 所有在书中有介绍的内容, 在源码中都进行了相应的注释。在注释的过程中, 除了少量空格和空行方面的调整外, 没有对原始代

2016-06-06 18:48:51 943

转载 Hiredis 基本使用

0. 前言  Hiredis是一个Redis的C客户端库函数,基本实现了Redis的协议的最小集。这里对hiredis的api作基本的介绍以及应用,主要参考hiredis的README文件以及相关源码。1. 同步APIredisContext,该库的上下文环境。 1 /* Context for a connection to Redis */ 2 typedef s

2016-06-06 18:42:34 673

转载 Hiredis_API说明

同步的API接口redisContext *redisConnect(const char *ip, int port);void *redisCommand(redisContext *c, const char *format, ...);void freeReplyObject(void *reply);1)建立连接redisContext *c = redi

2016-06-06 18:32:18 1933

转载 linux下使用hiredis异步API实现sub/pub消息订阅和发布的功能

最近使用redis的c接口——hiredis,使客户端与redis服务器通信,实现消息订阅和发布(PUB/SUB)的功能,我把遇到的一些问题和解决方法列出来供大家学习。       废话不多说,先贴代码。redis_publisher.h/******************************************************************

2016-06-01 18:58:13 7407 4

转载 Hiredis 基本使用

0. 前言  Hiredis是一个Redis的C客户端库函数,基本实现了Redis的协议的最小集。这里对hiredis的api作基本的介绍以及应用,主要参考hiredis的README文件以及相关源码。1. 同步APIredisContext,该库的上下文环境。 1 /* Context for a connection to Redis */ 2 typedef str

2016-06-01 18:53:57 2872

转载 windows下hiredis的编译

windows下hiredis的编译,有需要的朋友可以参考下。果然,高端的程序员真心是鸟都不鸟windows的,redis的客户端找了一圈愣是没有C++的windows版本我要做个windows上的C++的服务器都没办法和redis交互github上所有能试的我都试过了,要么是只支持unix,要么是怎么编译都不通过,焦头烂额中然后我总结了网上无数的教

2016-06-01 18:37:37 6918

转载 C1000K之Libevent源码分析

简介说到异步IO,高并发之类的名词, 可能很多人第一反应就是 select, poll, epoll, kqueue 之类的底层代码库。 但是其实除非你要写一个 Nginx 性能级别的服务器, 否则直接使用 epoll 之类的还是太过底层, 诸多不便,要榨干整个异步编程的高并发性能还需要开发很多相关组件, 而Libevent 就是作为更好用的高性能异步编程网络库而生, 他帮你包装了

2016-04-23 14:02:35 451

转载 Thrift之Protocol源码分析

之前写过两篇关于 Thrift 的相关文章。Thrift源码剖析Thrift异步IO服务器源码分析也算是对Thrift比较熟悉,不过对 Thrift 里面的 Protocol 部分还是黑盒使用。 虽然大概能猜到具体实现方式,但是还是忍不住花了一点点时间把具体代码实现翻出来看看。 主要是为了满足一下好奇心。简单搞了一个Thrift的描述文件Insight.thrift作为例子

2016-04-23 13:59:52 687

转载 Thrift异步IO服务器源码分析

最近在使用 libevent 开发项目,想起之前写 Thrift源码剖析 的时候说到关于 TNonblockingServer 以后会单独写一篇解析, 现在是时候了,就这篇了。以下内容依然是基于 thrift-0.9.0 。概述现在随着 Node.js 的兴起,很多人着迷 eventloop , 经常是不明真相就会各种追捧,其实 eventloop 只是 一种高并发的解

2016-04-23 13:56:39 519

转载 Thrift源码剖析

由于工作的关系,需要定位一个 bug 是否和 Thrift 有关, 所以用了一下午的时间研读了 Thrift-0.9.0 代码,虽然发现这个 bug 和 thrift 无关。 但是读源码还是有所收获,所以整理成这篇文章,不过不太适合 Thrift 刚入门的人。以下内容基于 thrift-0.9.0 。整体脉络Thrift 几乎支持所有的语言。在此针对 Thrift 的

2016-04-23 13:55:25 405

转载 Redis设计与实现(一~五整合版)

http://www.tuicool.com/articles/YBNZZzI一前言项目中用到了redis,但用到的都是最最基本的功能,比如简单的slave机制,数据结构只使用了字符串。但是一直听说redis是一个很牛的开源项目,很多公司都在用。于是我就比较奇怪,这玩意不就和 memcache 差不多吗?仅仅是因为memcache是内存级别的,没有持久化功能。而redis支持持久化?难

2015-04-04 14:41:36 837

IDA.Pro权威指南中文完整版.pdf

IDA Pro(交互式反汇编器专业版)是应用最广泛的静态反汇编工具,在IT领域有着举足轻重的地位,但其文档资料一直都不够完善,在IDA Pro创建者Ilfak的协助下问世的这本书,完美地终结了这一缺憾。Chris的理论被业界公认为是权威且令人信服的,而他的模拟器也是公开发布的IDA插件中最棒的一款。 本书首先为初涉安全领域的读者描述反汇编与逆向工程的基本信息和IDA Pro的背景知识,然后系统地介绍IDA的基本布局和功能、复杂数据结构的处理、交叉引用与绘图功能,以及如何在非Windows平台上运行IDA。作者由浅入深地介绍了IDA的配置、FLIRT技术、IDA类型库的扩展以及一些IDA限制。书中还探讨了IDA的可扩展性,涉及IDA脚本、SDK、插件、加载器模块和处理器模块,最后阐述了IDA在逆向工程中的实际用法,讨论了各种编译器的区别、模糊代码分析和漏洞分析、IDA插件以及IDA调试器。

2013-09-23

软件调试.pdf

围绕如何实现高效调试这一主题,本书深入系统地介绍了以调试器为核心的各种软件调试技术。本书共30章,分为6篇。第1篇介绍了软件调试的概况和简要历史。第2篇以英特尔架构(IA)的CPU为例,介绍了计算机系统的硬件核心所提供的调试支持,包括异常、断点指令、单步执行标志、分支监视、JTAG和MCE等。第3篇以Windows操作系统为例,介绍了计算机系统的软件核心中的调试设施,包括内核调试引擎、用户态调试子系统、异常处理、验证器、错误报告、事件追踪、故障转储、硬件错误处理等。第4篇以Visual C/C++编译器为例,介绍了生产软件的主要工具的调试支持,重点讨论了编译期检查、运行期检查及调试符号。第5篇讨论了软件的可调试性,探讨了如何在软件架构设计和软件开发过程中加入调试支持,使软件更容易被调试。在前5篇内容的基础上,第6篇首先介绍了调试器的发展历史、典型功能和实现方法,然后全面介绍了WinDBG调试器,包括它的模块结构、工作模型、使用方法和主要调试功能的实现细节。. 本书是对软件调试技术在过去50年中所取得成就的全面展示,也是对作者本人在软件设计和系统开发第一线奋战10多年的经验总结。本书理论与实践紧密结合,选取了大量具有代表性和普遍意义的技术细节进行讨论,是学习软件调试技术的宝贵资料,适合每一位希望深刻理解软件和自由驾驭软件的人阅读,特别是从事软件开发、测试、支持的技术人员和有关的研究人员。...

2012-12-23

Introduction to Design Patterns in C++ with Qt 2nd Edition.pdf

Learn C++, Patterns, and Qt 4 Cross-Platform Development Master C++ and design patterns together, using the world's leading open source framework for cross-platform development: Qt 4. An Introduction to Design Patterns in C++ with Qt 4 is a complete tutorial and reference that assumes no previous knowledge of C, C++, objects, or patterns. You'll walk through every core concept, one step at a time, learning through an extensive collection of Qt 4.1-tested examples and exercises. By the time you're done, you'll be creating multithreaded GUI applications that access databases and manipulate XML files--applications that run on platforms including Windows, Linux, Unix, and Mac OS X. Best of all, you'll be writing code that's efficient, reusable, and elegant.* Learn objects fast: classes, inheritance, polymorphism, and more *Master powerful design patterns *Discover efficient high-level programming techniques using libraries, generics, and containers *Build graphical applications using Qt widgets, models, and views *Learn advanced techniques ranging from multithreading to reflective programming *Use Qt's built-in classes for accessing MySQL data *Includes a complete C++ language reference

2012-12-07

精通Windows API-函数、接口、编程实例.pdf

《精通Windows API:函数、接口、编程实例》共18章,分为3个部分,第1部分(第1章-第3章)介绍Windows程序设计基础;第2部分(第4章-第17章)按照程序设计的各个方面进行划分,包括文件系统、内存管理、进程与线程、用户界面、Shell程序开发、Windows GDI、Socket网络通信驱动程序开发、安全机制等内容;第3部分(第18章)作为全书的总结和补充。 从Windows应用程序开发工具讲起,引导读者快速入门 详细讲解API和关键结构的使用方法 提供156个Windows API使用实例 涵盖主题: Windows应用程序开发入门;开发工具配置与使用;文件系统;内存管理;进程、线程和模块;线程同步;服务;图形用户界面;系统信息的管理;进程间通信;Windows SheLL程序设计;WindOWS GDl;网络通信与配置;设备驱动管理与内核通信;用户、认证和对象安全;Windows API的内部原理。 建议大家买本纸质的参考阅读,还不错的数据。

2012-11-24

Windows+Sockets网络开发——基于Visual+C++实现 随书光盘

《精通Windows Sockets网络开发:基于Visual C++实现》由浅入深、循序渐进地讲解如何使用WindowsSockets开发网络应用程序。WindowsSockets是当前主要的网络开发技术之一。《精通Windows Sockets网络开发:基于Visual C++实现》内容包括准备开发环境、TCP/IP基本介绍、Windows套接字基础、协议特征、基本TCP套接字编程、基本UDP套接字编程、套接字选项、套接字阻塞模式开发、套接字非阻塞模式开发、Select模型开发、WSAAsyncSelect模型开发、WSAEventSelect模型开发、重叠I/O模型开发和完成端口模型开发。为使读者深入理解套接字的理论知识,增加实践项目经验,《精通Windows Sockets网络开发:基于Visual C++实现》最后7章,每章讲解一个具有实践意义的网络应用程序。在这些实例中包含许多软件开发技术知识,如STL、ADO、多线程、MFC、软件设计模式等。

2012-10-25

C Primer Plus(第五版)中文版.pdf

作为核心计算机技术成熟、完整的参考书籍,primer plus系列历经十数年不衰,因为它能够满足那些渴望通过全面理解相关技术继续深造的程序员和开发者的需要。通过学习《c primer plus(第五版)中文版》,你将奠定坚实的c编程基础。   与以前的版本一样,作者的目标仍旧是为读者提供一本入门性、条理清晰。见解深刻的c语言教程。作者把编程概念和c语言的细节很好地融合在一起。通过大量短小精悍的范例演示一两个概念,为读者提供了很好的练习机会,有助于读者迅速掌握所讲的知识。每章都提供了复习题和编程练习,进一步强调了最重要的信息,有助于读者消化那些难于理解的概念。本书不仅适用于希望系统学习c语言编程的学生,也适用于那些精通其他高级语言编程,但渴望更好地掌握c语言这门核心语言的开发人员。   《c primer plus(第五版)中文版》专门针对c语言的最新标准c99而作,它覆盖了这个新标准所引入的所有重要的新特性,并对读者所关注的以下几个主题提供了详尽的信息:    ● 扩展的整数类型。    ● 扩展的字符支持。    ● 布尔类型的支持。    ● 变长数组。    ● 复合文字。    ● 指定初始化项目。    ● 扩展的计算支持。    ● 内联函数。   本书全面讲述了c语言编程的相关概念和知识。   全书共17章。第1、2章学习c语言编程所需的预备知识。第3到15章介绍了c语言的相关知识,包括数据类型、格式化输入输出、运算符、表达式、流程控制语句、函数、数组和指针、字符串操作、内存管理、位操作等等,知识内容都针对c99标准;另外,第10章强化了对指针的讨论,第12章引入了动态内存分配的概念,这些内容更加适合读者的需求。第16章和第17章讨论了c预处理器和c库函数、高级数据表示(数据结构)方面的内容。附录给出了各章后面复习题、编程练习的答案和丰富的c编程参考资料。   本书适合希望系统学习c语言的读者,也适用于精通其他编程语言并希望进一步掌握和巩固c编程技术的程序员。

2012-10-25

C++ Primer 中文第四版(非扫描).pdf

C++诞生20年后,因其强大的功能、广泛的适用性和极高的效率,已经成为毋庸置疑的主流编程语言。但是C++语言也不得不面对这样的挑战:其博大精深不仅令初学者望而生畏,而且即使是许多富于经验的老手也很难全面掌握,更有不少C++程序员一直背负着C语言的历史包袱,常常落入各种微妙难解的安全和性能陷阱。如何使现代C++理念深入人心,使C++更加容易学习和使用,已经成为众所瞩目的关键问题。   C++ Primer是久负盛名、无可替代的C++经典著作,已经帮助全球无数程序员学会了C++。第4版完美结合了C++大师Stan B. Lippman丰富的实践经验和C++标准委员会原负责人Josée Lajoie对C++标准的深入理解,更加入了C++先驱Barbara E. Moo在C++教学方面的真知灼见,充分体现了C++语言的最新进展和当前的业界最佳实践。   对C++基本概念和技术全面而且权威的阐述,以及对现代C++编程风格的强调,使本书不仅是初学者的最佳C++指南,而且是中高级程序员不可或缺的参考书。

2012-10-25

WINDOWS网络编程技术pdf及源码

本书专门讨论Windows网络编程技术,覆盖Windows 95/98/NT 4/2000/CE平台。内容包括NetBIOS和Windows重定向器方法、Winsock方法、客户端远程访问服务器方法。本书论述深入浅出、用大量实例详解了微软网络API函数的应用。配套光盘包含了所有实例代码,方便读者使用。本书适合中、高级程序设计人员以及网络设计与管理人员参考。

2012-10-25

Orange'S:一个操作系统的实现.pdf part2

《orange s:一个操作系统的实现》从只有二十行的引导扇区代码出发,一步一步地向读者呈现一个操作系统框架的完成过程。书中不仅关注代码本身,同时关注完成这些代码的思路和过程。本书不同于其他的理论型书籍,而是提供给读者一个动手实践的路线图。读者可以根据路线图逐步完成各部分的功能,从而避免了一开始就面对整个操作系统数万行代码时的迷茫和挫败感。书中讲解了大量在开发操作系统中需注意的细节问题,这些细节不仅能使读者更深刻地认识操作系统的核心原理,而且使整个开发过程少走弯路。本书分上下两篇,共11章。其中每一章都以前一章的工作成果为基础,实现一项新的功能。而在章的内部,一项大的功能被分解成许多小的步骤,通过完成每个小的步骤,读者可以不断获得阶段性的成果,从而让整个开发过程变得轻松并且有趣。   本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校操作系统课程的实践参考书。

2012-10-25

Orange'S:一个操作系统的实现.pdf

《orange s:一个操作系统的实现》从只有二十行的引导扇区代码出发,一步一步地向读者呈现一个操作系统框架的完成过程。书中不仅关注代码本身,同时关注完成这些代码的思路和过程。本书不同于其他的理论型书籍,而是提供给读者一个动手实践的路线图。读者可以根据路线图逐步完成各部分的功能,从而避免了一开始就面对整个操作系统数万行代码时的迷茫和挫败感。书中讲解了大量在开发操作系统中需注意的细节问题,这些细节不仅能使读者更深刻地认识操作系统的核心原理,而且使整个开发过程少走弯路。本书分上下两篇,共11章。其中每一章都以前一章的工作成果为基础,实现一项新的功能。而在章的内部,一项大的功能被分解成许多小的步骤,通过完成每个小的步骤,读者可以不断获得阶段性的成果,从而让整个开发过程变得轻松并且有趣。   本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校操作系统课程的实践参考书。

2012-10-25

《深入解析Windows操作系统(第6版, Part 1)》(Windows Internals, 6th Ed, Part 1)英文版[PDF]

《深入解析Windows操作系统·卷1》是操作系统内核专家Russinovich等人的Windows操作系统原理的最新版著作,针对Windows 7和Windows Server 2008 R2进行了全面的更新,主要讲述Windows的底层关键机制、Windows的核心组件(包括进程/ 线程/ 作业、安全性、I/O系统、存储管理、内存管理、缓存管理、文件系统和网络),并分析了启动进程、关机进程以及缓存转储。书中提供了许多实例,读者可以借此更好地理解Windows 的内部行为。    《深入解析Windows操作系统·卷1》内容丰富,信息全面,适合众多Windows平台开发人员、系统管理员阅读。

2012-10-24

《深入解析Windows操作系统(第6版, Part 2)》(Windows Internals, 6th Ed, Part 2)英文版[PDF]

Delve inside Windows architecture and internals—and see how core components work behind the scenes. Led by three renowned internals experts, this classic guide is fully updated for Windows 7 and Windows Server 2008 R2—and now presents its coverage in two volumes. As always, you get critical insider perspectives on how Windows operates. And through hands-on experiments, you’ll experience its internal behavior firsthand—knowledge you can apply to improve application design, debugging, system performance, and support. In Part 2, you’ll examine: Core subsystems for I/O, storage, memory management, cache manager, and file systems Startup and shutdown processes Crash-dump analysis, including troubleshooting tools and techniques

2012-10-20

Windows.Internals.Part.1(6th,2012.3)].Mark.E.Russinovich.文字版.pdf

Delve inside Windows architecture and internals—guided by a team of internationally renowned internals experts. Fully updated for Windows 7 and Windows Server 2008 R2, this classic guide delivers key architectural insights on system design, debugging, performance, and support—along with hands-on experiments to experience Windows internal behavior firsthand. See how Windows components work behind the scenes: Understand how the core system and management mechanisms work Explore internal system data structures using tools like the kernel debugger Go inside the Windows security model to see how it authorizes access to data Understand how Windows manages physical and virtual memory Tour the Windows networking stack from top to bottom Troubleshoot file-system access problems and system boot problems Learn how to analyze crashes

2012-10-20

算法(英文版)(第4版).pdf

《算法(英文版)(第4版)》是Sedgewick之巨著,与高德纳TAOCP一脉相承,几十年多次修订,经久不衰的畅销书,涵盖所有程序员必须掌握的50种算法,算法领域的经典参考书,Sedgewick畅销著作的最新版,反映了经过几十年演化而成的算法核心知识体系。 《算法(英文版•第4版)》作为算法领域经典的参考书,全面介绍了关于算法和数据结构的必备知识,并特别针对排序、搜索、图处理和字符串处理进行了论述。第4版具体给出了每位程序员应知应会的50个算法,提供了实际代码,而且这些Java代码实现采用了模块化的编程风格,读者可以方便地加以改造。本书配套网站提供了本书内容的摘要及更多的代码实现、测试数据、练习、教学课件等资源。 《算法(英文版•第4版)》适合用作大学教材或从业者的参考书。

2012-10-20

Linux内核源代码情景分析 pdf

《LINUX内核源代码情景分析(上册)》采取类似于英语教学中行之有效的情景会话的教学方法,全面深入地剖析了Linux最新版本核心源代码,并对Linux核心的独特优点和需要进一步改进的问题作了精辟的评述。《LINUX内核源代码情景分析(上册)》包括:预备知识、存储管理、中断和系统调用、进程和进程调度、文件系统以及传统的Unix进程通讯共六章。 《LINUX内核源代码情景分析》(下)采取类似于英语教学中行之有效的情景会话的教学方法,全面深入地剖析了Linux最新版本核心源代码,并对Linux核心的独特优点和需要进一步改进的问题作了精辟的评述。《LINUX内核源代码情景分析》(下)则分基于Socket的进程间通讯、设备驱动、多处理器 SMP系统结构以及系统引导和初始化四章。

2012-10-18

linux设备驱动开发详解

《Linux设备驱动开发详解(第2版)》是一本介绍Linux设备驱动开发理论、框架与实例的书,《Linux设备驱动开发详解(第2版)》基于LDD6410开发板,以Linux2.6 版本内核为蓝本,详细介绍自旋锁、信号量、完成量、中断顶/底半部、定时器、内存和I/O映射以及异步通知、阻塞I/O、非阻塞I/O等Linux设备驱动理论;字符设备、块设备、TTY设备、I2C设备、LCD设备、音频设备、USB设备、网络设备、PCI设备等Linux设备驱动的架构和框架中各个复杂数据架构和函数的关系,并讲解了Linux驱动开发的大量实例,使读者能够独立开发各类Linux设备驱动。《Linux设备驱动开发详解(第2版)》内容全面,实例丰富,操作性强,语言通俗易懂,适合广大Linux开发人员、嵌入式工程师参考使用。

2012-10-18

Debug Hacks中文版—深入调试的技术和工具.pdf

《debug hacks中文版—深入调试的技术和工具》是miracle linux的创始人吉冈弘隆和几位工程师们多年从事内核开发的经验积累。从调试器的基本使用方法、汇编的基础知识开始,到内核错误信息捕捉、应用程序调试、内核调试,本书深入浅出地讲解了linux下应用程序和内核的调试技巧。   虽然本书的出发点是linux内核调试,但书中的绝大部分知识在许多领域都能派上用场。如linux应用程序开发,嵌入式linux开发,甚至时下流行的ios应用程序开发,只要从事应用程序开发的工作,就会涉及调试,那么读一读本书也不无裨益。

2012-10-16

自己动手写操作系统 pdf 源码

本书在详细分析操作系统原理的基础上,用丰富的实例代码,一步一步地指导读者用C语言和汇编语言编写出一个具备操作系统基本功能的操作系统框架。本书不同于其他的理论型书籍,而是提供给读者一个动手实践的路线图。书中讲解了大量在开发操作系统中需注意的细节问题,这些细节不仅能使读者更深刻地认识操作系统的核心原理,而且使整个开发过程少走弯路。全书共分7章。   本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校操作系统课程的实践参考书。

2012-10-16

Windows 环境下32位汇编语言程序设计(第2版)完整高清晰PDF版.pdf

windows环境下32位汇编语言是一种全新的编程语言。它使用与c++语言相同的api接口,不仅可以用来开发出大型的软件,而且是了解操作系统运行细节的最佳方式。.   本书从编写应用程序的角度,从“hello world!”这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过70多个实例逐步深入win32汇编语言编程的方方面面。.. 本书作者罗云彬拥有十余年汇编语言编程经验,是汇编编程网站http://asm.yeah.net和汇编编程论坛http://win32asm.yeah.net的站长。本书是作者多年来编程工作的总结,适合于欲通过win32汇编语言编写windows程序的读者。...

2012-10-10

天书夜读——从汇编语言到Windows内核编程

本书从基本的Windows程序与汇编指令出发,深入浅出地讲解了Windows内核的编程、调试、阅读,以及自行探索的方法。读者在使用C/C++开发Windows程序的基础上,将熟练掌握汇编和C语言的应用,深入了解Windows底层,并掌握阅读Windows内核的基本方法,以及Windows内核的基本编程方法。   本书适合使用C/C++在Windows上编程的读者,尤其适合希望加深自己技术功底的Windows应用程序员、计算机专业的有志于软件开发的大中院校学生;专业的Windows内核程序员,亦可从本书得到超越一般内核程序开发的启发。

2012-10-10

2020年下半年网络规划设计师上午试卷综合知识.doc

2020年下半年网络规划设计师上午试卷综合知识

2021-11-29

2020 网络规划设计师 真题上午综合.doc

2020 网络规划设计师 真题上午综合 word版本

2021-10-05

2009-2018年系统架构设计师章节分类真题与答案解析.zip

2009-2018年系统架构设计师章节分类真题与答案解析

2019-08-18

交通管理与控制(第四版).pdf

《高等学校教材:交通管理与控制》分交通管理和交通控制两篇,共16章。主要介绍交通现状诊断、交通运行管理、交叉口交通管理、城市交通管理规划、道路交通标志与标线、交通需求管理及交通影响分析等交通管理思想与方法;介绍交通控制基础知识及方法论、车流运动机理、交叉口的交通信号控制、交通感应信号控制、干道交通信号协调控制、区域交通信号控制系统、高速公路交通控制、交通控制智能化与一体化等交通控制理论与方法。《高等学校教材:交通管理与控制》融入了交通管理与控制领域发展的新成果,为读者提供了多层次、多角度的专业理论基础知识和实际案例,同时还针对我国城市交通的具体问题进行了分析讨论。   《高等学校教材:交通管理与控制》可作为高等院校交通工程专业、交通运输专业高年级本科生教材,亦可作为相关专业研究生教学参考书;对与城市交通系统有关的政府决策与管理人员,交通规划、设计与咨询人员亦有很好的参考价值。

2019-06-07

交通管理与控制(交通工程专业用)杨佩昆人民交通出版社.pdf

本书着重于控讨对现有的道路交通设施,如何科学地采取交通管理与控制技术的各种交通治理措施来提高其交通效益与交通安全。 全书分为交通管理与交通控制两篇十二个章节,对交通管理的内容、设施;交通控制的原理、技术及设备进行了介绍。 本书是交通工程专业用教材,道路工程专业选修课教材,也可供有关专业的技术人员参考。

2019-06-01

运筹学 第四版 清华大学出版社 2012.pdf

为适应大学本科教学,本书在《运筹学》(第4版)基础上,吸收广大读者的意见,做了局部调整和修改。全书分为绪论、线性规划与目标规划、整数线性规划与动态规划、图与网络分析、存储论、对策与决策以及启发式方法7篇,着重介绍运筹学的基本原理和方法。书中每章后附有习题,便于自学。有些部分的后面增补了“注记”,便于读者了解运筹学各分支的发展趋势。 本书可作为高等院校理工科各专业的教材,亦可作为报考研究生的参考书。

2019-04-19

数学分析新讲全3册套装 - 张筑生.pdf

本书的前身是北京大学数学系教学系教学改革实验讲义。改革的基调是:强调启发性,强调数学内在的统一性。重视学生能力的培养。书中不仅讲解数学分析的基本原理,而且还介绍一些重要的应用(包括从开普勒行星运动定律推导万有引力定律)。从概念的引入到定理的证明,书中作了煞费苦心的安排,使传统的材料以新的面貌观出。书中还收入了一些有重要理论意义与实际意义的新材料(例如利用微分形式的积分证明布劳沃尔不动点定理等)。   全书共三册。第一册内容是:一元微积分,初等微分方程及其应用。第二册内容是:一元微积分的进一步讨论,广义积分,多元函数微分学,重积分。第三册内容是: 曲线、曲面与微积分,级数与含参变元的积分等。   本书可作为大专院校数学系数学分析基础课教材或补充读物,又可作为大、中学教师,科学工作者和工程技术人员案头常备的数学参考书。

2019-04-09

逆向工程权威指南 上下册 pdf

逆向工程是一种分析目标系统的过程,旨在于识别系统的各组件以及组件间关系,以便于通过其它形式、或在较高的抽象层次上,重建系统的表征。 本书专注于软件的逆向工程,是写给初学者的一本经典指南。全书共分为12个部分,共102章,涉及X86/X64、ARM/ARM-64、MIPS、Java/JVM等重要话题,详细解析了Oracle RDBMS、Itanium、软件狗、LD_PRELOAD、栈溢出、ELF、Win32 PE文件格式、x86-64(第、critical sections、syscalls、线程本地存储TLS、地址无关代码(PIC)、以配置文件为导向的优化、C++ STL、OpenMP、SHE等众多技术话题,堪称是逆向工程技术百科全书。除了详细讲解,本书来给出了很多习题来帮助读者巩固所学的知识,附录部分给出了习题的解答。 本书适合对逆向工程技术、操作系统底层技术、程序分析技术感兴趣的读者阅读,也适合专业的程序开发人员参考。

2019-04-07

Windows Sysinternals实战指南 英文版 第二版 pdf

英文版 第二版 Windows Sysinternals工具已被很多IT专家和高 级用户用作在Windows平台上进行问题诊断和排错,以及深入理解Windows系统的全功能“瑞士军刀”。这本由Sysinternals创始人Mark Russinovich与Windows专家Aaron Margosis联手编著的实战指南图书详细介绍了Sysinternals每款工具的独到功能,并用较多篇幅深入介绍了如何通过几款重量级工具优化Windows系统的可靠性、执行效率、性能以及安全性。**后,还通过大量现实案例介绍了通过这些工具解决程序出错、停止响应、卡顿、恶意软件感染等问题的思路、方法以及完整过程。

2019-04-05

WINDOWS程序设计 第6版.pdf

作为Windows开发圣经的最新版本,本书的主题是Windows 8应用程序开发,全面介绍Windows程序设计所涉及的细枝末节,旨在帮助读者从高屋见瓴的角度建立完整的知识体系,为以后的职业生涯奠定良好的基础。 [1] 全书共两部分19章。第1~12章着重介绍基础知识。第13~19章介绍侧重于Windows 8平台开发的触摸、位图、富文本、打印、富文本、GPS/传感器和手写笔等方面。 本书适合任何层次的Windows程序员阅读和参考,是帮助他们梳理和建立Windows知识体系的理想读物。

2019-04-05

深入理解计算机系统(原书第三版3).pdf

和第2版相比,本版内容上*大的变化是,从以IA32和x86-64为基础转变为完全以x86-64为基础。主要更新如下: 基于x86-64,大量地重写代码,首次介绍对处理浮点数据的程序的机器级支持。 处理器体系结构修改为支持64位字和操作的设计。 引入更多的功能单元和更复杂的控制逻辑,使基于程序数据流表示的程序性能模型预测更加可靠。 扩充关于用GOT和PLT创建与位置无关代码的讨论,描述了更加强大的链接技术(比如库打桩)。 增加了对信号处理程序更细致的描述,包括异步信号安全的函数等。 采用新函数,更新了与协议无关和线程安全的网络编程。

2019-04-05

Windows Internals Part 1 7th Edition 2017.5.pdf 英文版

从Windows 8开始,微软开始了一个将操作系统融合的过程。而在Windows 10中,这个融合已经趋于完美,它运行在台式计算机/笔记本电脑、服务器、XBOX One、手机(Windows Mobile 10)、HoloLens和各种物联网设备上。本书作为深度解析Windows操作系统这一系列的第7版(第1部分即卷1),其内容则涵盖了Windows从Windows 8到Windows 10演变过程中的各个方面。 本书介绍了Windows 10和Windows Sever 2016的架构与核心内部结构。通过本书,读者可以了解Windows系统架构及其一般组件,掌握如何使用诸如内核调试器之类的工具来探索内部数据结构,也可以了解Windows如何使用流程进行管理和隔离,理解和查看线程调度以及如何管理CPU资源,还可以深入理解Windows安全模型,包括在安全措施方面的最新进展,并了解Windows如何管理虚拟和物理内存,以及输入/输出系统如何管理物理设备和设备驱动程序。具体分为以下7个部分:概念和工具、系统架构、进程和作业、线程、内存管理、I/O系统和安全。 本书内容丰富、信息全面,适合广大Windows平台开发人员、系统管理员及Windows爱好者阅读。 编辑推荐 深入研究Windows系统架构和内部构件,并了解核心组件在幕后的工作原理。这本指南由微软内部专家团队撰写,针对Windows 10和Windows Server 2016进行了全面更新。无论你是一名开发人员还是IT专业人士,都可以学到关于Windows如何运作的关键的内部观点。通过亲身实践,你将体验到Windows操作系统的内部行为——获取可用于改进应用程序设计、调试、系统性能和支持的知识。 本书将帮助读者: ● 了解Windows系统架构及其zui重要的实体,例如进程和线程; ● 了解进程如何管理资源以及在进程执行中如何调度线程; ● 观察Windows如何管理虚拟和物理内存; ● 深入了解Windows I/O系统,了解设备驱动程序如何工作并与系统的其余部分整合在一起; ● 学习Windows安全模型,了解它如何管理访问、审核和shou权,并了解Windows 10和Windows Server 2016中的新机制。 作者简介 作者:[以] 帕维尔·尤西夫维奇(Pavel Yosifovich)[加] 亚历克斯·约内斯库(Alex Ionescu)[美] 马克·拉希诺维奇(Mark Russinovich)[美] 大卫·所罗门(David Solomon) 译者:无 帕维尔·尤西夫维奇(Pavel Yosifovich)是一位专注于Microsoft技术和工具的开发人员、培训师和作者。他是Microsoft的MVP和Pluralsight的作者。 亚历克斯·约内斯库(Alex Ionescu)是CrowdStrike公司EDR战略副总裁,同时也是国际公认的低级别系统软件、操作系统研究和内核开发、安全培训和逆向工程方面的专家。 马克·拉希诺维奇(Mark Russinovich)是微软全球企业级云平台Azure的首席技术官,也是分布式系统和操作系统领域公认的专家。他是Winternal软件公司的联合创始人,也是Sysinternals工具和网站的主要作者。 大卫·所罗门(David Solomon)给世界各地的开发者和IT专业人士教授Windows内核的内部原理已有20年。他参与了本书每个版本的写作。大卫是1993年和2005年Microsoft Support Most Valuable Professional(MVP)奖的获得者。 目录 Introduction / 引言 i 1 Concepts and tools / 第 1章 概念和工具 1 1.1 Windows operating system versions / Windows操作系统版本 1 1.1.1 Windows 10 and future Windows versions / Windows 10和后续Windows版本 3 1.1.2 Windows 10 and OneCore / Windows 10和Windows系统核心 3 1.2 Foundation concepts and terms / 基本概念和术语 4 1.2.1 Windows API / Windows API 4 1.2.2 Services, functions, and routines / 服务、功能和例行程序 7 1.2.3 Processes / 进程 8 1.2.4 Threads / 线程 18 1.2.5 Jobs / 作业 20 1.2.6 Virtual memory / 虚拟内存 21 1.2.7 Kernel mode vs. user mode / 内核模式vs用户模式 23 1.2.8 Hypervisor / 虚拟机管理程序 27 1.2.9 Firmware / 固件版本 29 1.3.0 Terminal Services and multiple sessions / 终端服务和多会话 29 1.3.1 Objects and handles / 对象和处理 30 1.3.2 Security / 安全 31 1.3.3 Registry / 注册表 32 1.3.4 Unicode / Unicode编码 33 1.3 Digging into Windows internals / 深入挖掘Windows内部 35 1.3.1 Performance Monitor and Resource Monitor / 性能监控和资源监控 36 1.3.2 Kernel debugging / 内核调试 38 1.3.3 Windows Software Development Kit / Windows SDK 43 1.3.4 Windows Driver Kit / Windows驱动套件 43 1.3.5 Sysinternals tools / 五大利器 44 1.4 结论 44 2 System architecture / 第 2章 系统架构 45 2.1 Requirements and design goals / 需求和设计目标 45 2.2 Operating system model / 操作系统模型 46 2.3 Architecture overview / 架构概述 47 2.3.1 Portability / 可移植性 50 2.3.2 Symmetric multiprocessing / 对称多处理 51 2.3.3 Scalability / 可扩展性 53 2.3.4 Differences between client and server versions / 客户端和服务端版本的差异 54 2.3.5 Checked build / 已验证版本 57 2.4 Virtualization-based security architecture overview / 基于虚拟化技术的安全架构概述 59 2.5 Key system components / 核心系统组件 61 2.5.1 Environment subsystems and subsystem DLLs / 环境子系统和子系统DLL 62 2.5.2 Other subsystems / 其他子系统 68 2.5.3 Executive / 执行性 72 2.5.4 Kernel / 内核 75 2.5.5 Hardware abstraction layer / 硬件抽象层 79 2.5.6 Device drivers / 设备驱动 82 2.5.7 System processes / 系统进程 88 2.6 Conclusion / 结论 99 3 Processes and jobs / 第3章 进程和作业 101 3.1 Creating a process / 创建一个进程 101 3.1.1 CreateProcess* functions arguments / CreateProcess*函数参数 102 3.1.2 Creating Windows modern processes / 创建Windows进程 103 3.1.3 Creating other kinds of processes / 创建其他类型线程 104 3.2 Process internals / 进程核心 105 3.3 Protected processes / 受保护的进程 113 3.3.1 Protected Process Light (PPL) / PPL 115 3.3.2 Third-party PPL support / 第三方PPL支持 119 3.4 Minimal and Pico processes / 最小进程和微进程 120 3.4.1 Minimal processes / 最小进程 120 3.4.2 Pico processes / 微进程 121 3.5 Trustlets (secure processes) / Trustlets(安全进程) 123 3.5.1 Trustlet structure / Trustlet结构 123 3.5.2 Trustlet policy metadata / Trustlet策略元数据 124 3.5.3 Trustlet attributes / Trustlet属性 125 3.5.4 System built-in Trustlets / 系统内置Trustlets 125 3.5.5 Trustlet identity / Trustlet标识 126 3.5.6 Isolated user-mode services / 隔离的用户模式服务 127 3.5.7 Trustlet-accessible system calls / Trustlet可访问的系统调用 128 3.6 Flow of CreateProcess / 创建进程流程 129 3.6.1 Stage 1: Converting and validating parameters andflags / 阶段1:转换并验证参数和标记 131 3.6.2 Stage 2: Opening the image to be executed / 阶段2:打开要执行的镜像 135 3.6.3 Stage 3: Creating the Windows executive process object / 阶段3:创建Windows可执行进程对象 138 3.6.4 Stage 4: Creating the initial thread and its stack and context / 阶段4:创建初始线程以及它的堆栈和上下文 144 3.6.5 Stage 5: Performing Windows subsystem–specific initialization / 阶段5:执行Windows子系统的特殊初始化 146 3.6.6 Stage 6: Starting execution of the initial thread / 阶段6:开始执行初始线程 148 3.6.7 Stage 7: Performing process initialization in the context of the new process / 阶段7:在新进程中的上下文执行进程初始化 148 3.7 Terminating a process / 终止一个进程 154 3.8 Image loader / 镜像加载器 155 3.8.1 Early process initialization / 早期进程初始化 157 3.8.2 DLL name resolution and redirection / DLL名称解析和重定向 160 3.8.3 Loaded module database / 已加载组件的数据库 164 3.8.4 Import parsing / 导入解析 168 3.8.5 Post-import process initialization / 后导入进程初始化 170 3.8.6 SwitchBack / SwitchBack 171 3.8.7 API Sets / API集 173 3.9 Jobs / 作业 176 3.9.1 Job limits / 作业限制 177 3.9.2 Working with a job / 处理一个作业 178 3.9.3 Nested jobs / 嵌套作业 179 3.9.4 Windows containers (server silos) / Windows容器(服务器仓库) 183 3.10 Conclusion / 结论 191 4 Threads / 第4章 线程 193 4.1 Creating threads / 创建线程 193 4.2 Thread internals / 线程内部 194 4.2.1 Data structures / 数据结构 194 4.2.2 Birth of a thread / 线程的产生 206 4.3 Examining thread activity / 检查线程活性 207 4.3.1 Limitations on protected process threads / 受保护进程中线程的限制 212 4.4 Thread scheduling / 线程调度 214 4.4.1 Overview of Windows scheduling / Windows调度概述 214 4.4.2 Priority levels / 优先级等级 215 4.4.3 Thread states / 线程状态 223 4.4.4 Dispatcher database / 调度数据库 228 4.4.5 Quantum / 量子 231 4.4.6 Priority boosts / 提高优先级 238 4.4.7 Context switching / 上下文切换 255 4.4.8 Scheduling scenarios / 调度场景 256 4.4.9 Idle threads / 空闲线程 260 4.4.10 Thread suspension / 线程挂起 264 4.4.11 (Deep) freeze / (深度)冻结 264 4.4.12 Thread selection / 线程选择 266 4.4.13 Multiprocessor systems / 多处理器系统 268 4.4.14 Thread selection on multiprocessor systems / 多处理器系统的线程选择 283 4.4.15 Processor selection / 处理器选择 284 4.4.16 Heterogeneous scheduling (big.LITTLE) / 多重调度(big.LITTLE) 286 4.5 Group-based scheduling / 基于组的调度 287 4.5.1 Dynamic fair share scheduling / 动态公平共享调度 289 4.5.2 CPU rate limits / CPU速率限制 292 4.5.3 Dynamic processor addition and replacement / 动态处理器添加和替换 295 4.6 Worker factories (thread pools) / 工人工厂(线程池) 297 4.6.1 Worker factory creation / 创建工人工厂 298 4.7 Conclusion / 结论 300 5 Memory management / 第5章 内存管理 301 5.1 Introduction to the memory manager / 内存管理介绍 301 5.1.1 Memory manager components / 内存管理组件 302 5.1.2 Large and small pages / 大小页面 303 5.1.3 Examining memory usage / 检查内存使用 305 5.1.4 Internal synchronization / 内部同步 308 5.2 Services provided by the memory manager / 内存管理提供的服务 309 5.2.1 Page states and memory allocations / 页面状态和内存分配 310 5.2.2 Commit charge and commit limit / 提交调度和提交限制 313 5.2.3 Locking memory / 锁定内存 314 5.2.4 Allocation granularity / 分配粒度 314 5.2.5 Shared memory and mapped files / 共享内存和映射文件 315 5.2.6 Protecting memory / 内存保护 317 5.2.7 Data Execution Prevention / 数据执行保护 319 5.2.8 Copy-on-write / 写时复制 321 5.2.9 Address Windowing Extensions / 地址窗口化扩展 232 5.3 Kernel-mode heaps (system memory pools) / 内核模式堆(系统内存池) 324 5.3.1 Pool sizes / 池大小 325 5.3.2 Monitoring pool usage / 监控池的使用 327 5.3.3 Look-aside lists / 旁观列表 331 5.4 Heap manager / 堆管理 332 5.4.1 Process heaps / 堆进程 333 5.4.2 Heap types / 堆类型 334 5.4.3 The NT heap / NT堆 334 5.4.4 Heap synchronization / 堆同步 334 5.4.5 The low-fragmentation heap / 低碎片堆 335 5.4.6 The segment heap / 分段堆 336 5.4.7 Heap security features / 堆安全功能 341 5.4.8 Heap debugging features / 堆调试功能 342 5.4.9 Pageheap / 页面堆 343 5.4.10 Fault-tolerant heap / 容错堆 347 5.5 Virtual address space layouts / 虚拟地址空间布局 348 5.5.1 x86 address space layouts / X86地址空间布局 349 5.5.2 x86 system address space layout / X86系统地址空间布局 352 5.5.3 x86 session space / X86会话空间 353 5.5.4 System page table entries / 系统页面表条目 355 5.5.5 ARM address space layout / ARM地址空间布局 356 5.5.6 64-bit address space layout / 64bit地址空间布局 357 5.5.7 x64 virtual addressing limitations / 64虚拟地址限制 359 5.5.8 Dynamic system virtual address space management / 动态系统虚拟地址空间管理 359 5.5.9 System virtual address space quotas / 系统虚拟地址空间配额 364 5.5.10 User address space layout / 用户地址空间布局 365 5.6 Address translation / 地址转化 371 5.6.1 x86 virtual address translation / X86虚拟地址转化 371 5.6.2 Translation look-aside buffer / 旁观缓冲转化 377 5.6.3 x64 virtual address translation / X64虚拟地址转化 380 5.6.4 ARM virtual address translation / ARM虚拟地址转化 381 5.7 Page fault handling / 页面错误处理 383 5.7.1 Invalid PTEs / 非法PTE 384 5.7.2 Prototype PTEs / 原型PTE 385 5.7.3 In-paging I/O / 页面内I/O 386 5.7.4 Collided page faults / 页面错误冲突 387 5.7.5 Clustered page faults / 页面错误聚集 387 5.7.6 Page files / 页面文件 389 5.7.7 Commit charge and the system commit limit / 提交调度和系统提交限制 394 5.7.8 Commit charge and page file size / 提交调度和页面文件大小 397 5.8 Stacks / 栈 398 5.8.1 User stacks / 用户栈 399 5.8.2 Kernel stacks / 内核栈 400 5.8.3 DPC stack / DPC栈 401 5.9 Virtual address descriptors / 虚拟地址描述符 401 5.9.1 Process VADs / VAD进程 402 5.9.2 Rotate VADs / VAD轮询 403 5.10 NUMA / NUMA 404 5.11 Section objects / 段对象 405 5.12 Working sets / 工作集 412 5.12.1 Demand paging / 分页需求 413 5.12.2 Logical prefetcher and ReadyBoot / 逻辑预取和启动准备 413 5.12.3 Placement policy / 安置策略 416 5.12.4 Working set management / 工作集管理 417 5.12.5 Balance set manager and swapper / 平衡集合管理器和置换器 421 5.12.6 System working sets / 系统工作集 422 5.12.7 Memory notification events / 内存提醒事件 423 5.13 Page frame number database / 页面框架序号数据库 425 5.13.1 Page list dynamics / 页面动态列表 428 5.13.2 Page priority / 页面优先级 436 5.13.3 Modified page writer and mapped page writer / 修改和映射页面写入 438 5.13.4 PFN data structures / PFN数据结构 440 5.13.5 Page file reservation / 页面文件预定 443 5.14 Physical memory limits / 物理内存限制 446 5.14.1 Windows client memory limits / Windows客户端内存限制 447 5.15 Memory compression / 内存压缩 449 5.15.1 Compression illustration / 压缩图表 450 5.15.2 Compression architecture / 压缩架构 453 5.16 Memory partitions / 内存分割 456 5.17 Memory combining / 内存联合 459 5.17.1 The search phase / 寻找阶段 460 5.17.2 The classifi cation phase / 分类阶段 461 5.17.3 The page combining phase / 页面联合阶段 462 5.17.4 From private to shared PTE / 从私有PTE到共享PTE 462 5.17.5 Combined pages release / 联合页面释放 464 5.18 Memory enclaves / 内存区 467 5.18.1 Programmatic interface / 编程接口 468 5.18.2 Memory enclave initializations / 内存区初始化 469 5.18.3 Enclave construction / 区结构 469 5.18.4 Loading data into an enclave / 将数据加载到区 471 5.18.5 Initializing an enclave / 初始化一个区 472 5.19 Proactive memory management (SuperFetch) / 主动内存管理(SuperFetch) 472 5.19.1 Components / 组件 473 5.19.2 Tracing and logging / 跟踪和记录 474 5.19.3 Scenarios / 场景 475 5.19.4 Page priority and rebalancing / 页面优先级和平衡调整 476 5.19.5 Robust performance / 鲁棒性能 478 5.19.6 ReadyBoost / 启动准备 479 5.19.7 ReadyDrive / 驱动准备 480 5.19.8 Process refl ection / 进程反射 480 5.20 Conclusion / 结论 482 6 I/O system / 第6章 I/O系统 483 6.1 I/O system components / I/O系统组件 483 6.1.1 The I/O manager / I/O管理器 485 6.1.2 Typical I/O processing / 典型I/O过程 486 6.2 Interrupt Request Levels and Deferred Procedure Calls / 中断请求级别和延迟过程唤醒 488 6.2.1 Interrupt Request Levels / 中断请求级别 488 6.2.2 Deferred Procedure Calls / 延迟过程唤醒 490 6.3 Device drivers / 设备驱动 492 6.3.1 Types of device drivers / 设备驱动类型 492 6.3.2 Structure of a driver / 驱动结构 498 6.3.3 Driver objects and device objects / 驱动对象和设备对象 500 6.3.4 Opening devices / 设备打开 507 6.4 I/O processing / I/O过程 510 6.4.1 Types of I/O / I/O的种类 511 6.4.2 I/O request packets / I/O请求包 513 6.4.3 I/O request to a single-layered hardware-based driver / 基于单层硬件驱动的I/O请求 525 6.4.4 I/O requests to layered drivers / 分层驱动I/O请求 533 6.4.5 Thread-agnostic I/O / 未知线程I/O 536 6.4.6 I/O cancellation / 取消I/O 537 6.4.7 I/O completion ports / I/O完成端口 541 6.4.8 I/O prioritization / I/O优先级 546 6.4.9 Container notifications / 容器提醒 552 6.5 Driver Verifier / 驱动验证 552 6.5.1 I/O-related verification options / I/O相关验证选项 554 6.5.2 Memory-related verification options / 内存相关验证选项 555 6.6 The Plug and Play manager / 即插即用管理器 559 6.6.1 Level of Plug and Play support / 即插即用支持级别 560 6.6.2 Device enumeration / 设备枚举 561 6.6.3 Device stacks / 设备栈 563 6.6.4 Driver support for Plug and Play / 支持即插即用的设备 569 6.65 Plug-and-play driver installation / 即插即用驱动安装 571 6.7 General driver loading and installation / 一般驱动的加载和安装 575 6.7.1 Driver loading / 驱动加载 575 6.7.2 Driver installation / 驱动安装 577 6.8 The Windows Driver Foundation / Windows驱动基础 578 6.8.1 Kernel-Mode Driver Framework / 内核模式驱动框架 579 6.8.2 User-Mode Driver Framework / 用户模式驱动框架 587 6.9 The power manager / 电源管理 590 6.9.1 Connected Standby and Modern Standby / 连接待机和新版待机 594 6.9.2 Power manager operation / 电源管理操作 595 6.9.3 Driver power operation / 驱动电源操作 596 6.9.4 Driver and application control of device power / 驱动和设备电源的应用程序控制 599 6.9.5 Power management framework / 电源管理框架 600 6.9.6 Power availability requests / 电源可用性请求 602 6.10 Conclusion / 结论 603 7 Security / 第7章 安全 605 7.1 Security ratings / 安全评级 605 7.1.1 Trusted Computer System Evaluation Criteria / 可信计算基系统评估标准 605 7.1.2 The Common Criteria / 普遍标准 607 7.2 Security system components / 安全系统组件 608 7.3 Virtualization-based security / 基于虚拟化的安全 611 7.3.1 Credential Guard / 证书防护 612 7.3.2 Device Guard / 设备防护 617 7.4 Protecting objects / 保护对象 619 7.4.1 Access checks / 访问验证 621 7.4.2 Security identifiers / 安全标识 625 7.4.3 Virtual service accounts / 虚拟服务账户 646 7.4.4 Security descriptors and access control / 安全描述符和访问控制 650 7.4.5 Dynamic Access Control / 动态访问控制 666 7.5 The AuthZ API / AuthZ API 666 7.5.1 Conditional ACEs / 条件响应ACE 667 7.6 Account rights and privileges / 账户权限和特权 668 7.6.1 Account rights / 账户权限 669 7.6.2 Privileges / 特权 670 7.6.3 Super privileges / 超级特权 675 7.7 Access tokens of processes and threads / 进程和线程的账户口令 677 7.8 Security auditing / 安全审计 677 7.8.1 Object access auditing / 对象访问审计 679 7.8.2 Global audit policy / 全局审计策略 682 7.8.3 Advanced Audit Policy settings / 高级审计策略设置 683 7.9 AppContainers / 应用容器 684 7.9.1 Overview of UWP apps / UWP应用概述 685 7.9.2 The AppContainer / 应用容器 687 7.10 Logon / 登录 710 7.10.1 Winlogon initialization / Winlogon初始化 711 7.10.2 User logon steps / 用户登录步骤 713 7.10.3 Assured authentication / 确信的认证 718 7.10.4 Windows Biometric Framework / Windows生物识别验证 719 7.10.5 Windows Hello / Windows你好 721 7.11 User Account Control and virtualization / 用户账户控制和虚拟化 722 7.11.1 File system and registry virtualization / 文件系统和注册表虚拟化 722 7.11.2 Elevation / 提升 729 7.12 Exploit mitigations / 攻击缓解 735 7.12.1 Process-mitigation policies / 进程缓解策略 735 7.12.2 Control Flow Integrity / 控制流完整性 740 7.12.3 Security assertions / 安全断言 752 7.13 Application Identifi cation / 应用程序标识 756 7.14 AppLocker / 应用锁 757 7.15 Software Restriction Policies / 软件限制策略 762 7.16 Kernel Patch Protection / 内核补丁保护 764 7.17 PatchGuard / 补丁防护 765 7.18 HyperGuard / 高度防护 768 7.19 Conclusion / 结论 770 Index / 索引 771

2019-04-04

系统分析师05-18历年真题

包含05年到18年的综合、案例分析、论文三部分的真题,清理了广告

2019-03-30

系统分析师教程2010版(带完整书签).pdf

本书由全国计算机专业技术资格考试办公室组织编写,是系统分析师考试的指定教材。本书围绕系统分析师的工作职责和任务而展开,对系统分析师所必须掌握的理论基础和应用技术做了详细的介绍,重在培养系统分析师所必须具备的专业技能。 本书内容既符合系统分析师考试总体纲领性的要求,也是系统分析师职业生涯所必需的知识与技能体系。准备参加考试的人员可通过阅读本书掌握考试大纲规定的知识,把握考试重点和难点。 本书可作为系统分析师的工作手册,也可作为系统分析与设计技术的培训和辅导教材,还可以作为计算机专业教师的教学参考用书。

2019-03-30

C++黑客编程揭秘与防范.pdf 第2版

冀云编著的《C++黑客编程揭秘与防范》旨在通过简单的语法知识及常用的系统函数编程,完成一些有特定功能的安全工具,让读者对系统知识等各方面有一个全面的了解,并且在笔者的带领下一步步完成书中的实例。《C++黑客编程揭秘与防范》主要内容为:第1章了解黑客编程,主要讲解了VC(Visual C++的缩写)和Windwos下安全编程方面的基础知识。第2章从剖析简单的木马说起,讲解有关的网络编程和协议知识。第3章Windows应用编程基础,讲解API编程的技术。第4章加密与解密,讲解PE等加密有关的知识。第5章HOOK编程,讲解了与钩子有关的知识。第6章黑客编程剖析,剖析了病毒的原理和攻防技术,以及安全工具的开发。第7章最后的旅程——简单驱动开发及逆向。 《C++黑客编程揭秘与防范》适合网络安全人员、黑客爱好者,以及相关的程序员阅读。

2019-03-30

《加密与解密(第4版)》 段钢 扫描版 pdf

推荐大家购买纸质版,电子版辅助方便查阅 《加密与解密(第4版)》以加密与解密为切入点,讲述了软件安全领域的基础知识和技能,如调试技能、逆向分析、加密保护、外壳开发、虚拟机设计等。这些知识彼此联系,读者在掌握这些内容之后,很容易就能在漏洞分析、安全编程、病毒分析、软件保护等领域进行扩展。从就业的角度来说,掌握加密与解密的相关技术,可以提高自身的竞争能力;从个人成长的角度来说,研究软件安全技术有助于掌握一些系统底层知识,是提升职业技能的重要途径。作为一名合格的程序员,除了掌握需求分析、设计模式等外,如果能掌握一些系统底层知识、熟悉整个系统的底层结构,在工作中必将获益良多。 《加密与解密(第4版)》适合安全研究人员、软件调试人员、程序开发人员阅读,也可以作为高校信息安全相关专业的辅助教材。

2019-03-17

PVS-Studio

PVS-Studio是一款方便易用的静态代码分析仪。该软件可以诊断C/C++/C+11应用程序源代码中的错误,采用的静态代码分析方法有明显的优越性,因为它可以覆盖整个程序代码。 Name:pvs SerialNumber:B1TG-6CYJ-0A07-YX01 LicenseType:Site License LicenseValidThru:2099/12/31

2016-04-15

Redis设计与实现

《Redis设计与实现》是2014年机械工业出版社出版的图书,作者是黄健宏。本书讲解了Redis的内部机制与实现方式,对Redis的大多数单机功能以及所有多机功能的实现原理进行了介绍,展示了这些功能的核心数据结构以及关键的算法思想,并给出大量参考信息。

2016-04-15

tMemMonitor

TMM是一款运行时C/C++内存泄漏检测工具。TMM认为在进程退出时,堆内存中没有被释放且没有指针指向的无主内存块即为内存泄漏,并进而引入垃圾回收(GC, Garbage Collection)机制,在进程退出时检测出堆内存中所有没有被引用的内存单元,因而内存泄露检测准确率为100%。

2016-04-15

IDA Pro 5.4 中文帮助手册

本手册翻译自IDA Pro 5.4 随软件附带的IDAHelp.chm 文件。由于IDA Pro功能强大,支持的软硬件平台丰富,帮助手册内容庞大(共有750多个HTM文件),加之译者使用经验有限,不足之处在所难免。欢迎大家跟帖提出您的宝贵意见! 本手册发布之后译者还会重审译稿并继续使用IDA进行验证以完善译稿,同时跟踪新的IDA版本。所有译稿只会在看雪论坛首发,请大家多关注看雪论坛。

2013-09-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除