网站大量收购闲置独家精品文档,联系QQ:2885784924

当前进程信息.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
当前进程信息

操作系统实验(minix部分) ——显示当前进程信息 实验目的 运用操作系统所学原理知识,加深进程机制在Minix操作系统中的实现; 分析Minix系统进程PCB数据结构,包括进程调度、内存管理和文件系统三部分中各数据成员的具体含义; 了解Minix操作系统整体实现机制; 学习Minix操作系统中进程间通信机制,查看Minix这方面的源码。 实验过程 实验准备 在此实验的预习过程中我们需要了解操作系统中有关于进程方面的知识,并且要更深层的了解进程机制在minix中的实现。此外,还有进程的通信机制也需要注重了解。这样我们作实验才能更高效。 首先,我们先从最基本的概念入手。进程是操作系统中最重要的一个基本点,深入并且透彻的理解好进程的含义,不仅是做好此次实验的关键,更是我们学好操作系统整个课程的重中之重。“进程”这一术语有许多人在不同角度对其下过定义,其中最能进程实质的定义有: 进程是程序的一次执行; 进程是可以和别的计算并发执行的计算; 进程可定义为一个数据结构及能在其上进行操作的一个程序; 进程是一个程序及其数据在处理机上顺序执行时所发生的活动; 进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位。 据此,我们可以把“进程”定义为:“可并发执行的程序在一个数据集合上的运行过程”。我们在理解好上述进程定义的基础上,在对进程进行一下自己的思考,是进程的概念在自己的脑海里形成一个自己的概念,然后再去对进程的其他特征进行了解和分析。例如进程的动态性、并发性、独立性、异步性和结构特性。我们还需要知道进程的三个最基本的状态,就绪状态、执行状态和阻塞状态,以及三者之间的相互关系: 接纳 完成 中断 进程调度 I/O完成或事件发生 I/O请求或等待某事件 此外,我们还需要知道引起进程创建的事件有用户登录、作业调度、提供服务和应用请求。进程的创建又大概分为:1、申请空白PCB;2、为新进程分配资源;3、初始化进程控制块;4、将新进程插入就绪队列。PCB就是进程控制块,它是进程存在的唯一标志,当系统创建一个新进程时,就为它建立一个PCB;进程结束时又收回其PCB,进程于是也随之消亡。 了解完进程的概念,我们开始去认识进程间的通信。进程是经常要与其他进程通信。例如,在一个shell管道中,第一个进程的输出必须传送到第二个进程,这样沿着管道传递下去。因此需要在通信的进程间,最好使用一种结构较好的方式,而不用中断。这就是我们所说的进程通信。我们在做此实验时应该着重去学习消息传递这个概念。这种通信方法使用两条原语SEND和RECEIVE。他们像信号量一样是系统调用,因此很容易地被加入库例程。例如:send(destination,message); receive(source,message);前一个调用向一个给定的目标发送一条消息,后一个调用从给定的源接受一条消息。但消息传递系统有它自己的缺点,就是在设计上有很多的难点,消息传递有很多变体,因此对于我们初学者,我们来看如何对消息编址这种方法:为每个进程分配一个唯一的地址,按进程为消息指定地址。 对进程的总体有了了解后,我们该入主题了,看看进程机制是如何在MINIX中实现的。Minix本身就是一组进程的集合。它们相互之间,以及与用户进程之间使用进程间通信机制(消息传递)来进行通信,这种设计使得minix的结构更加模块化和灵活。 我们首先大体浏览一下Minix整个系统,Minix被组织成4层,每一层执行很完好的功能。这4层为:1、进程管理,这是最低层,它捕获所有的中断和陷入,完成进程调度,并向高层提供一个采用消息进行通信的独立顺序进程模型,其中断处理最低层部分用汇编语言编写,其余部分和其他层次用C语言编写;2、I/O进程,每类设备都有一个I/O进程,为了将其与其他普通用户进程相区别我们称之为任务,第2层的所有任务和第一层的代码链接成一个单一的二进制程序,称作内核(kernel),尽管任务和内核被编译在一起,但在执行时内核被赋予比任务更高的特权级,所以真正的内核代码可以访问任一部分内存,及任一处理器寄存器;3、服务器进程,这些服务器进程在低于任务和内核的特权级上运行,不能直接访问I

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档