第5章 作业.PDFVIP

  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文档。上传文档
查看更多
第5章 作业.PDF

下载 第5章 作 业 通常,必须将一组进程当作单个实体来处理。例如,当让 Microsoft Developer Studio 为你 创建一个应用程序项目时,它会生成 C l . e x e ,C l . e x e则必须生成其他的进程(比如编译器的各 个函数传递)。如果用户想要永远停止该应用程序的创建,那么 Developer Studio 必须能够终止 C l . e x e和它的所有子进程的运行。在 Wi n d o w s 中解决这个简单(和常见的)的问题是极其困难 的,因为Wi n d o w s并不维护进程之间的父/子关系。即使父进程已经终止运行,子进程仍然会继 续运行。 当设计一个服务器时,也必须将一组进程作为单个进程组来处理。例如,客户机可能要求 服务器执行一个应用程序(这可以生成它自己的子应用程序),并给客户机返回其结果。由于 可能有许多客户机与该服务器相连接,如果服务器能够限制客户机的要求,即用什么手段来防 止任何一个客户机垄断它的所有资源,那么这是非常有用的。这些限制包括:可以分配给客户 机请求的最大C P U时间,最小和最大的工作区的大小,防止客户机的应用程序关闭计算机,以 及安全性限制等。 Microsoft Windoss 2000提供了一个新的作业内核对象,使你能够将进程组合在一起,并且 创建一个“沙框”,以便限制进程能够进行的操作。最好将作业对象视为一个进程的容器。但 是,创建包含单个进程的作业是有用的,因为这样一来,就可以对该进程加上通常情况下不能 加的限制。 我的S t a r t R e s t r i c t e d P r o c e s s函数(见清单5 - 1 )将一个进程放入一个作业,以限制该进程进 行某些操作的能力。 Windows 98 Windows 98 不支持作业的操作。 清单5-1 StartRestrictedProcess 函数 92计计第二部分 编程的具体方法 下载 现在,解释一下S t a r t R e s t r i c t e d P r o c e s s函数是如何工作的。首先,调用下面的代码,创建一 个新作业内核对象: 第 5章 作 业计计93 下载 与所有的内核对象一样,它的第一个参数将安全信息与新作业对象关联起来,并且告诉系 统,是否想要使返回的句柄成为可继承的句柄。最后一个参数用于给作业对象命名,使它可以 供另一个进程通过下面所示的O p e n J o b O b j e c t 函数进行访问。 与平常一样,如果知道你将不再需要访问代码中的作业对象,那么就必须通过调用 C l o s e H a n d l e来关闭它的句柄。可以在我的 S t a r t R e s t r i c t e d P r o c e s s函数的结尾处看到这个代码的 情况。应该知道,关闭作业对象并不会迫使作业中的所有进程终止运行。该作业对象实际上做 上了删除标记,只有当作业中的所有进程全部终止运行之后,该作业对象才被自动撤消。 注意,关闭作业的句柄后,尽管该作业仍然存在,但是该作业将无法被所有进程访问。请 看下面的代码: 5.1 对作业进程的限制 进程创建后,通常需要设置一个沙框(设置一些限制),以便限制作业中的进程能够进行 的操作。可以给一个作业加上若干不同类型的限制: • 基本限制和扩展基本限制,用于防止作业中的进程垄断系统的资源。 • 基本的U I 限制,用于防止作业中的进程改变用户界面。 • 安全性限制,用于防止作业中的进程访问保密资源(文件、注册表子关键字等)。 通过调用下面的代码,可以给作业加上各种限制: 第一个参数用于标识要限制的作业。第二个参数是个枚举类型,用于指明要使用的限制类 型。第三个参数是包含限制设置值的数据结构的地址,第四个参数用于指明该结构的大小(用 于确定版本)。表5 - 1列出了如何来设置各种限制条件。 94计计第二部分 编程的具体方法

文档评论(0)

专业好文档 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6110200002000000

1亿VIP精品文档

相关文档