第11章-win2000xp进程和处理机管理详解.pptVIP

第11章-win2000xp进程和处理机管理详解.ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章 进程、线程和处理机管理;11.1 进程同步与进程间通信 11.2 线程调度;11.1 进程同步与进程间通信;11.1.1 Windows 2000/XP的进程互斥和同步;11.1.1.1 互锁变量访问 11.1.1.2 临界区对象(Critical Section) 11.1.1.3 互斥对象(Mutex) 11.1.1.4 信号量对象(Semaphore) 11.1.1.5 事件对象(Event);互锁变量访问是最基本的互斥手段,其他的互斥和共享机制都是以它为基础的。它相当于硬件TS指令。用于对整型变量的操作,可避免线程间切换对操作连续性的影响。这组互锁变量访问API包括: InterlockedExchange进行32位数据的先读后写原子操作; InterlockedExchangePointer对指针的Exchange原子操作; InterlockedCompareExchange依据比较结果进行赋值的原子操作; InterlockedCompareExchangePointer对指针的CompareExchange原子操作; InterlockedExchangeAdd先加后存结果的原子操作; InterlockedDecrement先减1后存结果的原子操作; InterlockedIncrement先加1后存结果的原子操作。;下面是InterlockedExchange()的汇编结果: 17: InterlockedExchange(lCounter, lTemp); 0040119A mov esi,esp 0040119C mov eax,dword ptr [ebp-8] 0040119F push eax ; lTemp压栈 004011A0 push offset lCounter (004299ec) ; lCounter地址压栈 004011A5 call dword ptr [__imp__InterlockedExchange@8 (0042c178)] 004011AB cmp esi,esp 004011AD call __chkesp ; 这个函数就一条指令 77E66AC3 mov ecx,dword ptr [esp+4] ; 取lCounter的地址 77E66AC7 mov edx,dword ptr [esp+8] ; 取lTemp 77E66ACB mov eax,dword ptr [ecx] ; 取lCounter 77E66ACD nop 77E66ACE cmpxchg dword ptr [ecx],edx ; 比较交换指令 77E66AD1 jne 77E66ACD 77E66AD3 ret 8;11.1.1.2 临界区对象(Critical Section);11.1.1.3 互斥对象(Mutex);11.1.1.4 信号量对象(Semaphore);11.1.1.5 事件对象(Event);11.1.1.6 同步对象等待;(2) WaitForMultipleObjects在指定的时间内等待多个对象为可用状态; DWORD WaitForMultipleObjects( DWORD nCount, //对象句柄数组中的句柄数; CONST HANDLE *lpHandles, // 指向对象句柄数组的指针,数组中可包括多种对象句柄; BOOL bWaitAll, // 等待标志:TRUE表示所有对象同时可用,FALSE表示至少一个对象可用; DWORD dwMilliseconds // 等待超时时限; ); ;11.1.2 Windows 2000/XP的信号(signal);11.1.2.1 SetConsoleCtrlHandler和GenerateConsoleCtrlEvent;处理信号列表(5种);11.1.2.2 signal和raise;11.1.3 Windows 2000/XP基于文件映射的共享存储区;共享存储区实例;11.1.4 Windows 2000/XP管道;命名管道:一个服务器端与一个客户进程间的通信通道;可用于不同机器上进程通信; 类型分为:字节流,消息流(报文); 访问分为:单向读,单向写,双向; 通常采用client-server模式,连接本机或网络中的两个进程 管道名字: 作为客户方(连接到一个命名管道实例的一方)时

文档评论(0)

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

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

1亿VIP精品文档

相关文档