欢迎来到天天文库
浏览记录
ID:38521973
大小:182.09 KB
页数:36页
时间:2019-06-14
《操作系统实验 进程管理 存储器管理 设备管理 实验代码 报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机操作系统实验指导书实验一进程管理一、目的本课题实验的目的是,加深对进程概念及进程管理各个部分内容的理解;熟悉进程管理中主要数据结构的设计及进程调度算法,进程控制机构,同步机构,通信机构的实施。二、题目进程管理三、要求及提示1、要求设置PCB,进程控制原语,进程调度算法,能描述进程调度中不同进程状态之间的转换,设计一个允许n个进程并发运行的进程管理模拟系统。该系统包括有简单的进程控制,同步及通信机构,其进程调度算法可任意选择。每个进程用一个PCB表示,其内容可根据具体情况设置。各进程之间应有一定的同步
2、关系。系统在运行过程中能显示或打印各进程的状态及有关参数的变化情况,以便观察诸进程的运行过程及系统的管理过程。2、编程实现。3、工具:C语言或其它高级语言4、实验时间:3学时四、实验报告1、写出进程管理的思想。2、画出算法流程图和设置的数据结构。3、写出调试程序出现的问题及解决的方法。4、打印实验报告及程序清单。5、报告给出测试的结果。五、范例支持多个进程并发运行的简单进程管理模拟系统。1、问题描述本系统的同步机构采用的是信号量上的P,V操作的机制;控制机构包括阻塞和唤醒操作;时间片中断处理程序处理模拟的
3、时间片中断;进程调度程序负责为各进程分配处理机。系统中设计了3个并发进程。它们之间有如下同步关系:3个进程需要互斥使用临界资源s2,进程1和进程2又需互斥使用临界资源s1。本系统在运行过程中随机打印出各进程的状态变换过程,系统的调度过程及公共变量的变化情况。2、算法36计算机操作系统实验指导书系统为进程设置了5种运行状态:e-执行态;r-高就绪态;t-低就绪态(执行进程因时间片到限而转入);w-等待态;c-完成态。各进程的初始状态均设置为r。系统分时执行各进程,并规定3个进程的执行概率均为33%。通过产生
4、随机数x来模拟时间片。当进程process1访问随机数x时,若x≥0.33;当进程process2访问x时,若x<0.33或x≥0.66;当进程process3访问x时,若x<0.66,分别认为各进程的执行时间片到限,产生“时间片中断”而转入低就绪态t。进程调度算法采用剥夺式最高优先数法。各进程的优先数通过键盘输入予以静态设置。调度程序每次总是选择优先数最小(优先权最高)的就绪进程投入执行。先从r状态进程中选择,在从t状态进程中选择。当现行进程唤醒某个等待进程,且被唤醒进程的优先数小于现行进程时,则剥夺现
5、行进程的执行权。各进程在使用临界资源s1和s2时,通过调用信号量sem1和sem2上的P,V操作来实现同步,阻塞和唤醒操作负责完成从进程的执行态到等待态到就绪态的转换。系统启动后,在完成必要的系统初始化后便执行进程调度程序。但执行进程因“时间片中断”,或被排斥使用临界资源,或唤醒某个等待资源时,立即进行进程调度。当3个进程都处于完成状态后,系统退出运行。图1和图2分别示出了系统主控程序和进程调度程序的大致流程。初始化处处石化初始化有进程管理(exe≠NIL)进程1进程2进程3mainschedulerEN
6、DNY图1进程管理主控程序36计算机操作系统实验指导书3、数据结构(1)每个进程有一个进程控制块PCB,内容包括:id进程控制数,id=0,1,2;图2进程调度程序有r态就绪进程?有t态就绪进程?选取优先数最小pd有无执行者(exe≠NIL)?pd优先数7、YNNYYNNYYNY36计算机操作系统实验指导书nexrtwr等待链指针,只是在同一信号量上等待的下一个进程的标时数。(2)信号量semaphore,对于临界资源s1和s2分别有sem1和sem2均为互斥信号量。内容包括:value信号量值,初值为1;firstwr等待链首指针,指示该信号量上等待的下一个进程标识数。(3)现场保留区,用数组savearea[3][4]表示,即每一个进程都有一个大小为4个单元的保留区,用来保存被“中断”时的现场信息,如通用寄存器的内容和断点地址等。此外,系统中还用到下列主8、要全程变量:exe执行进程指针,其值为进程标识数;i用来模拟一个通用寄存器;addr用来模拟程序计数器;s1,s2两个公用变量,与来共享临界资源。4、程序清单#include#defineTRUE1#defineFALSE0#defineMAXPRI100#defineNIL-1struct{intid;charstatus;intnextwr;intpriority;}pcb[3];struct{intva
7、YNNYYNNYYNY36计算机操作系统实验指导书nexrtwr等待链指针,只是在同一信号量上等待的下一个进程的标时数。(2)信号量semaphore,对于临界资源s1和s2分别有sem1和sem2均为互斥信号量。内容包括:value信号量值,初值为1;firstwr等待链首指针,指示该信号量上等待的下一个进程标识数。(3)现场保留区,用数组savearea[3][4]表示,即每一个进程都有一个大小为4个单元的保留区,用来保存被“中断”时的现场信息,如通用寄存器的内容和断点地址等。此外,系统中还用到下列主
8、要全程变量:exe执行进程指针,其值为进程标识数;i用来模拟一个通用寄存器;addr用来模拟程序计数器;s1,s2两个公用变量,与来共享临界资源。4、程序清单#include#defineTRUE1#defineFALSE0#defineMAXPRI100#defineNIL-1struct{intid;charstatus;intnextwr;intpriority;}pcb[3];struct{intva
此文档下载收益归作者所有