第8章 Linux操作系统.ppt
《第8章 Linux操作系统.ppt》由会员分享,可在线阅读,更多相关《第8章 Linux操作系统.ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第8章章 操作系统实例二:操作系统实例二:Linux 教学目标:本章的重点:了解Linux操作系统的特点、进程通信和调度、三级页式虚拟存储器管理、VFS和ext2文件系统以及Linux的安全机制等内容。教学提示:Linux是可免费获得的多用户、多任务操作系统,是可以自由使用的UNIX兼容产品,这就是学习Linux的主要原因。了解Linux操作系统的特点、核心技术和实现方法有助于该系统进一步的开发和应用。8.1 Linux概述概述 8.1.1 8.1.1 学习学习LinuxLinux操作系统的意义操作系统的意义8.1.2 Linux8.1.2 Linux系统的特点系统的特点8.1.3 Linu
2、x 8.1.3 Linux 系统的发展系统的发展8.1.4 Linux8.1.4 Linux体系结构体系结构 8.1.5 Linux8.1.5 Linux的用户界面的用户界面 8.2 Linux的进程管理的进程管理 8.2.1 Linux8.2.1 Linux进程的组成进程的组成LinuxLinux系统中的进程都具有以下系统中的进程都具有以下4 4个要素。个要素。(1)(1)有一个程序正文段供其执行。有一个程序正文段供其执行。(2)(2)有进程专用的系统堆栈空间。有进程专用的系统堆栈空间。(3)(3)有一个进程描述符,即在内核中的一个有一个进程描述符,即在内核中的一个task_structta
3、sk_struct数据结构。有数据结构。有了这个数据结构,进程才能成为内核调度的一个基本单位,接受内核了这个数据结构,进程才能成为内核调度的一个基本单位,接受内核的调度。同时,该结构还记录着进程所占用的各项资源。的调度。同时,该结构还记录着进程所占用的各项资源。(4)(4)有一个独立的地址空间,即拥有专有的用户空间和专用的用户空有一个独立的地址空间,即拥有专有的用户空间和专用的用户空间堆栈。间堆栈。8.2.2 Linux进程的状态进程的状态 LinuxLinux的进程状态共有的进程状态共有6 6种。种。(1)(1)TASK_RUNNINGTASK_RUNNING:正在运行正在运行(己获得己获得
4、CPU)CPU)或准备运行或准备运行(就绪态就绪态等待获得等待获得CPU)CPU)的进程的进程。(2)(2)TASK_INTERRUPTIBLETASK_INTERRUPTIBLE:可中断等待状态。进程处于等待队列中,一旦资可中断等待状态。进程处于等待队列中,一旦资源可用时被唤醒,也可以由其他进程通过信号源可用时被唤醒,也可以由其他进程通过信号(SIGNAL)(SIGNAL)或中断唤醒。或中断唤醒。(3)(3)TASK_UNINTERRUPTIBLETASK_UNINTERRUPTIBLE:不可中断等待状态。进程处于等待队列中,一不可中断等待状态。进程处于等待队列中,一旦资源可用时被唤醒,但不
5、可以由其他进程通过信号旦资源可用时被唤醒,但不可以由其他进程通过信号(SIGNAL)(SIGNAL)或中断唤醒。或中断唤醒。(4)(4)TASK_ZOMBIETASK_ZOMBIE:进程僵死状态。进程停止运行但是尚未释放进程僵死状态。进程停止运行但是尚未释放PCBPCB。(5)(5)TASK_STOPPEDTASK_STOPPED:进程停止状态。可能被特定信号终止,也可能是受其他进程停止状态。可能被特定信号终止,也可能是受其他进程的跟踪调用而暂时将进程的跟踪调用而暂时将CPUCPU出让给跟踪它的进程。出让给跟踪它的进程。(6)(6)TASK_SWAPPINGTASK_SWAPPING:页面被交
6、换出内存的进程。页面被交换出内存的进程。8.2.3 8.2.3 进程状态的切换时机进程状态的切换时机第第一一类类是是隐隐式式地地主主动动放放弃弃CPUCPU。这这往往往往是是因因为为需需要要的的资资源源目目前前不不能能获获取取,如如执执行行read()read()、selecselec()()等系统调用的过程中。等系统调用的过程中。第第 二二 类类 是是 进进 程程 显显 式式 地地 主主 动动 放放 弃弃 CPUCPU,如如 系系 统统 调调 用用 sched_yieldsched_yield()()、sched_setschedulersched_setscheduler()()及及pau
7、se()pause()均均会会导导致致当前进程让出当前进程让出CPUCPU。8.2.4 Linux8.2.4 Linux的进程控制的进程控制 1.1.进程的创建进程的创建2.2.LinuxLinux操操作作系系统统中中,除除初初始始化化进进程程外外,其其他他进进程程都都是是用用系系统统调调用用fork()fork()和和clone()clone()创创建建的的,调调用用fork()fork()和和clone()clone()的的进进程程是是父父进程,被生成的进程是子进程。进程,被生成的进程是子进程。2.2.进程的等待进程的等待 父父进进程程可可用用系系统统调调用用wait3()wait3()等
8、等待待它它的的任任何何一一个个子子进进程程终终止止,也也可可以以用用系系统统调调用用wait4wait4()()等待某个特定的子进程终止。等待某个特定的子进程终止。3.3.进程的终止进程的终止 当当命命令令执执行行完完,希希望望终终止止自自己己时时,可可在在其其程序末尾使用系统调用程序末尾使用系统调用exit()exit()。4.4.进程上下文切换进程上下文切换 改改变变进进程程上上下下文文的的工工作作很很复复杂杂,是是由由系系统统调调用用execveexecve()()实实现现的的。它它用用一一个个可可执执行行文文件件的副本覆盖该进程的内存空间。的副本覆盖该进程的内存空间。8.2.5 Lin
9、ux 8.2.5 Linux 线程线程 LinuxLinux并并不不确确切切区区分分进进程程与与线线程程,或或者者说说没没有有真真正正意意义义上上的的线线程程概概念念,但但通通过过cloneclone()()系系 统统 调调 用用,可可 以以 支支 持持 轻轻 量量 级级 进进 程程(Lightweight Process)(Lightweight Process)。8.2.6 PCB8.2.6 PCB(进程控制块进程控制块)LinuxLinux内内 核核 利利 用用 一一 个个 数数 据据 结结 构构(task_structtask_struct)标标 志志 一一 个个 进进 程程 的的 存
10、存 在在。task_structtask_struct也就是也就是LinuxLinux进程控制块进程控制块PCB PCB 8.2.7 8.2.7 进程的调度进程的调度 LinuxLinux中实现了中实现了3 3种进程调度策略。种进程调度策略。SCHED_FIFOSCHED_FIFO:先先进进先先出出(First(First In In First First Out)Out)策略。策略。SCHED_RRSCHED_RR:轮转调度轮转调度(RoundRobinRoundRobin)策略。策略。SCHED_OTHERSCHED_OTHER:其他策略。其他策略。8.8.2.8 Linux8.8.2.
11、8 Linux进程通信进程通信 信信号号是是UNIXUNIX系系统统中中最最古古老老的的进进程程间间通通信信机机制,它主要用来向进程发送异步的事件信号。制,它主要用来向进程发送异步的事件信号。LinuxLinux中中,信信号号种种类类的的数数目目和和具具体体的的平平台台有有关关,因因为为内内核核用用一一个个字字代代表表所所有有的的信信号号,因因此此字字的的位位数数就就是是信信号号种种类类的的最最多多数数目目。对对3232位位的的i386i386平平台台而而言言,一一个个字字为为3232位位,因因此此信号有信号有3232。8.2.9 8.2.9 信号量与信号量与PVPV操作操作 信信号号量量也也
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第8章 Linux操作系统 Linux 操作系统
限制150内