- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1)非进程内核模型-Read.ppt
1)非进程内核模型 操作系统的功能都不组织成进程来实现。该模型包括一个较大的操作系统内核程序,进程的执行在内核之外。当中断发生时,当前运行进程的上下文现场信息将被保存,并把控制权传递给操作系统内核。操作系统具有自己的内存区和系统堆栈区,它将在核心态执行相应的操作,并根据中断的类型和具体的情况,或者是恢复被中断进程的现场并让它继续执行,或是转向进程调度指派另一个就绪进程运行。 图2-20 非进程内核模型 2)OS功能在用户进程内执行的实现模型 操作系统功能组织成一组例行程序供用户程序调用,认为操作系统例程与用户进程是上下文相关的,操作系统的地址空间被包含在用户进程的地址空间中,因而,操作系统例行程序也在用户进程的上下文环境中执行。 当发生一个中断后,处理器状态将被置成内核状态,控制被传递给操作系统例行程序。此时发生了模式切换,模式上下文(现场)信息被保存,但是进程上下文切换并没有发生,仍在该用户进程中执行,提供单独的内核堆栈用于管理进程在核心态下执行时的调用和返回,操作系统例行程序和数据放在共享地址空间,且被所有用户进程进程切换函数共享。 图2-21 OS功能在用户进程内执行的实现模型 图2-22 OS在用户进程内执行实现模型的进程映像 当操作系统程序完成了工作之后,如果应该让当前进程继续运行的话,就可以做一次模式切换来恢复执行原先被中断的用户进程。这种技术提供了不必要通过进程上下文切换就可以中断用户进程来调用操作系统例行程序的手段。 如果应该发生进程切换的话,控制就被传递给操作系统的进程切换例行程序,由它来实现进程切换操作,把当前进程的状态置为非运行状态,而指派另一个就绪进程来占有处理器运行。 3)OS功能由进程实现的模型 图 2-23 OS功能由进程实现模型 OS功能由进程实现的模型把操作系统组织成一组进程、即操作系统功能是这些系统进程集合运行的结果,这些系统进程也称服务器或服务器进程,于是与用户进程构成了Client/Server关系,Window NT采用了这种结构。如图2-23所示,除了极少部分功能在内核模式下运行,大部分操作系统功能被组织在一组分离的进程内实现,这组进程在用户模式下运行,而进程切换例行程序的执行仍然在进程之外。 这一实现模型有很多优点。首先,它采用了模块化的操作系统实现方法,模块之间具有最小化的简洁的接口。其次,大多数操作系统功能被组织成分离的进程,有利于操作系统的实现、配置和扩充,例如,性能监视程序用来记录各种资源的利用率;系统中用户进程推进比率,因为,这些程序并不提供给进程特别的服务,仅仅被系统调用,把它设计成一个服务器进程,便可赋予一定的优先级,夹在其他进程中运行。最后,这一结构在多处理器和多计算机的环境下非常有效,有利于系统性能的改进。 * * 操作系统内核 P1 P2 … Pn 进程切换函数 OS func OS func OS func P1 P2 … Pn 进程控制块 用户堆栈 用户私有地址空间(程序、数据) 共享地址空间 内核堆栈 进程切换函数 P1 P2 … Pn OS1 OS2 … OSm
文档评论(0)