学好windows编程,理解内核对象还是至关重要的(●'?'●)。闲话不多说,下面先来了解一下关于内核对象的知识: 内核对象(kernel object):内核对象是用于管理进程、线程和文件等诸多种类的大量资源。 内核对象的分类:进程对象,线程对象,互斥量(mutex)对象,信号量(semaphor... ...
单向管道通信实现方式原理:在计算机编程里,命名管道是一种从一个进程到另一个进程用内核对象来进行信息传输。和一般的管道不同,命名管道可以被不同进程以不同的方式方法调用(可以跨权限、跨语言、跨平台)。只要程序知道命名管道的名字,发送到命名管道里的信息可以被一切..
分类:
其他好文 时间:
2016-07-22 14:47:57
阅读次数:
151
线程池
(本章节中例子都是用 VS2010 编译调试的)
线程池编写必须在 Windows Vista 操作系统(以及以上版本的操作系统)下,且
C++ 编译器版本至少是 VS2008
线程池的功能
以异步的方式来调用一个函数每隔一段时间调用一个函数当内核对象触发的时候调用一个函数当异步 I/O 请求完成的时候调用一个函数
注意
当一个进程初始化的时候,它并没有任何与...
分类:
编程语言 时间:
2016-07-13 17:24:15
阅读次数:
299
命名管道是一种从一个进程到另一个进程用内核对象来进行信息传输。和一般的管道不同,命名管道可以被不同进程以不同的方式方法调用(可以跨权限、跨语言、跨平台)。只要程序知道命名管道的名字,发送到命名管道里的信息可以被一切拥有指定授权的程序读取,但对不具有制定授权的。命名管道是一种FIFO(先进先出,Fir ...
CloseHandle 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等 CompareFileTime 对比两个文件的时间 CopyFile 复制文件 CreateDirectory 创建一个新目录 CreateFile 打开和创建文件、管道、邮槽、通信服务、设备以及控制台 ... ...
转载来自:http://blog.csdn.net/mango_song/article/details/42643971 首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I ...
分类:
其他好文 时间:
2016-06-16 21:42:37
阅读次数:
113
无论怎样创建内核对象,都要向系统指明将通过调用 CloseHandle 来结束对该对象的操作: BOOL CloseHandle(HANDLE hobj); 该函数首先检查调用进程的句柄表,以确保传递给它的索引(句柄)用于标识一个进程实际上无权访问的对象。如果该索引是有效的,那么系统就可以获得内核对 ...
linux内核驱动模型,以2.6.32内核为例。(一边写一边看的,有点乱。) 1、以内核对象为基础。用kobject表示,相当于其它对象的基类,是构建linux驱动模型的关键。具有相同类型的内核对象构成内核对象集,用kset表示,内核对象集也包含自己的内核对象,从而组成层次化的结构。2、用sysfs ...
分类:
系统相关 时间:
2016-05-17 17:22:14
阅读次数:
299
前言
熟练掌握Windows下的多线程编程,能够让我们编写出更规范多线程代码,避免不要的异常。Windows下的多线程编程非常复杂,但是了解一些常用的特性,已经能够满足我们普通多线程对性能及其他要求。
进程与线程
1. 进程的概念
进程就是正在运行的程序。主要包括两部分:
? 一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方。
? 另一个是地址空间...
分类:
编程语言 时间:
2016-05-12 22:56:56
阅读次数:
253
linux中一切皆文件
1.内核对象kobjectstruct kobject {
const char *name; //对象的名字
struct list_head entry;
struct kobject *parent;//对象的上层
struct kset *kset; //当前对象属于的kset指针
stru...
分类:
系统相关 时间:
2016-05-12 13:11:39
阅读次数:
199