- 博客(5)
- 资源 (5)
- 收藏
- 关注
原创 windows核心编程第七章--线程调度
<br /> 在第6章中,我们介绍了每个线程是如何拥有一个上下文结构的,这个结构维护在线程的内核对象中。这个上下文结构反映了线程上次运行时该线程的CPU寄存器的状态。每隔20毫秒左右,Windows要查看当前存在的所有线程内核对象。在这些对象中,只有某些对象被视为可以调度的对象。Windows选择可调度的线程内核对象中的一个,将它加载到CPU的寄存器中,它的值是上次保存在线程的环境中的值。这项操作称为上下文转换。Windows实际上保存了一个记录,它说明每个线程获得了多少个运行机会。这时,线程正在执行代码
2010-08-26 17:03:00 599
原创 windows核心编程第六章--线程
<br /> 线程两部分组成: <br /> 1)一个是线程的内核对象,操作系统用它来对线程实施管理。内核对象也是系统用来存放线程统计信息的地方。<br /> 2)另一个是线程堆栈,它用于维护线程在执行代码时需要的所有函数参数和局部变量。<br /> 如果在单进程环境中,两个或多个线程正在运行,那么这两个线程将共享单个地址空间。这些线程能够执行相同的代码,对相同的数据进行操作。这些线程还能共享内核对象句柄,因为句柄表依赖于每个进程而不是每个线程存在。<br /> 每当进程被初始化时,系
2010-08-25 17:57:00 522
原创 windows核心编程第四章--进程
<br /> 进程通常被定义为一个正在运行的程序的实例,它由两个部分组成:<br /> 1)一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方。<br /> 2)另一个是地址空间,它包含所有可执行模块或D L L模块的代码和数据。它还包含动态内存分配的空间。如线程堆栈和堆分配空间。<br /><br /><br /><br /> 应用程序类型入口函数嵌入可执行文件的启动函数(crt)
2010-08-22 20:30:00 322
原创 windows核心编程第三章--内核对象
每个内核对象只是内核分配的一个内存块,并且只能由该内核访问。该内存块是一种数据结构。 对内核对象的操作,Wi n d o w s提供了一组函数来对这些结构进行操作。这些内核对象始终都可以通过这些函数进行访问。 当调用一个用于创建内核对象的函数时,该函数就返回一个用于标识该对象的句柄。该句柄可以被视为一个不透明值,你的进程中的任何线程都可以使用这个值。将这个句柄传递给Wi n d o w s的各个函数,这样,系统就能知道你想操作哪个内核对象。 内核对象由内核所拥有,而不是由进程所拥有。必须记住的
2010-08-21 00:02:00 436
原创 windows核心编程第二章--字符串
<br /> 今天看了一遍字符串,总结下:<br /> ) 写了书中的例子因为是写在dll里的,所以浅浅的学习了下dll的写法<br /> 1:def文件可以使导出函数名称不会被篡改,因为C++的编译器可能会在函数后面加上一些后缀用于多态。<br /> def文件很简单<br /> LIBRARY "Win32Dll"<br /> EXPORTS <br /> sfStringReverseW
2010-08-19 20:43:00 378
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人