计算机操作系统实验-进程与并发执行
更新时间: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
最新2016年4月(新课标卷)高考数学(理)冲刺卷试题 (5)08-17
温暖的她作文600字07-02
机电专业综合理论自编卷(1)02-01
化学反应原理题库04-07
街角的咖啡店02-14
2019年全国三卷历史03-11
财务报表分析论文11-05
本护理管理学期末考试AB两套卷(含答案)10-17
小学英语课堂游戏 10008-18
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 并发
- 进程
- 操作系统
- 执行
- 实验
- 计算机