Linux课程介绍-第五章.pptVIP

  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文档。上传文档
查看更多
Linux课程介绍-第五章

Linux系统管理与应用 计算机科学教研室 主讲:陈东伟 本章教学安排 一、教学目的、要求: 本章要求了解Linux内核中的基本概念。主要介绍Linux内核的进程管理、内存管理以及设备管理。重点掌握Linux内核的配置、裁剪与移植。 二、教学内容 第1节 概述 第2节 进程管理 第3节 内存管理 第4节 别名 第5节 设备管理 第6节 Linux内核配置、裁剪与移植 三、重点内容 进程的结构 内存的分配 设备的创建 内核的裁剪 主要内容 Linux核心的一般结构 进程的概念、进程的调度和进程通信 文件系统的构成和管理 内存管理 设备驱动及中断处理 5.1 概 述 Linux系统大致可分为三层: 靠近硬件的底层是内核,即Linux操作系统常驻内存部分。 中间层是内核之外的shell层,即操作系统的系统程序部分。 最高层是应用层,即用户程序部分 从结构上看,Linux操作系统是采用单块结构的操作系统。 一般说来,可以将操作系统划分为内核和系统程序两部分。 5.2 进 程 管 理 5.2.1 进程和线程的概念 1.进程及其状态 简单说来,进程就是程序的一次执行过程。 进程至少要有三种基本状态。这三种基本状态是:运行态、就绪态和封锁态(或等待态)。 进程的状态可依据一定的条件和原因而变化 2.Linux进程状态 3.进程的模式和类型 在Linux系统中,进程的执行模式划分为用户模式和内核模式 按照进程的功能和运行的程序来分,进程划分为两大类:一类是系统进程,另一类是用户进程 4.Linux线程 Linux把线程定义为进程的“执行上下文” 具有一段可执行的程序、专用的系统堆栈空间、私有的“线程控制块”(即thread_struct数据结构) 缺少自己的存储空间 5.2.2 进程的结构 1.task_struct结构 task_struct结构包含下列几方面的信息: ·进程状态 ·调度信息 ·标志符 ·内部进程通讯 ·链接信息 ·时间和计时器 ·文件系统 ·虚拟内存 ·处理器信息 2.进程系统堆栈 每个进程都有一个系统堆栈,用来保存中断现场信息和进程进入内核模式后执行子程序(函数)嵌套调用的返回现场信息。 每个进程的系统堆栈和task_struct数据结构之间存在紧密联系,因而二者物理存储空间也连在一起 系统堆栈的大小静态确定,用户堆栈可在运行时动态扩展 5.2.3 对进程的操作 1.进程的创建 各个进程构成了树形的进程族系 内核在引导并完成了基本的初始化以后,就有了系统的第一个进程(即初始化进程,实际上是内核线程)。除此之外,所有其他的进程和内核线程都由这个原始进程或其子孙进程所创建。 除初始化进程外,其他进程都是用系统调用fork( )和clone( )创建的。 fork( )是全部复制 ,而clone( ) 有选择地复制 2.进程的等待 父进程可用系统调用wait3( )等待它的任一个子进程终止,也可以用系统调用wait4( )等待某个特定的子进程终止。 wait3( )算法如下: (1)如果父进程没有子进程,则出错返回。 (2)如果发现有一个终止的子进程,则取出子进程的进程号,把子进程的CPU使用时间等加到父进程上,释放子进程占用的task_struct和系统空间堆栈,以供新进程使用。 (3)如果发现有子进程,但都不处于终止态,则父进程睡眠,等待由相应的信号唤醒。 3.进程的终止 进程可使用系统调用exit( )终止自己 其实现算法如下: (1)撤消所有的信号量。 (2)释放其所有的资源,包括存储空间、已打开的文件、工作目录、信号处理表等。 (3)置进程状态为“终止态”(TASK_ZOMBIE)。 (4)向它的父进程发送子进程终止的信号。 (5)执行进程调度。 4.进程映像的更换 改换进程映像的工作很复杂,是由系统调用execve( )实现的,它用一个可执行文件的副本来覆盖该进程的内存空间。 ELF可执行文件格式示意图 execve( )系统调用的基本算法如下: (1)验证文件的可执行性,即用户 有权执行它。 (2)读文件头,检查它是一个可装入模块。 (3)释放原有的内存空间。 (4)按照可执行文件的要求分配新的内存空间,并装入内存。 5.2.4 进程调度 进程调度机制主要涉及到调度方式、调度时机和调度策略 1.调度方式 基本上采用“抢占式优先级”方式 2.调度策略—

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档