实例分析:Linux操作系统.ppt
《实例分析:Linux操作系统.ppt》由会员分享,可在线阅读,更多相关《实例分析:Linux操作系统.ppt(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、8.1 Linux的处理机管理8.2 Linux的存储管理8.3 Linux的文件管理8.4 Linux的设备管理第8章 Linux操作系统 Linux操作系统实质上是UNIX的变种,它继承了多任务、多用户等这样的一些特性。Linux 操作系统特点 本章主要内容1、Linux的三种进程调度策略及消息队列;2、Linux的多级页表地址转换机制;3、Linux的文件系统Ext2和虚拟文件系统VFS;4、Linux对字符设备和块设备的管理。8.1 Linux的处理机管理8.18.1.1 Linux1 Linux的进程的进程 1 1LinuxLinux进程的两种运行模式进程的两种运行模式 在在Linu
2、xLinux里,一个进程既可以运行用户程序,又里,一个进程既可以运行用户程序,又可以运行操作系统程序。可以运行操作系统程序。当进程运行用户程序时,称其为处于当进程运行用户程序时,称其为处于“用户模用户模式式”;当进程运行时出现了系统调用或中断事;当进程运行时出现了系统调用或中断事件,转而去执行操作系统内核的程序时,称其件,转而去执行操作系统内核的程序时,称其为处于为处于“核心模式核心模式”。2 2、处理机状态类型、处理机状态类型 在在LinuxLinux里处理机就具有两种运行状态:核心里处理机就具有两种运行状态:核心态和用户态。态和用户态。3 3、进程概念及特征、进程概念及特征 (1 1)、在
3、)、在LinuxLinux里,把进程定义为里,把进程定义为“程序运行程序运行的一个实例的一个实例”(2 2)、进程一方面竞争并占用系统资源(比如)、进程一方面竞争并占用系统资源(比如设备和内存),向系统提出各种请求服务;设备和内存),向系统提出各种请求服务;进程另一方面是基本的调度单位,任何时刻进程另一方面是基本的调度单位,任何时刻只有一个进程在只有一个进程在CPUCPU上运行。上运行。4、Linux进程实体的组成 LinuxLinux中,每个进程就是一个任务(中,每个进程就是一个任务(tasktask),一般具),一般具有以下四个部分:有以下四个部分:(1 1)进程控制块(在)进程控制块(在
4、LinuxLinux里,也称为进程描述符。里,也称为进程描述符。下面统一采用下面统一采用“进程描述符进程描述符”这个称谓)。这个称谓)。(2 2)进程专用的系统堆栈空间;)进程专用的系统堆栈空间;(3 3)供进程执行的程序段(在)供进程执行的程序段(在LinuxLinux里,称为正文里,称为正文段);段);(4 4)进程专用的数据段和用户堆栈空间进程专用的数据段和用户堆栈空间图图8-2 Linux8-2 Linux对进程描述符的管理对进程描述符的管理5 5、LinuxLinux的进程控制块的进程控制块进程描述符进程描述符 在在LinuxLinux中,进程的进程描述符是一个结中,进程的进程描述符
5、是一个结构类型的数据结构:构类型的数据结构:task_structtask_struct。(1)、进程描述符组成内容进程标识(pid);进程状态(state);进程调度信息,包括调度策略(policy)、优先级别(priority和rt_priority)、时间片(counter)等;接收的信号(*sig);进程家族关系;进程队列指针;CPU的现场保护区;与文件系统有关的信息。6、Linux的进程状态 Linux的进程可以有五种不同的状态,图8-3给出了Linux的进程状态,以及状态间的变迁原因。图图8-3 Linux8-3 Linux的进程状态及其变迁的进程状态及其变迁7、Linux的进程状
6、态 可运行状态 可中断状态 不可中断状态 暂停状态 僵死状态 8、进程的创建与撤销nLinuxLinux中的每个进程,都有一个创建、调度运行、中的每个进程,都有一个创建、调度运行、撤销死亡的生命期。撤销死亡的生命期。LinuxLinux系统中的各个进程,系统中的各个进程,相互之间构成了一个树型的进程族系。相互之间构成了一个树型的进程族系。8.1.2 Linux的进程调度1 1LinuxLinux的进程调度类型的进程调度类型 在在LinuxLinux中,进程调度被分为实时进程调度中,进程调度被分为实时进程调度和非实时进程调度两种。和非实时进程调度两种。2Linux进程描述符中与调度有关的字段nL
7、inuxLinux进程描述符中,有四个字段与进程调度进程描述符中,有四个字段与进程调度有关,它们是:有关,它们是:policypolicy、prioritypriority、rt_priorityrt_priority和和countercounter。3 3LinuxLinux的三种进程调度策略的三种进程调度策略 LinuxLinux进程描述符中的进程描述符中的policypolicy字段,可以取三个字段,可以取三个值:值:SCHED_FIFOSCHED_FIFO、SCHED_RRSCHED_RR以及以及SCHED_OTHERSCHED_OTHER。(1 1)SCHED_FIFOSCHED_F
8、IFO实时进程的先进先出调度实时进程的先进先出调度策略策略(2 2)SCHED_RRSCHED_RR实时进程的轮转调度实时进程的轮转调度(3 3)SCHED_OTHERSCHED_OTHER非实时进程的轮转调度非实时进程的轮转调度3 3LinuxLinux的三种进程调度策略的三种进程调度策略4 4LinuxLinux的等待队列的等待队列图图8-5 Linux8-5 Linux中的等待队列中的等待队列8.1.3 Linux8.1.3 Linux进程间的通信进程间的通信 消息队列消息队列 消息队列是进程间的一种异步通信方法。所消息队列是进程间的一种异步通信方法。所谓谓“异步异步”,即发送消息的进程
9、在消息发出之,即发送消息的进程在消息发出之后,不必等待接收进程做出反应,就可以去做后,不必等待接收进程做出反应,就可以去做其他的事情了。其他的事情了。1 1“消息消息”的数据结构的数据结构LinuxLinux中的每个消息,由两个部分组成:消息头中的每个消息,由两个部分组成:消息头和消息缓冲区。和消息缓冲区。图图8-6 Linux8-6 Linux的消息及消息队列结构的消息及消息队列结构2“消息队列”的数据结构nLinuxLinux消息队列是消息队列是structstruct msqid_dsmsqid_ds型的数据结型的数据结构。构。3“消息队列表”的数据结构n进程间借助消息队列来传递数据,因
10、此系统中可以建立多个消息队列。Linux是通过“消息队列表”来管理所有消息队列的。图图8-7 8-7 消息管理诸数据结构间的逻辑关系消息管理诸数据结构间的逻辑关系4有关消息队列的系统调用 创建一个新的消息队列:newque()删除一个消息队列:freeque()向一个消息队列发送一条消息:msgsnd()从一个消息队列中接收一条消息:msgrcv()8.2 Linux的存储管理8.2.1 Linux的虚拟存储空间1Linux的虚拟存储空间 在Linux中,虚拟地址用32个二进制位表示。这意味系统向每个进程提供的虚存空间,最多可以高达232 字节=4GB。1、存储空间分类 Linux的内核把这样
11、的4GB空间划分为两个部分:最高的1GB用于内核本身,称为“系统空间”,并为所有的进程共享;将较低的3GB供进程使用,称为“用户空间”。图图8-8 Linux8-8 Linux的虚拟地址空间结构的虚拟地址空间结构2多级页表的地址转换nLinux在对虚拟地址空间进行分页时,采用两级页表的机制:先是对虚拟地址空间进行分页,形成页表;再对页表进行分页,形成页表的页表。2多级页表的地址转换n 这样一来,不仅虚拟地址空间里的页,可以存放在内存的不连续块中;页表中的页,也能够存放在不连续的内存块里,这就是所谓的多级页表结构。这种“页表的页表”,被称为页表索引。图图8-9 Linux8-9 Linux虚拟地
12、址的划分虚拟地址的划分图图8-10 Linux8-10 Linux的二级页表式地址转换的二级页表式地址转换3、多级索引结构n当虚拟地址用64位表示时,虚拟地址空间的页面更多,用二级索引后的页表仍然很大。因此,Linux还可以提供三级页表式的分页式结构。8.2.2 管理虚拟存储空间的数据结构 Linux进程的各个分区可以是不连续的,因此形成了若干个离散的虚拟区间。为了对它们加以管理,定义了vm_area_struct型及mm_struct型数据结构。图图8-11 Linux8-11 Linux虚存管理的数据结构虚存管理的数据结构1 1管理分区虚拟区间的数据结构管理分区虚拟区间的数据结构vm_ar
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实例 分析 Linux 操作系统
限制150内