第8章实例分析:linux操作系统

第8章实例分析:linux操作系统

ID:33726287

大小:470.01 KB

页数:77页

时间:2018-05-25

第8章实例分析:linux操作系统_第1页
第8章实例分析:linux操作系统_第2页
第8章实例分析:linux操作系统_第3页
第8章实例分析:linux操作系统_第4页
第8章实例分析:linux操作系统_第5页
资源描述:

《第8章实例分析:linux操作系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、8.1Linux的处理机管理8.2Linux的存储管理8.3Linux的文件管理8.4Linux的设备管理第8章Linux操作系统Linux操作系统实质上是UNIX的变种,它继承了多任务、多用户等这样的一些特性。Linux操作系统特点本章主要内容1、Linux的三种进程调度策略及消息队列;2、Linux的多级页表地址转换机制;3、Linux的文件系统Ext2和虚拟文件系统VFS;4、Linux对字符设备和块设备的管理。8.1Linux的处理机管理8.1.1Linux的进程1.Linux进程的两种运行模式在Linux里,一个进程既可以运行用户程序,又可

2、以运行操作系统程序。当进程运行用户程序时,称其为处于“用户模式”;当进程运行时出现了系统调用或中断事件,转而去执行操作系统内核的程序时,称其为处于“核心模式”。2、处理机状态类型在Linux里处理机就具有两种运行状态:核心态和用户态。3、进程概念及特征(1)、在Linux里,把进程定义为“程序运行的一个实例”(2)、进程一方面竞争并占用系统资源(比如设备和内存),向系统提出各种请求服务;进程另一方面是基本的调度单位,任何时刻只有一个进程在CPU上运行。4、Linux进程实体的组成Linux中,每个进程就是一个任务(task),一般具有以下四个部分:(

3、1)进程控制块(在Linux里,也称为进程描述符。下面统一采用“进程描述符”这个称谓)。(2)进程专用的系统堆栈空间;(3)供进程执行的程序段(在Linux里,称为正文段);(4)进程专用的数据段和用户堆栈空间图8-2Linux对进程描述符的管理5、Linux的进程控制块——进程描述符在Linux中,进程的进程描述符是一个结构类型的数据结构:task_struct。(1)、进程描述符组成内容进程标识(pid);进程状态(state);进程调度信息,包括调度策略(policy)、优先级别(priority和rt_priority)、时间片(counte

4、r)等;接收的信号(*sig);进程家族关系;进程队列指针;CPU的现场保护区;与文件系统有关的信息。6、Linux的进程状态Linux的进程可以有五种不同的状态,图8-3给出了Linux的进程状态,以及状态间的变迁原因。图8-3Linux的进程状态及其变迁7、Linux的进程状态可运行状态可中断状态不可中断状态暂停状态僵死状态8、进程的创建与撤销Linux中的每个进程,都有一个创建、调度运行、撤销死亡的生命期。Linux系统中的各个进程,相互之间构成了一个树型的进程族系。8.1.2Linux的进程调度1.Linux的进程调度类型在Linu

5、x中,进程调度被分为实时进程调度和非实时进程调度两种。2.Linux进程描述符中与调度有关的字段Linux进程描述符中,有四个字段与进程调度有关,它们是:policy、priority、rt_priority和counter。3.Linux的三种进程调度策略Linux进程描述符中的policy字段,可以取三个值:SCHED_FIFO、SCHED_RR以及SCHED_OTHER。(1)SCHED_FIFO——实时进程的先进先出调度策略(2)SCHED_RR——实时进程的轮转调度(3)SCHED_OTHER——非实时进程的轮转调度3.Linux的三种进程

6、调度策略4.Linux的等待队列图8-5Linux中的等待队列8.1.3Linux进程间的通信—消息队列消息队列是进程间的一种异步通信方法。所谓“异步”,即发送消息的进程在消息发出之后,不必等待接收进程做出反应,就可以去做其他的事情了。1.“消息”的数据结构Linux中的每个消息,由两个部分组成:消息头和消息缓冲区。图8-6Linux的消息及消息队列结构2.“消息队列”的数据结构Linux消息队列是structmsqid_ds型的数据结构。3.“消息队列表”的数据结构进程间借助消息队列来传递数据,因此系统中可以建立多个消息队列。Linux是通过“消息

7、队列表”来管理所有消息队列的。图8-7消息管理诸数据结构间的逻辑关系4.有关消息队列的系统调用创建一个新的消息队列:newque()删除一个消息队列:freeque()向一个消息队列发送一条消息:msgsnd()从一个消息队列中接收一条消息:msgrcv()8.2Linux的存储管理8.2.1Linux的虚拟存储空间1.Linux的虚拟存储空间在Linux中,虚拟地址用32个二进制位表示。这意味系统向每个进程提供的虚存空间,最多可以高达232字节=4GB。1、存储空间分类Linux的内核把这样的4GB空间划分为两个部分:最高的1GB用于内核本

8、身,称为“系统空间”,并为所有的进程共享;将较低的3GB供进程使用,称为“用户空间”。图8-8Linux的虚

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。