计算机操作系统实验-进程与并发执行
更新时间:2023-10-20 09:13:01 阅读量: 综合文库 文档下载
- 计算机操作系统的主要功能推荐度:
- 相关推荐
重庆交通大学 综合性设计性实验报告
班 级:
姓 名:实验项目名称:
实验项目性质:
实验所属课程:
实验室(中心):
指 导 教 师 :
实验完成时间: 计 科 专业 2010级四班 叶秀梁 模 拟 进 程 并 发 执 行 操 作 系 统 多 任 务 计算机操作系统 语 音 大 楼 8 楼 801 米波 2012 年 11 月 4 日
教师评阅意见:
实验成绩: 签名: 年 月 日
一、实验目的
1、通过实验来模拟进程的并发执行,来深入了解什么事操作系统的进程,以及进程有些什么特性。
2、了解进程间是如何做到并发执行的,进程间是如何做到资源共享的。以及验证进程在运行过程中的进度是随机的,不可控制的。
3、通过实验来了解进程的三种状态以及状态间的转换条件。 4、加深对进程概念的理解; 5、认识进程并发执行的实质
6、分析进程争用资源的现象,学习解决进程互斥的方法。
二、实验内容及要求
用直观的方式模拟进程执行时的过程,显示在屏幕上。
实现一个能够直观反应单个进程执行与多个进程并发执行时由于资源竞争而引起的进程执行速度变化的过程。且进程的初始状态和进度都是随机的,不可控制的。
三、实验设备
PC机1台、JCreator LE开发环境
四、设计方案
㈠ 设计主要思想
(1)、每个进程能够随机暂停和开始。
(2)、用Java的多线程来实现。
模拟多线程并发性。通过进度条来表示进程的运行,通过进度条的运行速度来表示程序的运行速度。而要体现多进程并发,所以需要在实验中至少定义两个以上的进程,在实验中定义3个进程并发执行。为了使3个进程的属性和调度方法都是顺利执行,则可以通过三个进程类来分别控制进程对象。
进程的启动时进程的速度是随机性。要模拟这样一个效果,则可以使用一个随机数对象产生一个随机的数来定义进程运行的位置。而某个进程的运行速度也是随机的,由进程获得资源的多少来实现。 ㈡ 设计的主要步骤
本实验用java语言实现
(1) 在Jcreator中新建一个ThreadProcess类,分别建立三个公共
的线程类,Thread1,Thread2,Thread3.
(2) 在ThreadProcess类的主函数啊中新建三个线程和和窗口。 (3) 在主函数产生随机数来控制三条线程的随机调用过程。 (4) 在类外分别添加三条进程的控制函数。
能够达到实验的要求效果,程序启动后,进程的运行位置是随机的,每一个进程的运行进度也是随机的,速度可快可慢。而且能够达到系统资源共享的效果,但其中一个或几个进程停止执行时,其它的进程的执行速度会加快。
五、主要代码
//package test; import java.awt.*;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Time; import java.util.Calendar; import java.util.Date; import java.util.Random;
import javax.security.auth.kerberos.KerberosKey; import javax.swing.*; public class ThreadProcess { public static void main(String[] args) {
ThreadFrame thFrame=new ThreadFrame();
thFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thFrame.show();
//创建线程
thread1=new Thread1(ThreadPanel.progressBar1); thread2=new Thread2(ThreadPanel.progressBar2); thread3=new Thread3(ThreadPanel.progressBar3);
//Thread1.flag=false; //Thread2.flag=false; //Thread3.flag=false; int i=0,j=0;
int[] array=new int[1000];
Random random=new Random(System.currentTimeMillis()); {
j=(int) (Math.random()*10%3); array[i]=j; } {
for(i=0;i<1000;i++) {
switch (array[i]) {
case 0:
if (thread1.flag==true) { } else { } break;
if(thread2.flag==true){ } else {
thread2.yield(); thread2.run(); thread1.yield(); thread1.run();
for(i=0;i<1000;i++)
while(true)
case 1:
}
}
} break;
if(thread3.flag==true){ } else { } break;
thread3.yield(); thread3.run();
}
}
case 2:
}
public static Thread1 thread1; public static Thread2 thread2; public static Thread3 thread3;
class ThreadFrame extends JFrame { }
class ThreadPanel extends JPanel {
public int WIDTH=820; public int HEIGHT=500;
public ThreadPanel threadPanel=new ThreadPanel(); public Container container; { }
setTitle(\模拟进程并发\setSize(WIDTH,HEIGHT); setLocation(250, 150); container=getContentPane();
public ThreadFrame()
container.add(threadPanel);
正在阅读:
计算机操作系统实验-进程与并发执行10-20
(精编)2019年浙江省高考英语试卷04-29
小学2019年度领导班子述职报告08-23
2019学生预备党员转正申请书汇总09-08
检察院2019年党建工作述职报告08-08
2019年农民预备党员转正申请书09-08
公务员预备党员思想汇报201909-08
部队军人入党申请书1500字范文201909-08
景兴纸业2019年决策水平分析报告03-19
- 发电电气运行规程1
- 英文简历
- 最全辅导员招聘考试题库
- 4.3崇明岛的未来的样子
- 2012年上海市普通高校招生二本批次各校投档分数线
- 江苏省如皋中学2017-2018学年第一学期高三第二次阶段测试12月数
- 农业转移人口社会参与机制浅谈
- 2017-2018学年度牛津译林版8B英语初二期中试卷及答案
- 家长委员会上的讲话
- 05继电保护设备检修规程
- 组织行为学考试重点(陈春花)
- 2016年云南省公务员考试《行测》模拟试卷(十七)
- 规避“10号文”红筹系列之案例分析
- 钱寨小学学生读书活动评价方案
- 五大联赛派系
- 国际结算课件新
- 材料科学导论 - 图文
- 领导干部任前廉政法规考试模拟试题
- 汽车综合实训
- 医疗质量管理目录
- 并发
- 进程
- 操作系统
- 执行
- 实验
- 计算机