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