IOCP(I/O Completion Port,I/O完成端口)是性能最好的一种I/O模型。它是应用程序使用线程池处理异步I/O请求的一种机制。在处理多个并发的异步I/O请求时,以往的模型都是在接收请求是创建一个线程来应答请求。这样就有很多的线程并行地运行在系统中。而这些线程都是可运行的,Windows内核花费大量的时间在进行线程的上下文切换,并没有多少时间花在线程运行上。再加上创建新线程的开销...
分类:
其他好文 时间:
2014-06-29 22:40:24
阅读次数:
163
1·前言开发windows内核驱动程序是一个非常具有挑战性的工作,你得忍耐调试过程中操作系统 不断蓝屏、不断崩溃的噩梦,所以强烈建议你采用虚拟机做开发平台,这样即使把整个系统都搞蹦了,大不了从新装过虚拟机而已。那么搭建一个完整的 Windows驱动开发环境是每个人必须迈过的第一道坎。本文将具体介绍如...
分类:
其他好文 时间:
2014-06-26 14:56:29
阅读次数:
322
1.Windows API Windows 应用编程接口(API)是针对WIndwos操作系统用户模式的系统编程接口,包含在WindwosSDK中。2.关于.NET .NET由一个被称为FCL的类库和一个被称为CLR的公共语言运行库组成。FCL是建立在CLR之上的,而CLR是一组标准的COM服务器,...
1、基础
运行 Windows 的计算机中的处理器有两个不同模式:“用户模式”和“内核模式”。根据处理器上运行的代码的类型,处理器在两个模式之间切换。应用程序在用户模式下运行,核心操作系统组件在内核模式下运行。多个驱动程序在内核模式下运行,但某些驱动程序在用户模式下运行。
当启动用户模式的应用程序时,Windows 会为该应用程序创建“进程”。进程为应用程序提供专用的“虚拟地址空间...
每天我们都在使用Windows系统学习、编程、听音乐、玩游戏,Windows的操作想来是非常熟练了,但是你又对Windows究竟了解多少呢?本系列的目的,就是让你对Windows系统有个更直观、更清楚、更彻底的认识。尽管我们大多数人看不到Windows的源代码,对其内存调度算法这样的最深层次的技术内...
目前正在阅读毛老师的《windows内核情景分析》一书对象管理章节,作此笔记。Win内核中是使用对象概念来描述管理内核中使用到的数据结构。此对象(Object)均是由对象头(Object
Header)组成,实际上由于对象头概念的特殊结构,还有些可选成分。于是一个对象实际上是分为三部分。OBJECT...
1 调度
Windows不是实时操作系统,它是抢占式多线程操作系统。在假设所有优先级相同的情况下,CPU对线程的调度原则是每隔20m就会切换到下一个线程,根据Context中的IP和SP来接着执行上次的东西。Windows永远不会让1个线程去独占一段时间。
2 可调度性
系统只调用可以调度的线程,其实系统的大部分线程都是处于不可调度的状态,要么处于暂停的状...
分类:
编程语言 时间:
2014-06-03 00:16:07
阅读次数:
402
Windows内核之作业
1 定义:
作业是一种内核对象,它相当于一个容器,里面可以加入很多进程,通过配置作业,可以让作业内的进程具有相同的配置,例如进程的最大执行时间,cpu片占用时间等。
2 作业的创建相关函数
HANDLE CreateJobObject(LPSECURITY_ATTRIBUTESlpJobAttributes,LPCTSTR lpName);
H...
SocketServer
TCPServer,UDPServer,UnixStreamServer,UnixDatagramServer...
分类:
编程语言 时间:
2014-05-24 22:03:54
阅读次数:
424