操作系统实验指导书.doc_第1页
操作系统实验指导书.doc_第2页
操作系统实验指导书.doc_第3页
操作系统实验指导书.doc_第4页
操作系统实验指导书.doc_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精品操作系统原理实验指导书羊四清写应用专业:计算机科学和技术互联网工程公司湖南人文科学技术学院计算机科学技术系2008年8月前言操作系统是计算机的核心和灵魂. 由于操作系统软件的设计在计算机整体功能和性能上发挥着重要的作用,这一科目也是必不可少的,是面向计算机科学和技术、网络工程、软件工程等多种计算机专业本科生开设的计算机专业科目。操作系统是计算机系统的核心,操作系统课程是计算机科学和技术专业的重要必修课。 本课程的目的是让学生掌握现代计算机操作系统的基本原理、基本设计方法和实现技术,使其具有分析现行操作系统和设计、实际操作系统的基本能力。操作系统实验是操作系统课程的重要组成部分,属于学科基础

2、实验的范畴。 作为与相关教育内容合作的实践性教育环节,必须在操作系统理论课中开设。OS是计算机科学和技术专业必修的专业基础课,OS实验的作用是理解OS的设计和实现构想,掌握典型的算法。 基本要求是了解流程的概念、理解死锁和掌握银行家的算法,掌握基于请求页的存储管理的实现原理和页替换算法。 学生必须具有高度的语言编程能力,具有数据结构等基础知识。说明:本实验指导书提供的源程序都在VC6.0中调试运行过目录实验1建立过程模拟1。实验2过程取消模拟9。实验三p、v原语的模拟实现10实验4实现带优先级的时间片交替的过程调度算法16实验5银行家算法模拟26实验6连续动态内存管理仿真实现29实验7基于请求

3、页面的存储管理中常用的页面替换算法模拟31实验SCAN磁盘调度模拟的实现36实验九UNIX基本操作37谢谢你的下载在实验1过程中制作模拟。实验学时: 2实验类型:验证实验要求:必修一、实验目的1 )理解与过程创建相关的理论2 )掌握流程的制作方法3 )掌握关于过程的数据结构。二、实验内容本实验实验了操作系统中关于制作过程的理论。 要求实验者输入实验指导书提供的代码进行测试。 代码简化了流程创建的几个步骤和内容。 过程的树结构以广义二叉树的形式被记忆。三、实验原理1 )过程控制块每个过程都定义了过程控制块(PCB ),以说明和控制过程的执行。 这是流程实体的一部分,是操作系统管理流程最重要的数据

4、结构。 主要包括四种信息(1)进程识别符唯一地识别进程。 通常包括进程号pid、父进程号ppid和用户号uid。(2)处理器的状态处理器的状态大多由处理器的各种寄存器的内容构成。 PCB存储中断(块、挂起)时的各寄存器值,在重新执行该过程时可以从中断点恢复。 主要内容如下:a )通用寄存器b )指令计数器c )程序状态字PSWd )用户堆栈指针。(3)进程日程信息a )进程状态b )进程的优先级(由于描述了优先使用cpu级别的整数,因此具有高优先级的进程先获得cpu,并且通常,优先级值越小,优先级越高)。c )其他信息(等待时间、总执行时间等)d )事件(等待原因)。(4)过程控制信息a )程

5、序和数据的地址(程序的存储器和外部存储器的开头地址)b )进程同步和通信机制c )资源列表(进程CPU以外的所有资源)d )链接指针(进程队列中下一个进程的PCB归属地址)。2 )流程制作流程(1)申请空白PS获取新进程请求的唯一数字标识符,并从PCB集合中请求空白PCB。 如果没有空白的PCB,则可以创建新的PCB。 在本实验中,每次都动态地制作了PCB。(2)向新进程分配资源为新的进程分配内存空间和堆栈空间。(3)对过程控制块进行初始化a )初始化识别信息b )初始化处理器状态信息c )初始化处理器控制信息。(4)将新进程插入准备队列P1P2P3P4P5P6P7P8P9P10系列P11系列

6、P12系列3 )处理树图1-1流程树使用处理树来描述处理族关系,如图1-1所示,处理P1创建处理P2、P3、P4、P5,而P2创建P6、P7、p8。 流程创建流程需要为每个新添加的流程加入流程树,并且具有明确的父子关系,便于继承资源和删除流程等操作。4 )过程链这是一个PCB链表,每个新创建的程序都必须修复被破坏的程序树,并在总链上放置PCB,以便于查找PCB。四、流程清单1 .基本. h文件#ifndef basic_h#include#include#include#define basic_hchar *errormsg256;/进程控制块。struct pcb举止int pid;/处理

7、idint ppid; /parent process idint prio; /priorityint state; /state上次时间; /last execute timeint tottime; /totle execute time/处理节点结构节点举止PCB *节点;pnode *sub;pnode *brother;pnode *next;/信号量struct semphore;char name5; /名字int count; /计数值int curpid; /当前进程idpnode *wlist; /等待链表# definegeterror (eno )打印机( % sn

8、,errormsgeno )void initerror ()举止errormsg0=(char *)malloc(20 )错误msg 0=错误命令! 是!errormsg1=(char *)malloc(20 )错误msg 1=错误参数! 是!以下/get a substring in string schar * substr(char *s,int start,int end )举止char *s1;int len=strlen(s )if (开始0|结束=len|开始)返回空值;S1=(char * ) malloc (结束- start2)for(int i=0; I=结束开始; P

9、S )s1i=si start;s1i=0;返回S1;以下/find the location of c in string sint instr(char *s,char c )举止无符号I;for(i=0; i=0)S2=substr (S1,0,x1-1 )elses2=s1;ai=atoi(s2)if(c=,)s1=substr(s1,x1 1,strlen(s1)-1 )以下返回a;以下#endif2、源程序#include basic.h pnode *proot; /system处理树根pnode *plink; /system process link head/create

10、processint createpc(int *para )举止/add your代码herepnode *p、*p1、*pp;int pflag;pflag=0;for(p=plink; p; p=p-next )举止if (p-node-PID=para 0 )/checkifthispidisalreadyexist举止打印( PID % d is already exist! n ,para0;返回- 1;以下if (p-node-PID=para 1 )/findparentpcb举止pflag=1;pp=p;以下以下PK (! pflag )举止打印( parent id % d

11、 is not exist! n ,para1;返回- 2;以下/init new pcbp1=新节点;p 1节点=new PCB;P1 -节点PID=para 0;p 1节点ppid=para 1;p 1节点prio=para 2;p1-sub=NULL;p1-next=NULL;p1-brother=NULL;/添加到进程树PK (! PS PRpp-sub=p1;else举止for(p=pp-sub; p-brother; p=p-brother;p-brother=p1;以下/add to process linkfor(p=plink; p-next; p=p-next;p-next=p1;返回0;以下/show process detailvoid show详细信息()举止/add your代码herepnode *p、*p1;p=plink;for (; p; /printallpcb信息举止打印(“% d”:,p节点PID,p节点prio );p1=p-sub;for (; p1; /print sub pcb举止printf ( % d (prio

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论