一 线程创建函数 CreateThread 1. 函数原型: 2. 参数说明: 第一个参数 表示线程内核对象的安全属性,一般传入NULL表示使用默认设置。 第二个参数 表示线程栈空间大小。传入0表示使用默认大小(1MB)。 第三个参数 表示新线程所执行的线程函数地址,多个线程可以使用同一个函数地址。 ...
分类:
编程语言 时间:
2018-04-09 23:11:40
阅读次数:
290
1.进程有两个组成部分,一个进程内核对象和一个地址空间。线程也有两个组成部分: 一个是线程的内核对象,操作系统用它管理线程。系统还用内核对象来存放线程统计信息的地方。 一个线程栈,用于维护线程执行时所需的所有函数参数和局部变量。 2.线程要在其进程的地址空间内执行代码和处理数据,假如一个进程上下文中 ...
分类:
编程语言 时间:
2018-03-29 19:07:28
阅读次数:
209
前言: 具体的可等待的内核对象有: 进程,线程,作业,文件以及控制台的标准输入流/输出流/错误流,事件,可等待的计时器,信号量,互斥量。 等待函数: 等待成功引起的副作用:(Windows核心编程) 当等待函数发现对象已经被触发,则称为一个成功的调用,当调用后,对象的状态发生了变化,则称之为等待成功 ...
分类:
编程语言 时间:
2018-03-23 16:18:10
阅读次数:
238
先写一个程序,用来查看进程的内核对象,这样我们就能比较子进程是否继承了父进程的某个句柄: 然后父进程就随便写一个,主要是为了创建三个命名内核对象,然后让子进程继承其中的两个: 验证结果 父进程创建的三个互斥量句柄: 然后再去查看子进程: 果然之继承了其中的1和3句柄。 ...
WINDOWS内核对象 一.前言 Windows中有很多像进程对象、线程对象、文件对象等等这样的对象,我们称之为Windows内核对象。内核对象是系统地址空间中的一个内存块,由系统创建并维护。内核对象为内核所拥有,而不为进程所拥有,所以不同进程可以访问同一个内核对象。 二.内核对象结构 每个对象都有 ...
首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数 ...
分类:
其他好文 时间:
2018-02-23 19:00:07
阅读次数:
160
一、操作系统是什么 1、定义 操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心。 2、操作系统的作用 管理和控制计算机系统中的硬件和软件资源,例如,它负责直接管理计算机系统的各种硬件 ...
分类:
系统相关 时间:
2018-02-09 20:30:26
阅读次数:
175
进程与线程的解析进程:一个正在运行的程序的实例,由两部分组成: 1.一个内核对象,操作系统用它来管理进程。内核对象也是系统保存进程统计信息的地方。 2.一个地址空间,其中包含所有可执行文件或DLL模块的代码和数据。此外,它还包含动态内存分配,比如线程堆栈和堆的分配。 进程要做任何事情,都必须让一个线 ...
分类:
编程语言 时间:
2018-01-25 00:19:21
阅读次数:
178
转自:http://blog.csdn.net/npy_lp/article/details/78933292 内核源码:linux-2.6.38.8.tar.bz2 目标平台:ARM体系结构 sysfs是基于内存的文件系统,用于向用户空间导出内核对象并且能对其进行读写。 1、sysfs文件系统不支 ...
分类:
其他好文 时间:
2018-01-03 18:36:51
阅读次数:
231
建议46:显式释放资源需继承接口IDisposable C#中的每一个类型都代表一种资源,资源分为两类: 托管资源:由CLR管理分配和释放的资源,即从CLR里new出来的对象。 非托管资源:不受CLR管理的对象,如Windows内核对象,或者文件、数据库连接、套接字、COOM对象等。 如果我们的类型 ...