首页 - 网校 - 万题库 - 美好明天 - 直播 - 导航
热点搜索
学员登录 | 用户名
密码
新学员
老学员
您现在的位置: 考试吧 > 考研 > 考研复习指导 > 考研专业课复习指导 > 考研专业课 > 正文

2011计算机考研《操作系统》知识点分析(4)

来源:电子工业出版社 2010-11-17 13:18:48 要考试,上考试吧! 考研万题库
考试吧整理“2011计算机考研《操作系统》知识点分析”供广大考生备考使用。

  1.4.2 操作系统功能的实现模型

  操作系统本身是一组程序,像其他程序一样也在处理器上执行,那么,操作系统程序是否组织成进程?它是如何控制和怎样执行的呢?下面来讨论这个问题。从操作系统的执行方式来看,可以把它分成:非进程内核模型、OS功能(函数)在用户进程内执行的模型和OS功能(函数)作为独立进程执行的模型3种。

  1.非进程内核模型

  许多老式操作系统的实现采用非进程内核模型,即操作系统的功能都不组织成进程来实现,如 图1-2所示,该模型包括一个较大的操作系统内核程序,进程的执行在内核之外。当中断发生时,当前运行进程的上下文现场信息将被保存,并把控制权传递给操作系统内核。操作系统具有自己的内存区和系统堆栈区,用于控制过程调用和返回。它将在核心态执行相应的操作,并根据中断的类型和具体的情况,或者是恢复被中断进程的现场并让它继续执行,或是转向进程调度指派另一个就绪进程运行。

2011计算机考研《操作系统》知识点分析(4)

  图1-2 非内核进程模型

  2.OS功能在用户进程内执行的模型

  小型机和工作站操作系统(如UNIX等)往往采用OS的所有功能在用户进程内执行的模型,如图1-3所示,在这种实现模型中,大部分操作系统功能组织成一组例行程序供用户程序调用,认为操作系统例程与用户进程是上下文相关的,操作系统的地址空间被包含在用户进程的地址空间中;因而,操作系统例行程序也在用户进程的上下文环境中执行。图1-4给出了OS的所有功能在用户进程内执行的模型中的进程映像,它既包含进程控制块、用户堆栈、容纳用户程序和数据的地址空间等,还包括操作系统内核的程序、数据和系统堆栈区。

  当发生一次中断或系统调用后,处理器状态将被置成内核模式,控制从用户进程手中被剥夺并传递给操作系统例行程序。此时,发生了模式切换,模式上下文(现场)信息被保存,但是进程上下文切换并没有发生,操作系统仍在该用户进程中执行,提供单独的内核堆栈用于管理进程在核心态下执行时的调用和返回,操作系统例行程序和数据放在共享地址空间,且被所有用户进程共享。

2011计算机考研《操作系统》知识点分析(4)

  图1-3 OS 的功能在用户进程内执行的模型

2011计算机考研《操作系统》知识点分析(4)

  图1-4 OS 的所有功能在用户进程内执行模型的进程映像

  当操作系统例程完成了工作之后,如果让当前进程继续运行的话,就可以做一次模式切换来恢复执行原先被中断的用户进程。这种技术提供了不必要通过进程上下文切换就可以中断用户进程来调用操作系统例行程序的手段。如果发生进程切换,控制就被传递给操作系统的进程切换例行程序,由它来实现进程切换操作,把当前进程的状态置为非运行状态,而指派另一个就绪进程来占有处理器运行。需要指出的是,一些系统中进程切换例行程序是在当前进程中执行的,而另一些系统则不是。

  3.OS功能作为独立进程执行的模型

  OS 功能作为独立进程执行的模型把操作系统组织成一组系统进程、即操作系统功能是这些系统进程集合运行的结果,这些系统进程也称为服务器或服务器进程,于是与用户进程或其他服务器进程之间构成了Client/Server 关系,Windows 2000/XP采用了这种结构。如图1-5所示,除了极少部分功能在内核模式下运行,大部分操作系统功能被组织在一组分离的独立进程内实现,这组进程在用户模式下运行,而进程切换例行程序的执行仍然在进程之外。

2011计算机考研《操作系统》知识点分析(4)

  图1-5 OS 功能作为独立进程执行的模型

  这一实现模型有很多优点。首先,它采用了模块化的操作系统实现方法,模块之间具有最少和简洁的接口。其次,大多数操作系统功能被组织成独立的进程,有利于操作系统的实现、配置和扩充,如性能监控程序用来记录各种资源的利用率和系统中用户进程的执行速度,由于这些程序并不提供给进程特别的服务,仅仅被操作系统调用,把它设计成一个服务器进程,便可赋予一定的优先级,夹在其他进程中运行。最后,这一结构在多处理器和多计算机的环境下非常有效,一些操作系统服务可指派到专门处理器上执行,有利于系统性能的改进。

上一页  1 2 3 
看了本文的网友还看了
文章搜索
万题库小程序
万题库小程序
·章节视频 ·章节练习
·免费真题 ·模考试题
微信扫码,立即获取!
扫码免费使用
考研英语一
共计364课时
讲义已上传
53214人在学
考研英语二
共计30课时
讲义已上传
5495人在学
考研数学一
共计71课时
讲义已上传
5100人在学
考研数学二
共计46课时
讲义已上传
3684人在学
考研数学三
共计41课时
讲义已上传
4483人在学
推荐使用万题库APP学习
扫一扫,下载万题库
手机学习,复习效率提升50%!
版权声明:如果考研网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本考研网内容,请注明出处。
官方
微信
扫描关注考研微信
领《大数据宝典》
下载
APP
下载万题库
领精选6套卷
万题库
微信小程序
帮助
中心
文章责编:zhangyuqiong