《计算机操作系统》汤小丹教程讲解.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OS内核包含如下功能。 支撑功能:是提供给OS其他许多模块所需的一些基本功能,以支持这些模块工作。介绍三种最基本的支撑功能: 1、中断处理。通常,内核只对中断进行“有限的处理”然后便转有关进程继续处理。 2、时钟管理。OS的许多活动都依赖于时钟。 3、原语操作。内核对某些操作的执行,采用原语实现。原语操作不可分割。 资源管理功能 1、进程管理。管理进程的功能模块的运行频率高。 2、存储器管理。管理存储器功能模块运行频率高。 3、设备管理。与硬件密切相关。 进程的创建 (1)进程的层次结构 子进程由父进程创建,子进程可以继承父进程所拥有的资源。子进程被撤消时,应归还从父进程处获得的资源。撤消父进程时,也同时撤消其所有子进程。在PCB中都设有家族关系表项,以标明自己的父进程和所有的子进程。 UNIX按分层来组织进程,WINDOWS没有进程层次结构的概念,使用句柄实现进程控制。 (2)进程图(Process Graph) 进程图是用于描述进程家族关系的有向树。 (3)引起创建进程的事件 为使程序能运行就必须为它创建进程。导致一个进程创建另一个进程的典型事件有以下四类。 1、用户登录(在分时系统中)。 2、作业调度(在批处理系统中)。 3、提供服务。当运行中的用户提出某种服务请求后,系统将专门创建一个进程来提供服务。 4、应用请求。该类事件是基于应用进程的需要,由它自己创建一个新进程,以便使新进程以并发方式完成特定任务。 (4)进程的创建(Creation of Process) 当OS发现要求创建新进程的事件后,便调用进程创建原语Creat()创建一新进程。其过程如下: 1、申请空白PCB。 2、为新进程分配资源。 3、初始化PCB。 4、将新进程插入就绪队列。 进程的终止 (1)引起进程终止(Termination of Process)的事件 1、正常结束 2、异常结束 3、外界干预 操作员或OS干预。 父进程请求。 父进程终止。 (2)进程的终止过程 根据被终止进程的标识符,从PCB读出该进程的状态。 若被终止进程正处于执行态,则立即终止执行,并置重新调度标志。将处理机分配给一新进程。 若该进程有子孙进程,则一并终止。 将该进程拥有的全部资源,归还其父进程或系统。 将被终止进程的PCB从所在队列中移出。 进程阻塞和唤醒 (1)引起进程阻塞和唤醒的事件 向系统请求共享资源失败。 等待某种操作的完成。 新数据尚未到达。 等待新任务的到达。 (2)进程阻塞过程 进程的阻塞是进程自身的一种主动行为,通过调用阻塞原语block()将自己阻塞。 执行态 阻塞态 阻塞队列 Px Px Px Pz Py 就绪队列 调度程序 执行态 Py 阻塞事件 (3)进程唤醒过程 当被阻塞进程所期待的事件出现时,则有关进程调用唤醒原语wakeup(),将等待该事件的进程唤醒。 阻塞队列 Px Pz 将PCB由现行 的阻塞态改为 就绪态 就绪队列 Px Px Pa Pb 值得注意的是,block和wakeup是一对作用刚好相反的原语。必须成对使用。 若在某进程调用了阻塞原语把自己阻塞,则必须在与之合作的另一个进程或其他相关进程中,调用唤醒原语来唤醒进程,否则,被阻塞进程将会因不能被唤醒而长久地处于阻塞状态,从而再无机会运行。 进程的挂起与激活 (1)进程的挂起过程:当出现引起进程挂起的事件时,系统将用挂起原语suspend()将指定进程或处于阻塞状态的进程挂起,即由活动状态转为静止状态。 (2)进程的激活过程:当发生激活进程的事件时,系统利用激活原语active()将指定进程激活。激活原语将先把进程从外存调入内存并转为活动状态。在采用抢占式调度方式中,若被激活进程的优先级比当前运行的进程高,则立即剥夺当前进程的运行,把处理机分配给被激活的进程。 2.4 线程的基本概念 20世纪60年代中期,在设计多道程序OS时引入了进程概念,解决了单处理机环境下程序并发执行的问题。 20世纪80年代中期,提出线程(Threads)概念,改善单处理机环境下程序并发的程度,在多处理机环境下提高程序并行执行的程度。 2.4.1 线程的引入 进程的两个基本属性 进程是一个可拥有资源的独立单位; 进程是一个可以独立调度和分派的基本单位。 程序并发执行所付出的时空开销 创建进程时分配资源; 撤销进程时回收资源; 进程切换时要保留或设置CPU环境。 这限制了并发程度的进一步提高。 线程—作为调度和分派的基本单位 将进程的两个属性分开,即作为调度和分派的基本单位就不作为独立分配资源的单位;而对拥有资源的基本单位,则使之切换不频繁。这样,产生了线程的概念。 即线程作为调度和分派的基本单位。线程是进程中的一个实体,是被系统独立调度和分派的基本

您可能关注的文档

文档评论(0)

南非的朋友 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档