Linux操作系统ppt课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

7
8.2.3 进程状态的切换时机
第一类是隐式地主动放弃CPU。这往往是因为需 要 的 资 源 目 前 不 能 获 取 , 如 执 行 read() 、 selec()等系统调用的过程中。
第二类是进程显式地主动放弃CPU,如系统调用 sched_yield() 、 sched_setscheduler() 及 pause()均会导致当前进程让出CPU。
Linux并不确切区分进程与线程,或者说 没有真正意义上的线程概念,但通过clone() 系统调用,可以支持轻量级进程 (Lightweight Process)。
ppt课件.
13
8.2.6 PCB(进程控制块)
Linux 内 核 利 用 一 个 数 据 结 构 (task_struct) 标 志 一 个 进 程 的 存 在 。 task_struct也就是Linux进程控制块PCB
源可用时被唤醒,也可以由其他进程通过信号(SIGNAL)或中断唤醒。 (3) TASK_UNINTERRUPTIBLE:不可中断等待状态。进程处于等待队列中,一
旦资源可用时被唤醒,但不可以由其他进程通过信号(SIGNAL)或中断唤醒。 (4) TASK_ZOMBIE:进程僵死状态。进程停止运行但是尚未释放PCB。 (5) TASK_STOPPED:进程停止状态。可能被特定信号终止,也可能是受其他
ppt课件.
18
8.2.11 共享存储区与消息队列通信机制 1. Linux进程间的共享存储区通信
ppt课件.
19
2. Linux进程间的消息队列进行通信
Linux进程间的通信也可以通过消息队列 进行。消息队列可以是单消息队列,也可以 是多消Βιβλιοθήκη Baidu队列(按消息类型);既可以单向, 也可以双向通信;既可以仅和两个进程有关, 也可以被多个进程使用。
信号是UNIX系统中最古老的进程间通信机 制,它主要用来向进程发送异步的事件信号。
Linux中,信号种类的数目和具体的平台 有关,因为内核用一个字代表所有的信号, 因此字的位数就是信号种类的最多数目。对 32位的i386平台而言,一个字为32位,因此 信号有32。
ppt课件.
16
8.2.9 信号量与PV操作 信号量也用来保护关键代码或数据结构(即临界资源)。
(4) 有一个独立的地址空间,即拥有专有的用户空间和专用的用户空 间堆栈。
ppt课件.
5
8.2.2 Linux进程的状态
Linux的进程状态共有6种。 (1) TASK_RUNNING:正在运行(己获得CPU)或准备运行(就绪态——等待获得
CPU)的进程。 (2) TASK_INTERRUPTIBLE:可中断等待状态。进程处于等待队列中,一旦资
Linux系统中的进程都具有以下4个要素。
(1) 有一个程序正文段供其执行。
(2) 有进程专用的系统堆栈空间。
(3) 有一个进程描述符,即在内核中的一个task_struct数据结构。 有了这个数据结构,进程才能成为内核调度的一个基本单位,接受内 核的调度。同时,该结构还记录着进程所占用的各项资源。
第8章 操作系统实例二:Linux
教学目标:本章的重点:了解Linux操作系统的特点、 进程通信和调度、三级页式虚拟存储器管理、VFS和 ext2文件系统以及Linux的安全机制等内容。
教学提示:Linux是可免费获得的多用户、多任务操作系 统,是可以自由使用的UNIX兼容产品,这就是学习Linux 的主要原因。了解Linux操作系统的特点、核心技术和实 现方法有助于该系统进一步的开发和应用。
ppt课件.
14
8.2.7 进程的调度 Linux中实现了3种进程调度策略。
SCHED_FIFO:先进先出(First In First Out) 策略。
SCHED_RR:轮转调度(RoundRobin)策略。
SCHED_OTHER:其他策略。
ppt课件.
15
8. 8.2.8 Linux进程通信
进程的跟踪调用而暂时将CPU出让给跟踪它的进程。 (6) TASK_SWAPPING:页面被交换出内存的进程。
ppt课件.
6
停止态
被唤醒
收到停止命 令而暂停
未申请到 所需资源
不可中断等等态
所需资源 已满足
僵死态
运行态
进程终止
未申请到 所需资源
进程调度
时间片到
就绪态
等等态
所需资源 已满足
ppt课件.
ppt课件.
1
8.1 Linux概述
8.1.1 学习Linux操作系统的意义 8.1.2 Linux系统的特点 8.1.3 Linux 系统的发展
ppt课件.
2
8.1.4 Linux体系结构
ppt课件.
3
8.1.5 Linux的用户界面
ppt课件.
4
8.2 Linux的进程管理
8.2.1 Linux进程的组成
ppt课件.
8
8.2.4 Linux的进程控制
1. 进程的创建
Linux操作系统中,除初始化进程外,其 他 进 程 都 是 用 系 统 调 用 fork() 和 clone() 创 建的,调用fork()和clone()的进程是父进 程,被生成的进程是子进程。
ppt课件.
9
2. 进程的等待
父进程可用系统调用wait3()等待它的任 何一个子进程终止,也可以用系统调用 wait4()等待某个特定的子进程终止。
ppt课件.
20
8.3 Linux 存储器管理
8.3.1 Linux的虚拟内存管理 Linux的虚拟内存管理功能可以概括为以
Linux利用信号量实现对关键代码和数据的互斥访问。 Linux信号量数据结构中包含的信息主要有。
1) count(计数) 2) waking(等待唤醒计数) 3) 等待队列 4) lock(锁)
ppt课件.
17
8.2.10 管道
管道是Linux中最常用的进程间通信IPC机 制。利用管道时,一个进程的输出可成为另 外一个进程的输入。当输入输出的数据量特 别大时,这种IPC机制非常有用。
ppt课件.
10
3. 进程的终止
当命令执行完,希望终止自己时,可在其 程序末尾使用系统调用exit()。
ppt课件.
11
4. 进程上下文切换
改变进程上下文的工作很复杂,是由系统 调用execve()实现的。它用一个可执行文件 的副本覆盖该进程的内存空间。
ppt课件.
12
8.2.5 Linux 线程
相关文档
最新文档