第5章 内核简介 (2学时).pptVIP

  • 0
  • 0
  • 约9.07千字
  • 约 72页
  • 2019-01-28 发布于浙江
  • 举报
第5章 Linux内核简介 主要内容 Linux核心的一般结构 进程的概念、进程的调度和进程通信 文件系统的构成和管理 内存管理 设备驱动及中断处理 5.1 概 述 Linux系统大致可分为三层: 靠近硬件的底层是内核,即Linux操作系统常驻内存部分。 中间层是shell层,即操作系统的系统程序部分。 最高层是应用层,即用户程序部分 Linux操作系统的心脏-内核 用户程序如何同设备打交道? Linux内核体系结构 内核的核心-进程 5.2 进 程 管 理 5.2.1 进程和线程的概念 5.2.2 进程的结构 5.2.3 对进程的操作 5.2.4 进程调度 5.2.5 shell基本工作原理 5.2.1 进程和线程的概念 1.进程及其状态 简单说来,进程就是程序的一次执行过程。 进程至少要有三种基本状态: 运行态、就绪态和封锁态(或等待态)。 进程的状态可依据一定的条件和原因而变化 进程的模式和类型 在Linux系统中,进程的模式划分为用户模式和内核模式; 按照进程的功能和运行的程序来分,进程划分为两大类: 系统进程、用户进程 4.Linux线程 线程和进程是紧密相关的概念,一般来说,Linux系统中的进程应具有 一段可执行的程序、 专用的系统堆栈空间、 私有的“进程控制块”、 独立的存储空间。 而Linux系统中,线程只具有前3个组成部分, 缺少自己的存储空间。 5.2.2 进程的结构 包含下列几方面的信息: ·进程状态 ·调度信息 ·标志符 ·内部进程通讯 ·链接信息 ·时间和计时器 ·文件系统 ·虚拟内存 ·处理器信息 2.进程系统堆栈 每个进程都有一个系统堆栈,用来保存中断现场信息,以及进程进入内核模式后的返回现场信息; 系统堆栈和task_struct数据结构之间存在紧密联系,二者物理存储空间也连在一起 系统堆栈的大小静态确定。 5.2.3 对进程的操作 1.进程的创建 各个进程构成了树形的进程族系; 内核在完成了基本的初始化以后,就有了系统的第一个进程(即初始化进程); 所有其他的进程和内核线程都由这个原始进程或其子孙进程所创建。 2.进程的等待 3.进程的终止 进程可使用系统调用exit( )终止自己; 其实现算法如下: (1)撤消所有的信号量。 (2)释放其所有的资源,包括存储空间、已打开的文件、工作目录、信号处理表等。 (3)置进程状态为“终止态”(TASK_ZOMBIE)。 (4)向它的父进程发送子进程终止的信号。 (5)执行进程调度。 5.2.4 进程调度 进程调度机制主要涉及到调度方式、调度时机和调度策略 1.调度方式 Linux内核的调度方式,基本上采用“抢占式优先级”,即: 当进程在用户模式下运行时,在一定条件下(如:时间片用完),内核调度其他进程进入运行; 在选择其他进程时以优先级为基础,即: 系统中的每个进程都有个优先权,反映了该进程可以获得CPU使用权的资格; 从进程就绪队列中选择一个优先权最高的进程,为其分配一个CPU时间片; 运行过程中,当前进程的优先级随时间递减,从而经过一段时间后,以前优先级较低的进程就相对“提升”了优先级,有机会运行; 当所有进程优先级都变为0时,就重新计算一次优先级。 2.调度策略——三种不同的调度策略 SCHED_FIFO 适合于短实时进程, 对时间性要求比较强,每次运行所需时间较短; SCHED_RR 适合于运行时间较长的实时进程,也叫“时间片轮转法” 。 当时间片用完时,该进程被送回相同优先级队列的末尾, 因此,进程从创建到完成需要经过多次循环调用; SCHED_OTHER 适合于交互式的分时进程,这类进程的优先权取决于两个因素: 1、进程剩余时间配额:若已经用完配给的时间,则优先权为0 2、进程的优先数:沿袭UNIX的方法 3.调度的时机:有以下情况: 当前进程使用系统调用,使自己进入睡眠状态,主动让出一段时间的CPU使用权。 进程终止,永久地放弃对CPU的使用。 当唤醒一个睡眠进程时,发现被唤醒的进程比当前进程更有资格运行。 一个进程通过执行系统调用,来改变调度策略或者降低自身的优先权,从而引起立即调度。 4.调度算法 5.2.5 shell基本工作原理 5.3 文 件 系 统 Linux系统的一个重要特征,就是支持多种不同的文件系统,如:ext, FAT, ext2, ext3, MINIX, MS DOS, SYSV等。 目前,

文档评论(0)

1亿VIP精品文档

相关文档