计算机操作系统中的几个泛系关系.ppt

计算机操作系统中的几个泛系关系.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机操作系统中的几个泛系关系 兰州大学 刘永兵 李永礼 引言——操作系统的复杂性 操作系统的复杂性对大家来说不言而明的,就拿源码开放的Linux操作系统内核来说,其源代码包含在大约4500个C语言和汇编语言文件中,这些文件存放在大约270个子目录中。源代码大约由200万行组成,占58M以上的空间。要弄清楚这个操作系统,一行一行的阅读这200万行代码似乎是行的同,但实际上却是行不同的一个方法,如何在短时间内抓住其中不同层次的主要关系,就显的非常必要,我尝试用泛系思想方法来快速理解和掌握其中的关系,以下的报告是我用泛系思想研究Linux一些探索。 主要内容 1.操作系统的泛系关系 2.内核数据的动静思想 3.Linux文件系统的形影关系 1.操作系统自身的泛系关系 1.1原始社会供求关系模型 1.2现代供求关系模型 1.3操作系统的供求关系 1.4技术实现 在操作系统供求关系的技术实现上主要作两个抽象:即任务抽象和资源抽象。通过资源抽象能把计算机中的软硬件资源表示出来;通过任务抽象能把系统中计算任务表示出来。 1.4.1任务抽象 任务抽象就是我们通常所说的计算任务的抽象,抽象后的任务在一般教科书书中称之为进程。在系统中用进程控制块(PCB)来描述。在Linux内核中每一个进程用task_struct数据结构表示 。 1.4.2资源抽象 为了让操作系统本身知道系统中的软硬件资源,就需要把计算机中的各种软件资源在操作系统中表示出来,这就是资源抽象。例如,就拿Linux内存管理来说,Linux在管理内存时,把系统中的内存分了大小相等的块,我们称之为页,一般来说这些页的大小为4K,为了表示其中的页,Linux使用了page数据结构 。 1.4.3资源抽象和任务抽象之间的泛系关系 资源抽象和任务抽象的泛系关系就是供求关系,也就是说操作系统的本质便是要在资源抽象和任务抽象之间建立供求关系。通过操作系统的内核沟通资源和任务,在这两者之间充当中间商。具体来说就是由操作系统内核决定分配当前的哪些资源给哪些任务。 2.操作系统内核数据管理控制策略的泛系思想方法 ——以少控多,以静制动 2.1操作系统内核数据管理控制上的两难问题 操作系统是一个典型的庞大复杂巨系统,就其内核而言,单数据的数量之庞大就不言而谕的。再加上其自身是一个系统,在系统运行的时候数据的数量和值还会随着系统处于不同的状态而不同,可以说是时时在变,这就给管理控制这些数据带来了很多困难。 如果给这些数据分配固定的空间,当然在管理控制方面没有什么太多的问题,既然是事先分配的空间,就能直接的访问。这些数据在内核空间中也不会互相干扰,数据不会出现混乱的情况,但一个严重的后果是系统缺乏了伸缩和灵活性,事先分配的空间总是有限的,当然内核数据的量超过这个要求的时候,系统就没办法正常运行,再说在内核数据量比较小的时候,会有很多事先分配的空间在这个时候没有使用上,也是一种资源的浪费。 如果采用让所有的数据都动起来,即动态的分配和使用,那么在这个时候以上说的问题就迎刃而解,但这个时候出现了另外一个严重的问题,即给这些数据的管理控制带来了麻烦,要访问的数据在某个时刻究竟在什么位置,怎样保证在需要的时候能快速的找到想要访问的数据,这些问题就显得很棘手。 2.2内核数据的管理控制策略 首先,内核数据是可以分类的,例如系统中所有的进程控制块(PCB),可以认为是同属于一个类;其次,每在一类数据中寻找不变的数据,把这些数据做成静态结构,在系统初始化的过程中分配固定空间,此后,在系统运行的过程中其位置不再发生变化,而其它数据则在系统运行过程中,需要的时候分配,用完就退回系统,这些随机的数据可以和这个类中静态分配的数据关联起来,在系统需要访问的时候可以通过这个类中静态的数据和它们的关联关系很容易的找到. 2.3泛对称的显生过程(以树结构为例) 以上树中的所有节点组成了一类数据,在树的变化过程中,有的节点消失,又有新的节点生成。而在这个千边万化的过程中,树的根节点始终没有变化,这里就存在一个泛对称,根节点便是个泛极端。 极端的情况是一类中的所有数据都是动态变化的,在这个时候我们可以仍然可以用同样的方法分析。但这个时候引进泛系规的思想。 可以把根节点不变的所有数据看成一类,而这个根节点就是这个类的泛极端,在对所有的泛极端求共影,例如可以把它们共影到某个固定(静态)的指针变量P。 2.4Linux操作系统内核数据以少控多,以静制多策略实例 init_task是系统中的0号进程,也就是第一个进程,这个进程永远不会被撤消,它的描述符被静态的分配到内核数据段中,也就是说init_task的进程描述符是预先由编译器分配的,在运行的过程中保持不变,而其它描述符是在运

文档评论(0)

kaku + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8124126005000000

1亿VIP精品文档

相关文档