演示版第8章 Linux操作系统.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 操作系统实例二:Linux 教学目标:本章的重点:了解Linux操作系统的特点、进程通信和调度、三级页式虚拟存储器管理、VFS和ext2文件系统以及Linux的安全机制等内容。 教学提示:Linux是可免费获得的多用户、多任务操作系统,是可以自由使用的UNIX兼容产品,这就是学习Linux的主要原因。了解Linux操作系统的特点、核心技术和实现方法有助于该系统进一步的开发和应用。 最新. * 8.1 Linux概述 8.1.1 学习Linux操作系统的意义 8.1.2 Linux系统的特点 8.1.3 Linux 系统的发展 最新. * 8.1.4 Linux体系结构 最新. * 8.1.5 Linux的用户界面 最新. * 8.2 Linux的进程管理 8.2.1 Linux进程的组成 Linux系统中的进程都具有以下4个要素。 (1) 有一个程序正文段供其执行。 (2) 有进程专用的系统堆栈空间。 (3) 有一个进程描述符,即在内核中的一个task_struct数据结构。有了这个数据结构,进程才能成为内核调度的一个基本单位,接受内核的调度。同时,该结构还记录着进程所占用的各项资源。 (4) 有一个独立的地址空间,即拥有专有的用户空间和专用的用户空间堆栈。 最新. * 8.2.2 Linux进程的状态 Linux的进程状态共有6种。 (1) TASK_RUNNING:正在运行(己获得CPU)或准备运行(就绪态——等待获得CPU)的进程。 (2) TASK_INTERRUPTIBLE:可中断等待状态。进程处于等待队列中,一旦资源可用时被唤醒,也可以由其他进程通过信号(SIGNAL)或中断唤醒。 (3) TASK_UNINTERRUPTIBLE:不可中断等待状态。进程处于等待队列中,一旦资源可用时被唤醒,但不可以由其他进程通过信号(SIGNAL)或中断唤醒。 (4) TASK_ZOMBIE:进程僵死状态。进程停止运行但是尚未释放PCB。 (5) TASK_STOPPED:进程停止状态。可能被特定信号终止,也可能是受其他进程的跟踪调用而暂时将CPU出让给跟踪它的进程。 (6) TASK_SWAPPING:页面被交换出内存的进程。 最新. * 最新. * 8.2.3 进程状态的切换时机 第一类是隐式地主动放弃CPU。这往往是因为需要的资源目前不能获取,如执行read()、selec()等系统调用的过程中。 第二类是进程显式地主动放弃CPU,如系统调用sched_yield()、sched_setscheduler()及pause()均会导致当前进程让出CPU。 最新. * 8.2.4 Linux的进程控制 进程的创建 Linux操作系统中,除初始化进程外,其他进程都是用系统调用fork()和clone()创建的,调用fork()和clone()的进程是父进程,被生成的进程是子进程。 最新. * 2. 进程的等待 父进程可用系统调用wait3()等待它的任何一个子进程终止,也可以用系统调用wait4()等待某个特定的子进程终止。 最新. * 3. 进程的终止 当命令执行完,希望终止自己时,可在其程序末尾使用系统调用exit()。 最新. * 4. 进程上下文切换 改变进程上下文的工作很复杂,是由系统调用execve()实现的。它用一个可执行文件的副本覆盖该进程的内存空间。 最新. * 8.2.5 Linux 线程 Linux并不确切区分进程与线程,或者说没有真正意义上的线程概念,但通过clone()系统调用,可以支持轻量级进程(Lightweight Process)。 最新. * 8.2.6 PCB(进程控制块) Linux内核利用一个数据结构(task_struct)标志一个进程的存在。task_struct也就是Linux进程控制块PCB 最新. * 8.2.7 进程的调度 Linux中实现了3种进程调度策略。 SCHED_FIFO:先进先出(First In First Out)策略。 SCHED_RR:轮转调度(RoundRobin)策略。 SCHED_OTHER:其他策略。 最新. * 8. 8.2.8 Linux进程通信 信号是UNIX系统中最古老的进程间通信机制,它主要用来向进程发送异步的事件信号。 Linux中,信号种类的数目和具体的平台有关,因为内核用一个字代表所有的信号,因此字的位数就是信号种类的最多数目。对3

文档评论(0)

liuxiaoyu98 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档