Windows体系编程重点答案及提示.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows体系编程重点答案及提示

Windows体系编程考试重点、答案及提示(仅供参考) 说明: 本文档由xxxxxxx整理完成,在此向他们表示感谢。如有发现错误,请及时向xxxx提出,以便修改。 第一章 1.API简介和组成 API——Application Program Interface,应用程序编程接口。Win32环境下的任何语言都是建立在win32 API基础上,MFC,VB,VF等对其进行了封装。API是最底层的服务。SDK(software development kit)编程就是直接调用API函数进行编程。 API组成:包括一组函数、结构、宏定义。 2.API调用方法 API的调用方法:在文件的开头包含相应的头文件,然后在程序中直接调用它们就可以了。 在自己的程序中调用API函数: 1)包含要调用函数的声明文件; 2)连接到指定库文件(即lib文件) (a)VC默认已经连接了常用的库文件 (b)在工程\设置\link\设定要连接的库文件,或者#pargma comment(lib,”mylib.lib”) 3)在API函数前加”::”符号,表示是一个全局函数 第二章 1.80386处理器三种工作模式(windows运行在保护模式下) 80386处理器有三种工作模式:实模式、保护模式和虚拟86模式。windows系统运行在保护模式下。 2.进程和线程之间的区别联系 进程是正在运行的应用程序的实例,拥有自己的代码、数据和其他系统资源,包含一个或多个线程 线程是进程内执行代码的独立实体。占有cpu时间片执行指令的是线程 进程至少包含一个主线程,主线程会创建其他线程。所有线程共享所属进程的内存空间和资源,且仅能访问属于它的进程内存 3.虚拟内存和分配(用户空间,系统空间) 在保护模式下,32位的Windows系统可寻址4GB的地址空间。机器上大小通常小于4GB,Windows使用虚拟内存技术将磁盘空间当作内存空间来使用。 各进程的地址空间被分成了用户空间和系统空间两部分.用户空间就是进程的私有地址空间.系统空间部分放置操作系统的代码,包括内核代码、设备驱动代码、设备缓冲区等.系统空间部分在所有的进程中是共享的。 32位os可寻址4GB的地址空间,也就是os的虚拟内存空间为4G,win98下,4M——2G给应用程序预留,win2000下,64K——2G给应用程序预留,2G——4G为OS预留,0——64k不被映射,目的是为了捕捉程序中的错误。 Windows采用分页机制管理内存,每页的大小为4k(x86处理器上),也就是说windows以4k为单位为应用程序分配内存。 4.内核模式和用户模式(创建进程不考) Windows使用了两种访问模式:内核模式与用户模式 用户程序在用户模式下运行,系统程序(服务、驱动)在内核模式下运行 内核模式——操作的一种高特权模式,其中的程序代码能直接访问所有内存(包括所有的用户模式进程和应用程序的地址空间)和硬件。也称为“管理员模式”、“保护模式”或“Ring 0”。如果再细致地对此进行分类:它又可以被分为单内核模式和微内核模式两种。单内核模式代码结构紧凑、执行速度快,但是缺乏层次;微内核正好相反。单内核模式的代表如Linux;微内核模式的代表如Windows. 第三章 1.创建线程的函数和参数的作用(编程题) 看课件和例子 重点 2.线程内核对象的组成及作用 线程上下文CONTEXT:每个线程自己的一组CPU寄存器,即线程上下文,反映该线程上次运行时CPU寄存器的状态 使用计数Usage count:记录线程内核对象的使用计数,值为0时,内核对象撤销; 暂停计数Suspend count:指明线程的暂停计数;0表示可调度,非0表示暂停 退出代码Exit code:指定线程的退出代码,即线程函数的返回值;运行期间,值为STILL_ACTIVE 是否受信Signaled:指示线程对象是否为受信,状态运行期间,值为FALSE,未受信,线程结束,值为TRUE,等待函数返回。 3.线程终止方法 线程函数自然返回 使用ExitThread 函数终止线程执行 使用TerminateThread 函数在一个线程中终止另一个线程的执行 进程终止运行,系统会自动终止此进程中的所有线程的运行 4.线程优先级的设置 参考课件和例子 5.线程同步方法,特点和比较 临界区对象:能够很好的保护共享数据,但是它不能够用于进程之间资源的锁定,因为它不是内核对象 互锁函数:为同步访问多线程共享变量提供了一个简单的机制。如果变量在共享内存,不同进程的线程也可以使用此机制。 事件内核对象:事件内核对象主要用于线程间通信。因为它是一个内核对象,所以可以跨进程使用,依靠通信,使各线程的工作协调进行,达到同步的目的。 信号量内核对象:允许多个线程在同一时刻

文档评论(0)

aicencen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档