- 1、本文档共34页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
内核对象与进程控制第1页/共34页
预备知识操作系统(Operation System)面向对象(Object Oriented)C/C++编程语言第2页/共34页
名词解释API(Application Programming Interface)GUI(Graphical User Interface)CUI(Console User Interface)MSDN(Microsoft Developer Network)第3页/共34页
本章授课内容Windows操作系统内核对象进程的创建进程的终止进程控制第4页/共34页
Windows操作系统Windows的多任务实现Windows是一种多任务操作系统 (multi-task operating system)。Windows操作系统的任务就是所谓的进程,是正在运行的程序的实例。占有CPU时间片的不是进程,而是线程,线程是进程内代码的执行单元。系统在执行多任务时,CPU在某一时刻只能执行一个任务,操作系统将CPU时间分片,并把这些时间片分别安排给多个进程。因为CPU运行很快,在操作者看来,所有程序(进程)都在同时运行。每一个进程通过多任务隔离技术占有自己的独立的地址空间。第5页/共34页
Windows操作系统虚拟内存虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。在Windows NT系列中,例如Windows XP,用于实现虚拟内存的文件则以系统分区根目录下的页面文件?pagefile.sys形式来保存。这些文件的大小——即pagefile.sys文件大小的默认值是物理内存的1.5倍。第6页/共34页
Windows操作系统第7页/共34页
Windows操作系统内核模式和用户模式为了阻止应用程序访问或者修改关键的系统数据,windows使用了两种访问模式:用户模式和内核模式用户程序的代码在用户模式下运行,系统程序 (如系统服务程序和硬件驱动)的代码在内核模式下运行当应用程序调用一个系统函数的时候,用户的应用程序会从用户模式切换到内核模式去执行第8页/共34页
Windows操作系统操作系统架构第9页/共34页
内核对象内核对象是系统提供的用户模式下代码与内核模式的代码进行交互的基本接口。内核对象是系统地址空间中的一个内存块,由系统创建并维护。系统创建和使用多种类型的内核对象,如文件对象,事件对象,互斥对象,进程对象等等。每个内核对象是内核分配的内存块,是一种数据结构,负责维护该对象的各种信息,而且只能由内核访问。内核对象只能由系统控制,应用程序无法得到内核对象的内存空间。第10页/共34页
内核对象对象句柄是唯一标识某个内核对象的一个32位无符号整数,句柄是Windows对象的代号。对象句柄的引入是为了在用户模式下标示和引用内核对象。可以把对象句柄理解为一种数据类型HANDLE WINAPI CreateFileMapping( __in HANDLE hFile, __in LPSECURITY_ATTRIBUTES lpAttributes, __in DWORD flProtect, __in DWORD dwMaximumSizeHigh, __in DWORD dwMaximumSizeLow, __in LPCTSTR lpName );第11页/共34页
内核对象使用计数 (usage count)使用计数是内核对象的属性使用计数是一种管理对象的机制使用计数属性指明进程对特定内核对象的引用次数一个进程在第一次创建内核对象的时候,系统为进程分配内核对象资源,并将该内核对象的使用计数属性初始化为1;以后当另外一个进程访问这个内核对象时,使用计数递增1,在引用这个内核对象的进程终止时,内核将该内核对象的使用计数减1,然后查看内核对象的使用计数是否为0,如果为0就销毁这个内核对象。第12页/共34页
内核对象使用计数的C++程序演示class String{public: String(const char* aSrc=0); String(const String aRef); ~String(); String operator=(const String aRef); int count() const;protected: void retain(); void detain();private: char *m_pData; int *m_pCount;};第13页/共34页
void
您可能关注的文档
- 产后保健的学习教案.pptx
- 化学氨基酸蛋白质苏教选修.pptx
- 企业国有资产法解读.pptx
- 世纪的农药的学习课件.pptx
- 万珂的巩固和维持治疗探讨.pptx
- 人身保险产品分类研究.pptx
- 人力资源管理与开发导论.pptx
- 冠状动脉旋磨技术.pptx
- 人教生物选修专题.pptx
- 光生物双降解地膜的制备及其结构与性能研究.pptx
- 非智力因素与学生个性化发展路径的研究分析教学研究课题报告.docx
- 小学体质健康档案在体育课程中的跨学科评价模式创新教学研究课题报告.docx
- 初中物理学科中分级作业对学生实验技能的影响研究教学研究课题报告.docx
- 小学语文古诗文吟诵教学法的实践与创新教学研究课题报告.docx
- 小学体育核心素养教育实践与运动心理学实践研究教学研究课题报告.docx
- 初中生物遗传变异教学中模拟遗传实验软件的探讨教学研究课题报告.docx
- 高中物理电学教学中电路分析与设计能力的培养探究教学研究课题报告.docx
- 初中化学元素教学游戏设计与学生兴趣激发研究教学研究课题报告.docx
- 初中音乐课堂中音乐思维培养策略研究教学研究课题报告.docx
- 小学音乐舞蹈艺术特长生团队协作能力培养与教育研究教学研究课题报告.docx
文档评论(0)