欢迎来到天天文库
浏览记录
ID:30880907
大小:195.79 KB
页数:12页
时间:2019-01-04
《重庆大学操作系统实验3报告书》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《操作系统》实验报告年级、专业、班级姓名实验题目多线程和多进程的管理实验时间实验地点实验成绩实验性质□验证性□设计性■综合性教师评价:□算法/实验过程正确;□源程序/实验内容提交□程序结构/实验步骤合理;□实验结果正确;□语法、语义正确;□报告规范;其他:评价教师签名:—、实验目的了解操作系统中常见的进程调度算法了解在linux中利用多线程模拟实现FCFS,SJFRR的调度过程。了解进程同步的特点,掌握利用信号量实现进程间同步的的方法。了解哲学家问题中进程之间的相互制约关系,能够合理的设置信号量。了解Linux系统下创建多线程的原理及使用方法,模拟哲学家问题的实
2、现。二、实验项目内容■■■■本实验利用线程模拟进程,实现进程间的调度算法。主要有以下内容:创建主线程,主线程的工作包括:创建子线程,保存子线程的虚拟PCB;并负责子线程的调度。调度的基本时间单位为lSo主线程创建20个子线程,分别实现FCFS调度、SJF调度、RR调度、优先级调度和多级队列调度,并且计算每个调度的平均等待时间。(其中优先级调度和多级队列调度为选做)。对于每个子线程,在其运行期间,输出其占用的时间标号(例如,第3个线程占用了第10秒的CPU时间,输岀为:MThread3:10”〉。■1根据哲学家进程间的相互制约关系,设置合理的信号量及信号量初值。2
3、创建5个线程,分别模拟5个哲学家进程。3在哲学家线程之间通过对信号量的P,V操作,实现线程之间的同步关系。报告创建时间:三、实验过程或算法(源程序)FCFS.c:#include#include#include#include#include#defineN20structPCBpthread_tthreadld;intthreadNum;intarrivalTime;intburstTime;intpriority;};structPCBp[N];intrunTim
4、e=0;intwaitTimeList[N]={0};void*thread(void*in)inti,num;fbr(i=0;i5、i,j;fdr(i=0;ii;j-)if(p[j].arrivalTim6、e7、ude#include#include#include#include#defineN20structPCBpthread_tthreadld;intthreadNum;intarrivalTime;intburstTime;intpriority;};structPCBp[N];intrunTimc=0;intwaitTimeList[N]={0};void*thread(void*in){inti,num;fbr(i=0;i8、adId==pthrca
5、i,j;fdr(i=0;ii;j-)if(p[j].arrivalTim
6、e
7、ude#include#include#include#include#defineN20structPCBpthread_tthreadld;intthreadNum;intarrivalTime;intburstTime;intpriority;};structPCBp[N];intrunTimc=0;intwaitTimeList[N]={0};void*thread(void*in){inti,num;fbr(i=0;i8、adId==pthrca
8、adId==pthrca
此文档下载收益归作者所有