Java运行环境的安装、配置与运行实验报告

Java运行环境的安装、配置与运行实验报告
Java运行环境的安装、配置与运行实验报告

实验一 Java运行环境的安装、配置与运行

一.实验目的及要求

1.掌握JDK1.6软件包、eclipse IDE工具的下载、安装

2.掌握设置Java程序运行环境的方法

3.掌握编写与运行Java程序的方法

4.掌握Java基本数据类型、运算符与表达式、数组的使用方法

5.理解Java程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法

6.掌握运行Java程序的步骤

二.实验内容及步骤

1.从sun公司网站(https://www.360docs.net/doc/d411863982.html,/javase/downloads/index.jsp)下载jdk1.6程序包java jdk1.6.0.02.exe并将jdk安装到C:\program files\Java\jdk1.6(公共jre可以不安装),从apache jarkart公司主页下载tomcat6.0,程序包apache-tomcat-6.0.18.zip,并解压到C:\ apache-tomcat-6.0.18,从相关网站下载java IDE环境,程序包MyEclipse_6.0.1GA_Eclipse3.3.1_Full.exe,下载安装editplus3.0作为java源程序编辑器,并设置相应的系统环境变量。

1)新建或设置系统环境变量值(path变量名已经存在)如下:

java_home=C:\Program Files\Java\jdk1.6

catalina_home=C:\apache-tomcat-6.0.18

classpath=.;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar --类路径很重要

path=%path%;%java_home%\bin;%java_home%\lib;%catalina_home%\bin;%catalin a_home%\lib

之后,可以进DOS窗口分别输入javac命令,set命令进行检查。

2)针对editplus编辑器,依次单击Tools―>Preferences…->Files,将default encoding改成UTF-8,将UTF-8 signature改成always remove UTF-8 signature,保存即可。

3)针对Eclipse3.3.1 IDE环境,进行如下设置:

3.1) 添加jdk路径

Menu(主菜单)->Window(窗口)->Preferences(首选项)->java->Installed JREs (已安装的jre),点Add(添加)。

3.2)设置Server

菜单栏中选择“窗口(window)”--“首选项...(preference)”——“MyEclipse”--“Servers”--“Tomcat”——Tomcat6.x,将Tomcat Server设置为“Enable”,并将“Tomcat Home Directory”设置为Tomcat6.0的安装目录,其他目录选项将会自动生成, 接着选择Tomcat6.x ——JDK,在Tomcat JDK name那选择之前添加的jdk。

3.3)配置默认编码

仍然是菜单栏中的“窗口(window)”--“首选项...(preference)”——“常规(General)”--“内容类型(Content Types)”--“文本(text)”。然后在“缺省编码(Default encoding)”中输入“UTF-8”,点击“更新(Update)”,将“Java类文件(Java Properties File)”及其他字符编码均“更新(Update)”为“UTF-8”。

3.4)设置编辑器字体/输出内容字体

依次进“窗口(window)”--“首选项...(preference)”——“常规(General)”--"皮肤(Appearance)"

Java 实验内容及报告要求

--“颜色和字体(colors and fonts)”--"Java"--“java editor text font(set to default text font)”,再单击“change...”,在上述列表框中选择"part title font"后,可修改编辑器下方的输出面板的标题字体。

依次进“窗口(window)”--“首选项...(preference)”——“常规(General)”--"皮肤(Appearance)"--“颜色和字体(colors and fonts)”--"Debug"--"console font (overrides default: text font)",可修改控制台输出内容的字体。4)在editplus中新建一个简单的java源程序,编辑,文件保存为firstJava.java。然后分别执行如下操作。

4.1)打开一个DOS控制台窗口,进入firstJava.java文件所在目录,然后依次输入命令,

..>javac firstJava.java

..>java firstJava

观察编译是否通过,运行是否通过。

4.2)运行myeclipse6.0.1,之后新建一个java工程,工程名可为chp1,按照向导进行逐级选择,最后单击“完成”。可看到自动生成chp1,src,bin等目录,从文件夹窗口中将4.1)中已建好的firstJava.java文件复制一份到src目录下,切换到myeclipse主界面,右单击chp1,选择“刷新”,可以看到firstJava.java程序添加到工程中了,然后编译、运行这个java程序,直到正确为止。

5)编写一个java源程序,文件名为chp2Basic.java,功能包括建立基本类型和数组类型的变量,对它们进行赋值(包括字符串变量赋值),运算(包括逻辑与&&,&,位与&,常量和变量的无符号右移)以及输出变量值。

6)编写一个java源程序,文件名为chp2Loop.java,功能包括建立一个5×5×5的整型数组,用元素所在的位置序号(从1开始)对所有数组元素进行赋值,然后使用三层循环只对那些任一个下标值对2求余不为0时的数组单元值加1,其余不变,要求使用continue label语法,可以加上break label语法。

三.实验小结

实验二面向对象编程

一.实验目的及要求

1.掌握如何创建类和对象

2.掌握构造方法的执行过程与对象的创建

3.掌握成员变量的定义,隐藏规则

4.掌握成员方法的定义,重载以及覆盖规则

5.掌握java中引入包命名机制和带包名的java程序的运行

6.掌握抽象类/接口的定义,抽象方法的声明

7.掌握java中异常处理机制和异常处理方法

二.实验内容及步骤

1.创建一个飞行器抽象类,名称为absAircraft,并以它为父类分别创建飞机(airplane),鸟(bird),以及超人(superman)三个子类,所有的飞行器类具有不同的尺寸,长L,宽W,高H;不同的体重(weight),速度(speed),体积(volume)。

要求以不同的长宽高三个参数构造相应的飞行器对象,将计算飞行器体积的方法在抽象类中实现并返回默认值0.0。它可以起飞,飞行,着陆,将这三个功能在一个接口中声明,接口名为infAircraft,方法名分别为takeoff,fly,landfall,上述三个子类实现这个接口;还可以发出不同的声音,将发出不同声音的方法在抽象类中申明为抽象方法。另外,鸟和超人还会吃(eat)。所有这些功能要求使用类的继承,方法重载和方法覆盖,接口声明和实现予以实现,编写一个主类,名称为oopDemo.java,在main函数中创建三个子对象,并以子类引用变量或父类引用变量方式调用这些方法,观察在各种情形下程序能否正常运行。

要求编写符合java编程规范的源程序以及对程序作必要的注释。

package sn.exp;

public abstract class AbsAircraft {

protected double width = 0.0D;

protected double height = 0.0D;

protected double length = 0.0D;

protected double speed = 0.0D;

protected double weight = 0.0D;

protected double volume = 0.0D;

abstract public void sound();

public AbsAircraft(double width, double height, double length) { this.width = width;

this.height = height;

this.length = length;

}

public double getWidth() {

return width;

}

public void setWidth(double width) {

this.width = width;

}

public double getHeight() {

return height;

}

public void setHeight(double height) { this.height = height;

}

public double getLength() {

return length;

}

public void setLength(double length) { this.length = length;

}

public double getSpeed() {

return speed;

}

public void setSpeed(double speed) { this.speed = speed;

}

public double getWeight() {

return weight;

}

public void setWeight(double weight) { this.weight = weight;

}

public double getVolume() {

return volume;

}

public void setVolume(double volume) { this.volume = volume;

}

}

package sn.exp;

import sn.exp.inf.InfAircraft;

public class Airplane extends AbsAircraft implements InfAircraft{ public Airplane(double width, double height, double length) { super(width, height, length);

}

@Override

public void sound() {

System.out.println("Airplane sound");

}

public void fly() {

System.out.println("Airplane fly");

}

public void landfall() {

System.out.println("Airplane landfall");

}

public void takeoff() {

System.out.println("Airplane takeoff");

}

@Override

public double getVolume() {

return width * height * length;

}

}

package sn.exp;

import sn.exp.inf.InfAircraft;

public class Bird extends AbsAircraft implements InfAircraft{

public Bird(double width, double height, double length) { super(width, height, length);

}

@Override

public void sound() {

System.out.println("Bird sound");

}

public void fly() {

System.out.println("Bird fly");

}

public void landfall() {

System.out.println("Bird landfall");

}

public void takeoff() {

System.out.println("Bird takeoff");

}

public void eat(){

System.out.println("Bird eat");

}

public double getVolume() {

return width + height + length;

}

}

package sn.exp;

import sn.exp.inf.InfAircraft;

public class Superman extends AbsAircraft implements InfAircraft{ public Superman(double width, double height, double length) { super(width, height, length);

}

@Override

public void sound() {

System.out.println("Superman sound");

}

public void fly() {

System.out.println("Superman fly");

}

public void landfall() {

System.out.println("Superman landfall");

}

public void takeoff() {

System.out.println("Superman takeoff");

}

public void eat(){

System.out.println("Superman eat");

}

public double getVolume() {

return width + height - length;

}

}

package sn.exp;

import sn.exp.inf.InfAircraft;

public class OopDemo {

public static void main(String[] args) {

Bird bird = new Bird(1.0D, 2.0D, 3.0D);

Airplane airplane = new Airplane(4.0D, 5.0D, 6.0D);

Superman superman = new Superman(7.0D, 8.0D, 9.0D);

AbsAircraft [] absAircrafts = new AbsAircraft[]{bird, airplane,

superman};

for(AbsAircraft aircraft : absAircrafts){

System.out.println(aircraft.getVolume());

}

InfAircraft [] infAircrafts = new InfAircraft[]{bird, airplane, superman};

for(InfAircraft infaircraft : infAircrafts){

infaircraft.takeoff();

infaircraft.fly();

https://www.360docs.net/doc/d411863982.html,ndfall();

}

bird.eat();

superman.eat();

}

}

package sn.exp.inf;

public interface InfAircraft {

public void takeoff();

public void fly();

public void landfall();

}

2.编写一个带包名的java源程序,包名为chp3.test,三个类名分别为类cAccess,cAccess的子类subAccess,以及非子类anotherAccess,且用public修饰类cAccess,注意此时的源程序名必须为cAccess.java。定义在类cAccess中的成员变量a,b,c,d分别用private,default(不修饰),protected和public修饰。在cAccess类和subAccess类中的公共方法access中要求访问这些变量的值,在anotherAccess类的access方法中以新建一个cAccess对象的形式调用它的access 方法,最后在anotherAccess类的main方法中新建三个类的对象,并分别调用它们的access方法,注意观察在各种情形下的访问是否成功。另外,在DOS控制台窗口

下运行这个带包名的java程序,想想此时待运行的程序名是什么?package Chp3.test;

public class CAccess {

private double a;

double b;

protected double c;

public double d;

public CAccess(double a, double b, double c, double d) { this.a = a;

this.b = b;

this.c = c;

this.d = d;

}

public void access() {

System.out.println("a=" + a);

System.out.println("b=" + b);

System.out.println("c=" + c);

System.out.println("d=" + d);

System.out.println();

}

}

package Chp3.test;

public class SubAccess extends CAccess {

public SubAccess(double a, double b, double c, double d) { super(a, b, c, d);

}

}

package Chp3.test;

public class AnotherAccess {

public static void main(String[] args) {

CAccess ca=new CAccess(1.0,2.0,3.0,4.0);

SubAccess sa=new SubAccess(5.0,6.0,7.0,8.0);

AnotherAccess anotheraccess =new AnotherAccess();

ca.access();

sa.access();

anotheraccess.access();

}

public void access(){

CAccess ca=new CAccess(9.0,10.0,11.0,12.0);

ca.access();

}

}

3.编写一个包含try-catch-finally语句块的java源程序,文件名为testExceptionProc.java,类名为testExceptionProc,其中方法process接收一个整型参数,该参数对应的实参值分别是1,2,3,在传入值1时,没有任何异常出现;传入值2时,执行一个除法运算,当除数为0时,则抛出ArithmeticException,要捕捉此异常;在传入3时,要求能够捕捉数组下标越界异常,即ArrayIndexOutOfBoundsException,请设计此时的语句块,最后还可以捕捉Exception异常。另外,将上述process方法申明抛出ArithmeticException,ArrayIndexOutOfBoundsException,并由此方法的调用者对这些异常进行处理,请设计实现上述两种情形下的异常处理程序。

public class TestExceptionProc{

public void process(int i) {

int tem;

if(i==1)

tem=1+2;

if(i==2)

tem=2/0;

if(i==3){

int []a=new int[2];

a[4]=4;

}

}

}

public class Main {

public static void main(String[] args) {

TestExceptionProc tep=new TestExceptionProc();

tep.process(1);

try{

tep.process(2);

}catch(ArithmeticException e){

System.out.println("除数为0");

}

try{

tep.process(3);

}

catch(ArrayIndexOutOfBoundsException e){

System.out.println("数组下标越界");

}

}

}

三.实验小结

实验三常用系统类的使用,Java多线程编程一.实验目的及要求

1.掌握字符串类的使用方法

2.掌握不同类型的输入输出流类,标准数据流、文件流、数据输入输出流、对象流等

3.理解多线程机制,掌握线程对象的创建方法

4.掌握线程调度方法,包括线程优先级,线程等待、睡眠、唤醒、中断、终止方法

5.理解多线程之间的互斥和同步

二.实验内容及步骤

1.创建一个基本类型以及对象类型应用的源程序basicType.java,要求使用String类的变量先后指向两个相同的字符串常量,观察这个变量的值和所指向串的值,使用equals方法判定两个串的内容是否相等。使用Scanner类的变量从键盘上接收若干个整型数据,计算其总和并输出,能够处理非数值的情形并允许再次输入下一个数值。使用FileReader类/FileWriter类结合File类的变量执行先将整型、长整型、char和String类型变量值保存到文件test.txt,再输出该文件中的内容,观察此时程序的输入输出。使用FileWriter类/BufferedWriter类向文件test2.txt 中写入dobule类型,char类型,以及String类型的变量值,再使用FileReader 类/BufferedReader类读出这些变量的值,观察此时程序的输入输出情况。

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.util.Scanner;

public class BasicType {

public static final String CONSTANT_STRING = "Java String";

public static void main(String[] args) {

// testEqualsString();

// testScanner();

// testfile();

test2Buffered();

}

public static void testEqualsString(){

String stringA = CONSTANT_STRING;

String stringB = CONSTANT_STRING;

System.out.println("stringA == stringB :" + (stringA == stringB));

System.out.println("stringA.equals(stringB):" + (stringA.equals(stringB)));

}

public static void testScanner(){

Scanner s = new Scanner(System.in);

int count = 0;

int sum = 0;

int num = 0;

System.out.print("Input Integers num :" );

num = s.nextInt();

System.out.print("Input "+ num +" Integers;" );

for(count=0;count

sum = sum + s.nextInt();

System.out.print("sum : " + sum);

}

public static void testfile(){

File fileTest1 = new File("test1.txt");

FileWriter fw = null;

try{

fw = new FileWriter(fileTest1);

fw.write(String.valueOf(1234));

fw.write(String.valueOf(1234567890L));

fw.write('A');

fw.write("String");

}

catch(IOException e){

System.out.println(e.getMessage());

}

finally{

if(fw != null){

try{

fw.close();

}

catch(IOException e){

System.out.println(e.getMessage());

}

}

}

FileReader fr = null;

try{

String fileText1 = null;

fr = new FileReader(fileText1);

int charread;

while( (charread = fr.read()) != -1){

System.out.print((char)charread);

}

}

catch(IOException e){

System.out.println(e.getMessage());

}

finally{

if(fr != null){

try{

fr.close();

}

catch(IOException e){

System.out.println(e.getMessage());

}

}

}

}

public static void test2Buffered(){

File filetest1=new File("test2.txt");

FileWriter fw=null;

BufferedWriter bw=null;

try{

fw =new FileWriter(filetest1);

bw =new BufferedWriter(bw);

bw.write(String.valueOf(123.4D));

bw.write('a' );

bw.write("string");

bw.flush();

}

catch(IOException e){

System.out.println(e.getMessage());

}

finally{

if(bw != null){

try{

bw.close();

}

catch(IOException e){

System.out.println(e.getMessage());

}

}

}

FileReader fr=null;

BufferedReader br = null;

try{

fr=new FileReader("filetest1");

br=new BufferedReader (fr);

String line = br.readLine();

while( line != null){

System.out.println(line);

line=br.readLine();

}

}

catch(IOException e){

System.out.println(e.getMessage());

}

finally{

if(br != null){

try{

br.close();

}

catch(IOException e){

System.out.println(e.getMessage());

}

}

}

}

}

public class test {

public static void main(String args[]){

outer: for(int i=1;i<10;i++){

for(int j=1;j<10;j++){

if(j>i){

System.out.println();

continue outer;

}

System.out.print(" " +(i*j));

}

System.out.println();

}

}

}

2.创建一个有关线程应用的源程序threadDemo.java,其中两个具有包访问权限的类thread1,thread2分别以两种不同的方式定义,且都重写线程的run方法,每个线程类的run方法中重复10次输出本线程对象的名称,并执行Thread.sleep方法。每个线程类的构造方法均要求带一个String类型的参数,用来指出当前线程对象的名称,然后在主类threadDemo的main方法中分别创建上述两种方式下的线程对象,对于同一种类型的线程类也创建两个不同名称的对象,将这些线程对象都启动,运行程序,观察程序的运行情况。讨论在什么情况下可以使用线程的stop方法,wait方法,yield方法,join方法,notify方法。

3.有关临界资源的互斥访问问题。分析如下程序段,当两个线程对象在同时使用同一个stack上的对象时,能不能保证数据的有序入栈出栈?如果不行,应该如何

修改?并写出修改的理由。class stack{

int idx=0;

char[ ] data = new char[6]; public void push(char c){ data[idx] = c;

idx++;

}

public char pop(){

idx--;

return data[idx];

}

}

三.实验小结

JAVA学生信息管理系统实验报告

JA V A程序设计实验报告 学号: 姓名: 班级: 实验、Java课程设计--------学生信息管理系统

一、实验目的 1.掌握Java基本语法 2.理解面向对象编程特点 3.理解Java I/O编程 4.掌握Java图形界面编程 5.掌握Java与不同数据库进行连接 二、预习内容 Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作 三、实验设备与环境 通过局域网互联,安装Windows 2000/XP操作系统环境的JDK 1.6,my eclipse 或者EditPlus编程工具。并安装MySQL数据库 四、实验内容 编写并调试运行Java程序,进行设计,掌握Java开发的基础。 五、实验任务 设计学生信息管理系统。要求包括 1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。而普通用户只可以查找学生信息。 2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块 3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。 六、实验报告(要求独立完成参考程序的代码、编译、调试与运行) 1、程序清单: 1.1程序模块清单 package Pan; import java.awt.event.ItemListener; import javax.swing.*; import https://www.360docs.net/doc/d411863982.html,ponent;

import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.event.InputEvent; import java.awt.event.ItemListener; import java.awt.event.KeyEvent; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.util.*; import java.awt.Color; import java.text.DecimalFormat; import java.sql.*; import java.sql.Date; import java.awt.*; import java.util.Vector; public class Res { /** * @param args */ public static void main(String[] args) {

操作系统实验报告--实验一--进程管理

实验一进程管理 一、目的 进程调度是处理机管理的核心内容。本实验要求编写和调试一个简单的进程调度程序。通过本实验加深理解有关进程控制块、进程队列的概念,并体会和了解进程调度算法的具体实施办法。 二、实验内容及要求 1、设计进程控制块PCB的结构(PCB结构通常包括以下信息:进程名(进程ID)、进程优先数、轮转时间片、进程所占用的CPU时间、进程的状态、当前队列指针等。可根据实验的不同,PCB结构的内容可以作适当的增删)。为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的轮转时间数以及进程需运行的时间片数的初始值均由用户给定。 2、系统资源(r1…r w),共有w类,每类数目为r1…r w。随机产生n进程P i(id,s(j,k),t),0<=i<=n,0<=j<=m,0<=k<=dt为总运行时间,在运行过程中,会随机申请新的资源。 3、每个进程可有三个状态(即就绪状态W、运行状态R、等待或阻塞状态B),并假设初始状态为就绪状态。建立进程就绪队列。 4、编制进程调度算法:时间片轮转调度算法 本程序用该算法对n个进程进行调度,进程每执行一次,CPU时间片数加1,进程还需要的时间片数减1。在调度算法中,采用固定时间片(即:每执行一次进程,该进程的执行时间片数为已执行了1个单位),这时,CPU时间片数加1,进程还需要的时间片数减1,并排列到就绪队列的尾上。 三、实验环境 操作系统环境:Windows系统。 编程语言:C#。 四、实验思路和设计 1、程序流程图

2、主要程序代码 //PCB结构体 struct pcb { public int id; //进程ID public int ra; //所需资源A的数量 public int rb; //所需资源B的数量 public int rc; //所需资源C的数量 public int ntime; //所需的时间片个数 public int rtime; //已经运行的时间片个数 public char state; //进程状态,W(等待)、R(运行)、B(阻塞) //public int next; } ArrayList hready = new ArrayList(); ArrayList hblock = new ArrayList(); Random random = new Random(); //ArrayList p = new ArrayList(); int m, n, r, a,a1, b,b1, c,c1, h = 0, i = 1, time1Inteval;//m为要模拟的进程个数,n为初始化进程个数 //r为可随机产生的进程数(r=m-n) //a,b,c分别为A,B,C三类资源的总量 //i为进城计数,i=1…n //h为运行的时间片次数,time1Inteval为时间片大小(毫秒) //对进程进行初始化,建立就绪数组、阻塞数组。 public void input()//对进程进行初始化,建立就绪队列、阻塞队列 { m = int.Parse(textBox4.Text); n = int.Parse(textBox5.Text); a = int.Parse(textBox6.Text); b = int.Parse(textBox7.Text); c = int.Parse(textBox8.Text); a1 = a; b1 = b; c1 = c; r = m - n; time1Inteval = int.Parse(textBox9.Text); timer1.Interval = time1Inteval; for (i = 1; i <= n; i++) { pcb jincheng = new pcb(); jincheng.id = i; jincheng.ra = (random.Next(a) + 1); jincheng.rb = (random.Next(b) + 1); jincheng.rc = (random.Next(c) + 1); jincheng.ntime = (random.Next(1, 5)); jincheng.rtime = 0;

操作系统实验报告java

操作系统实验报告 院系: 专业: 班级: 学号: : 指导老师:

进程调度的模拟与存管理 一、实验目的 在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就续进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。实验模拟实现处理机调度,以加深了解处理机调度的工作,并体会优先级和时间片轮转调度算法的具体实施方法。帮助了解在不同的存储管理方式下,应怎样实现主存空间的分配和回收。 二、实验要求 1、可随机输入若干进程,并按优先权排序; 2、从就绪队首选进程运行:优先权-1/要求运行时间-1 要求运行时间=0时,撤销该进程 3、重新排序,进行下轮调度。 4、可随时增加进程; 5、规定道数,设置后备队列和挂起状态。若存中进程少于规定道数,可自 动从后备队列调度一作业进入。被挂起进程入挂起队列,设置解挂功能 用于将指定挂起进程解挂入就绪队列。 6、每次调度后,显示各进程状态。 7、自行假设主存空间大小,预设操作系统所占大小并构造未分分区表; 表目容:起址、长度、状态(未分/空表目) 8、结合以上实验,PCB增加为: {PID,要求运行时间,优先权,状态,所需主存大小,主存起始位置,

PCB指针} 9、采用最先适应算法分配主存空间; 10、进程完成后,回收主存,并与相邻空闲分区合并。 11、采用图形界面; 三、实验容 选择一个调度算法,实现处理机调度。 1、设计一个按优先权调度算法实现处理机调度的程序; 2、设计按时间片轮转实现处理机调度的程序。 3、主存储器空间的分配和回收。在可变分区管理方式下,采用最先适应算法实现主存空间的分配和回收。 四、实验原理 该模拟系统采用java语言实现,要实现的功能有新建进程、进程调度、挂起进程、解挂进程、删除进程,道数和时间片大小可以由用户自己调整,有两种调度策略:按优先权调度和按时间片轮转调度。每个进程可能有5种状态:新建(new)、就绪(ready)、运行(running)、阻塞(waiting)、挂起(suspend)。每个状态都有一个队列用来存放处于该状态的进程,不同的调度策略采用不同的队列实现。当创建进程时,如果存中的进程数还没达到规定道数,则将新建进程插入就绪队列,如果存中进程数已经达到规定道数,则插到后备队列,后备队列中的进程的状态为new。CPU每次调度时都从就绪队列中取进程,在进程执行过程中如果下一个操作时IO操作,则将进程插入到waiting队列。在系统运行过程中可以执行进程挂起操作,但执行的挂起操作时系统自动暂停运行,在弹出窗口选

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 姓名:安磊 班级:计科0901 学号: 0909090310

指导老师:宋虹

目录 课程设计内容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------6 文件系统的层次结构和功能模块 ---------------------6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录-------------------------------------------------- 12

课程设计内容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在内存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全 可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

运行环境配置基本要求

运行环境配置基本要求 一、基础软件要求 1.服务器操作系统:64位Window Server 2008 R2 Enterprise 或以上 2.数据库管理软件:64位Oracle 11g(11.2.0.1.0) 3.GIS软件:ARCSDE 10.X、ARCGIS DESTOP 10.X、ARCGIS SERVER 10.X 4.客户机操作系统:Windows 7 或以上版本 5.客户机浏览器:IE8或以上版本 6.客户机OFFICE软件:OFFICE 2007或以上版本 二、硬件要求 1.服务器要求 各局按照预计日均不动产登记业务量来配置服务器,具体如下表所示:

2.客户机要求 对客户机不做特殊要求,一般个人PC电脑即可。为了保障系统使用的效率,宜采用内存大于2G的品牌机。 3.可选配置 系统具备身份证读卡器、高拍仪、扫码枪接口,各地可根据实际情况进行选配。具体型号要求如下: (1)高拍仪:USB接口的扫描设备即可(推荐设备:多易拍DS530) (2)身份证读卡器:标准身份证读卡器(推荐设备:普天或神思)

(3)扫码枪:USB接口的扫码枪即可(推荐设备:YOUJIE(2D)YJ4800) 三、政务网接入要求 1.有条件的单位参考数字福建对政务网局域网模式接 入的要求如下图: 图1局域网模式接入政务网示意图 可使用带路由、防火墙、入侵防御、恶意代码检测的UTM 设备替代路由器、访问控制、入侵检测与阻断设备,上网行为管理设备替代网络准入与外联控制、网络行为审计设备。 2.条件尚不满足的单位至少应使用硬件防火墙作为网 络边界防护设备(参数不低于1U机架式防火墙,100M网络接入)。

企业Java项目环境搭建

新人主要任务 1.搭建java环境 2.安装Eclipse开发集成环境 3.配置Tomcat服务器 4.安装SVN插件 5.安装Maven插件 6.搭建一个Maven项目 一.下载资源 (1)接通共享主机,根据提示输入用户名, 密码。 (2)进入安装程序\开发工具\Java文件夹,下载您需要的资源。如下图二.Java环境搭建 (1)安装jdk-6u25-windows-i586.exe执行文件 (2)安装后配置java环境变量,如下 电脑->属性->高级->环境变量根据自己java SDK安装目录修改如下JAVA_HOME= C: PATH= %JAVA_HOME%\bin CLASSPATH=.; %JAVA_HOME%\lib;%JAVA_HOME%\rt.jar (3)测试java环境是否搭建成功 Cmd ->java ->javac看看系统是否识别命令 二.安装Eclipse开发集成环境 解压eclipse-jee-helios-SR2-win32.zip文件夹,双击“eclipse.exe”图

标开始运行Eclipse程序(注意解压路径不要带有“中文”)。 三.解压压缩包,运行Eclipse程序,选择Window->Preferences->Server->Runtime Environments,如下图 选择“Add…”按钮后,选择“Apache Tomcat v6.0”如下图 单击”Next >”,选择Tomcat压缩路径如下图 选择结束。 四,安装SVN插件 运行Eclipse程序,选择Help->Eclipse Marketplace,如下图 在Find编辑框中输入“SVN”进行搜索,结果如下图 选择SVN进行安装。

实时操作系统报告

实时操作系统课程实验报告 专业:通信1001 学号:3100601025 姓名:陈治州 完成时间:2013年6月11日

实验简易电饭煲的模拟 一.实验目的: 掌握在基于嵌入式实时操作系统μC/OS-II的应用中,基于多任务的模式的编程方法。锻炼综合应用多任务机制,任务间的通信机制,内存管理等的能力。 二.实验要求: 1.按“S”开机,系统进入待机状态,时间区域显示当前北京时间,默认模式“煮饭”; 2.按“C”选择模式,即在“煮饭”、“煮粥”和“煮面”模式中循环选择; 3.按“B”开始执行模式命令,“开始”状态选中,时间区域开始倒计时,倒计时完成后进入“保温”状态,同时该状态显示选中,时间区域显示保温时间; 4.按“Q”取消当前工作状态,系统进入待机状态,时间区域显示北京时间,模式为当前模式; 5.按“X”退出系统,时间区域不显示。 6.煮饭时长为30,煮粥时长为50,煮面时长为40. 三.实验设计: 1.设计思路: 以老师所给的五个程序为基础,看懂每个实验之后,对borlandc的操作有了大概的认识,重点以第五个实验Task_EX为框架,利用其中界面显示与按键扫描以及做出相应的响应,对应实现此次实验所需要的功能。 本次实验分为界面显示、按键查询与响应、切换功能、时钟显示与倒计时模块,综合在一起实验所需功能。 2.模块划分图: (1)界面显示: Main() Taskstart() Taskstartdispinit() 在TaskStartDispInit()函数中,使用PC_DispStr()函数画出界面。

(2)按键查询与响应: Main() Taskstart() 在TaskStart()函数中,用if (PC_GetKey(&key) == TRUE)判断是否有按键输入。然后根据key 的值,判断输入的按键是哪一个;在响应中用switch语句来执行对应按键的响应。 (3)切换功能: l计数“C”按 键的次数 M=l%3 Switch(m) M=0,1,2对应于煮饭,煮粥,煮面,然后使用PC_DispStr()函数在选择的选项前画上“@”指示,同时,在其余两项钱画上“”以“擦出”之前画下的“@”,注意l自增。 四.主要代码: #include "stdio.h" #include "includes.h" #include "time.h" #include "dos.h" #include "sys/types.h" #include "stdlib.h" #define TASK_STK_SIZE 512 #define N_TASKS 2 OS_STK TaskStk[N_TASKS][TASK_STK_SIZE]; OS_STK TaskStartStk[TASK_STK_SIZE]; INT8U TaskData[N_TASKS];

java超市管理系统实训报告

1.1 课程设计的目的 通过本次课程设计,使学生能够全面、深刻地掌握数据库系统的设计流程。根据在数据库原理课程中所学到的数据库理论知识,结合某个具体的实际需求,最终开发出一个较为实用的数据库系统。 1.2 课程设计的背景和意义 1.2.1课程设计的背景 20世纪90年代后期特别是近几年,我国的超市产业飞速发展,其经营模式更为复杂,旧的管理体制已经无法适应超市的发展,这就迫切的需要引进新的管理技术。 超市的数据和业务越来越庞大,而计算机就是一种高效的管理系统,这就需要我们把超市的管理与计算机结合起来,从而超市管理系统应运而生。依靠现代化的计算机信息处理技术来管理超市,节省了大量的人力、物力,改善了员工的并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。 1.2.2 课程设计的意义 “数据库课程设计”的设计思想旨在强调学生的实际编程能力的培养与创意灵感的发挥。为此,本课程结合学科特点,除了让学生掌握数据库原理的理论知识,还增加了需求功能让学生完成,并鼓励学生的创作出个性的程序,满足客户需求,与市场的实际项目相结合。学生对此热情高,实际收获大,效果好。通过课堂学习和参与相关项目设计,学生对书本支持有了深刻的理解,实践性教学取得了良好效果。 1.3 课程设计环境 操作系统:Windows xp 开发软件:Microsoft Visual Studio 2005 数据库:Microsoft SQL Server 2005 第2章系统需求分析 随着人们生活水平的不断提高,对于物质的需求也越来越高,而超市作为日常生活用品聚集的场所,随着全球各种超市的数目的不断增加,规模不断增大,其管理难度也相应的增加,而为了适应当今信息化发展的时代,一套完整的超市商品管理系统显得尤为重要。

JAVA+SQL学生学籍管理系统代码及实验报告

学生学籍管理系统 1课程设计目的、设计内容与需求分析 1.1 课程设计目的 通过本次课程设计的实践操作,能够让学生懂得Java、SQL的各种相关知识的使用,真正的提高学生独立开发设计Java程序,把课堂上的知识运用在实践上,一门编程语言只有在不断实践操作和练习上才会有进步。 1.2软件设计内容 学生学籍管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成添加,查询,修改,删除的操作。用ODBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。 SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。系统可供输入的属性有“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。 该系统实现的大致功能: 1.管理员登陆界面。该界面可以输入管理员号,登陆密码。用户通过验证通过后方可进入管理系统。一定程度上保证了信息安全性,防止他人未经允许篡改学生信息。 2.查询学生信息。可以选择由用户选择“显示系统中当前的所有学生信息”。也可以选择按照“某一个学号查询该学号的学生信息”。查询到的信息会在窗口中依次显示出来。 3.添加学生信息。可以按照图形的界面的显示依次输入新学生的“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。完成新纪录的添加。 4.修改学生信息。可以选择按照“学号”或者“姓名”找到该学生的学生信息并输

嵌入式实时操作系统实验报告

嵌入式实时操作系统实验报告 任务间通信机制的建立 系别计算机与电子系 专业班级***** 学生姓名****** 指导教师 ****** 提交日期 2012 年 4 月 1 日

一、实验目的 掌握在基于嵌入式实时操作系统μC/OS-II的应用中,任务使用信号量的一般原理。掌握在基于优先级的可抢占嵌入式实时操作系统的应用中,出现优先级反转现象的原理及解决优先级反转的策略——优先级继承的原理。 二、实验内容 1.建立并熟悉Borland C 编译及调试环境。 2.使用课本配套光盘中第五章的例程运行(例5-4,例5-5,例5-6),观察运行结果,掌握信号量的基本原理及使用方法,理解出现优先级反转现象的根本原因并提出解决方案。 3.试编写一个应用程序,采用计数器型信号量(初值为2),有3个用户任务需要此信号量,它们轮流使用此信号量,在同一时刻只有两个任务能使用信号量,当其中一个任务获得信号量时向屏幕打印“TASK N get the signal”。观察程序运行结果并记录。 4. 试编写一个应用程序实现例5-7的内容,即用优先级继承的方法解决优先级反转的问题,观察程序运行结果并记录。 5.在例5-8基础上修改程序增加一个任务HerTask,它和YouTask一样从邮箱Str_Box里取消息并打印出来,打印信息中增加任务标识,即由哪个任务打印的;MyTask发送消息改为当Times为5的倍数时才发送,HerTask接收消息采用无等待方式,如果邮箱为空,则输出“The mailbox is empty”, 观察程序运行结果并记录。 三、实验原理 1. 信号量 μC/OS-II中的信号量由两部分组成:一个是信号量的计数值,它是一个16位的无符号整数(0 到65,535之间);另一个是由等待该信号量的任务组成的等待任务表。用户要在OS_CFG.H中将OS_SEM_EN开关量常数置成1,这样μC/OS-II 才能支持信号量。

软件运行环境要求

软件运行环境要求 1.软硬件环境要求监考机的最低软硬件配置如下: 1.1监考机主要功能是监控和管理考试的进程,并且被利用作为智能评测引擎的服务器。 在实际测试时,可以选择专用服务器,也可以使用满足最低配置要求的PC。 监考机的最低配置如下: P4 2.4GHz;512M RAM内存;80G硬盘;100Mbps网卡;推荐配置: P4 3.0GHz;1G RAM内存;160G硬盘;1000Mbps网卡;监考机需要安装的操作系统为Win2000 Server或Win2003 Server。 1.2考试机考试机的最低配置如下: P4 1.6GHz;256M RAM内存;40G硬盘;100Mbps网卡;声卡配置推荐使用创新 5.1声卡(内置)或创新Audigy2 NX(外置),其他同等音质设备,如sound max芯片集成声卡、sound blaster芯片集成声卡也可;耳麦: 推荐使用PHILIPS SBC HM385(头戴式)或莱茵LEM-802(桌上型),其他同等音质设备,如PHILIPS HM 450、PHILIPS HM3300也可推荐配置: P4

3.0GHz;512M RAM内存;80G硬盘;100Mbps网卡;考试机需要安装的操作系统为Win2000或Win XP专业版 1.3评测机评测机的最低配置如下: P4 1.6GHz;256M RAM内存;40G硬盘;100Mbps网卡;推荐配置: P4 3.0GHz;512M RAM内存;80G硬盘;100Mbps网卡;考试机需要安装的操作系统为Win2000或Win XP专业版。 2.网络环境网络版: 整个考场所有的“监考机”和“考试机”都必须接入局域网。 该局域网要求带宽大于等于100Mbps,建议使用100Mbps的交换机而不是集线器来构建网络。 在实际应用中,测试站系统需要与省市测试中心通信的考试管理信息系统通信。 该特性要求监考机接入互联网。 可以采用电信提供的ADSL或者宽带网络,也可以直接利用学校现有的,建议监考机最低互联网接入带宽能达到2Mbps。 单机版: 单机版的网络环境不是必须条件,可以采用移动存储方式导入/导出数据。

操作系统实验报告

实验报告 实验课程名称:操作系统 实验地点:南主楼七楼机房 2018—2019学年(一)学期 2018年 9月至 2019 年 1 月 专业: 班级: 学号: 姓名: 指导老师:刘一男

实验一 实验项目:分时系统模拟 实验学时:2实验日期: 2018-10-25 成绩: 实验目的利用程序设计语言模拟分时系统中多个进程按时间片轮转调度算法进行进程调度的过程; 假设有五个进程A,B,C,D,E,它们的到达时间及要求服务的时间分别为:进程名 A B C D E 到达时间0 1 2 3 4 服务时间 4 3 4 2 4 时间片大小为1,利用程序模拟A,B,C,D,E五个进程按时间片轮转的调度及执行过程并计算各进程的周转时间及带权周转时间。 执行过程并计算各进程的周转时间及带权周转时间。 轮转调度:BDACE

(1)修改时间片大小为2,利用程序模拟A,B,C,D,E五个进程按时间片轮转的调度及执行过程并计算各进程的周转时间及带权周转时间。 轮转调度:ADBCE (2)修改时间片大小为4,利用程序模拟A,B,C,D,E五个进程按时间片轮转的调度及执行过程并计算各进程的周转时间及带权周转时间.

顺序:ABCDE 1、思考 时间片的大小对调度算法产生什么影响?对计算机的性能产生什么影响?答:通过对时间片轮转调度算法中进程最后一次执行时间片分配的优化,提出了一种改进的时间片轮转调度算法,该算法具有更好的实时性,同时减少了任务调度次数和进程切换次数,降低了系统开销,提升了CPU的运行效率,使操作系统的性能得到了一定的提高。 A B C D E 时间片为1 周转时间12 9 14 8 13 3 3 3.5 4 3.25 带权周转 时间 时间片为2 周转时间8 12 13 7 13 2 4 3.25 3.5 3.25 带权周转 时间 时间片为4 周转时间 4 6 9 10 13 1 2 2.25 5 3.25 带权周转 时间

软件运行环境要求

软件运行环境要求 1.软硬件环境要求 监考机的最低软硬件配置如下: 1.1监考机 主要功能是监控和管理考试的进程,并且被利用作为智能评测引擎的服务器。在实际测试时,可以选择专用服务器,也可以使用满足最低配置要求的PC。 ●监考机的最低配置如下: P4 2.4GHz;512M RAM内存;80G硬盘;100Mbps 网卡; ●推荐配置: P4 3.0GHz;1G RAM内存;160G硬盘;1000Mbps 网卡; 监考机需要安装的操作系统为Win2000 Server或Win2003 Server。 1.2考试机 ●考试机的最低配置如下: P4 1.6GHz;256M RAM内存;40G硬盘;100Mbps 网卡; 声卡配置推荐使用创新5.1声卡(内置)或创新Audigy2 NX(外置),其他同等音质设备,如sound max 芯片集成声卡、sound blaster芯片集成声卡也可; 耳麦:推荐使用PHILIPS SBC HM385(头戴式)或莱茵LEM-802(桌上型),其他同等音质设备,如PHILIPS HM450、PHILIPS HM3300也可 ●推荐配置: P4 3.0GHz;512M RAM内存;80G硬盘;100Mbps 网卡; 考试机需要安装的操作系统为Win2000或Win XP专业版 1.3评测机 ●评测机的最低配置如下: P4 1.6GHz;256M RAM内存;40G硬盘;100Mbps 网卡; ●推荐配置: P4 3.0GHz;512M RAM内存;80G硬盘;100Mbps 网卡; 考试机需要安装的操作系统为Win2000或Win XP专业版。

实时操作系统实验报告2

实时操作系统实验报告 专业:11通信工程 学号:20110306136 姓名: 王帅 指导老师:申屠浩

实验二 任务管理实验 实验目的: 1、理解任务管理的基本原理,了解任务的各个基本状态及其变迁过程; 2、掌握μC/OS -II 中任务管理的基本方法(挂起、解挂); 3、熟练使用μC/OS -II 任务管理的基本系统调用。 实验要求与思路: 为了体现任务的各个基本状态及其变迁过程,本实验设计了T0、T1和T3三个任务,它们交替运行,如图2-2所示。 T0 T1 T2 T3 T4 T5 T6 T7 T8 图2-2 注意: 图中的栅格并不代表严格的时间刻度,而仅仅表现各任务启动和执行的相对先后关系。 说明: 在系统完成初始化后,可以先创建并启动优先级最低的TaskStart ,由它创建其他3个应用任务T0、T1和T2,之后整个系 T0 T2 T1 T0 T1 T2 T1 T0

统的运行流程如下: 1)优先级最高的T0开始执行,之后T0挂起自己; 2)然后系统调度选中T1开始执行,之后T1挂起自己; 3)接着系统调度选中T2,之后唤醒T0; 4)如此循环 实现提示: 在启动任务中创建三个任务后,应挂起任务1和任务2。 在每个任务恢复其它任务并挂起自己之前,显示当前三个任务的状态,并延时1秒。 函数说明: void PC_GetDateTime (char *s); 获取"YYYY-MM-DD HH:MM:SS"格式的时间字串存放在字符串s中,s的长度最少为21字节。 void PC_DispStr (INT8U x, INT8U y, INT8U *s, INT8U color); 在y行x列以color颜色值显示字串s,注意color由背景色和前景色两种颜色构成。 INT8U OSTimeDlyHMSM (INT8U hours, INT8U minutes, INT8U seconds, INT16U milli); 按时、分、秒、毫秒设置进行延时。 void OSTimeDly (INT16U ticks) 按ticks值进行延时,1 ticks一般为10ms。 INT32U OSTimeGet (void)

系统运行环境配置与安装说明

系统运行环境配置及安装说明 一、系统运行环境配置 本系统为网络版,在服务器上安装后,局域网内所有计算机都可以连接使用。安装后系统的数据库和应用程序分别存放在Microsoft SQL Server中和用户指定的磁盘上。 1.硬件环境 1.1网络环境 本系统需要运行在单位局域网上,要求服务器、客户端(档案室)计算机连接在此网络上。建议配置100M网络速度。 1.2满足系统运行的客户机、服务器的基本配置 CPU: PⅣ1.6G以上 内存:256M以上,建议512M 硬盘:40G以上 VGA:分辨率800*600或者更高 网卡:100M以上 其他:光驱、3.5英寸软驱、鼠标 2.软件环境 2.1服务器操作系统配置: Windows 2000 Server 或Windows 2000 Advanced Server 。 2.2服务器数据库配置: Microsoft SQL Server 7.0 或 Microsoft SQL Server 2000 。 第一次在服务器上安装Microsoft SQL Server,在安装过程中会出现提示输入“连接客户端数”的窗口,请增加100个客户端。 服务器上已经安装了Microsoft SQL Server,请运行“开始”-->“程序”-->“管理工具”-->“授权”检查Microsoft SQL Server的许可连接数,如果其连接数为0或不足100,请设置为100个客户端连接。 2.3客户端浏览器配置:IE5.0以上。

二、系统安装说明 请插入“中国科学院院属单位综合档案管理系统”光盘,双击SETUP[2.50].EXE。按照系统提示的步骤安装到PC机或服务器上。用户只能将本系统安装在计算机的根目录下,如:C:\ 。 安装完成后请重新启动服务器。 三、数据库软件安装说明 本系统需要安装SQL SERVER 7.0或者SQL SERVER 2000数据库软件,安装具体步骤如下。 1.SQL SERVER 7.0的安装 把SQL SERVER 7.0数据库安装光盘放到光驱中,双击光盘盘符,进入光盘内容。打开光盘后,如图3.1-1。 图3.1-1 双击“AUTORUN.EXE”图标即可进入数据库的安装画面,如图3.1-2:

java开发环境搭建

一。jdk安装与配置 jdk7于3月份刚刚发布,目前eclipse的最新版本中还没有提供对jdk7的编译支持,所以我 们只下载jdk6。 下载地址:https://www.360docs.net/doc/d411863982.html,/jdk6/ 选择适合平台的安装文件,windows32下目前最新版本为:jdk-6u25-ea-bin-b03-windows-i58 6-27_feb_2011.exe 默认安装即可,安装完成后要配置环境变量。 比如,我的安装目录为:C:\Program Files\Java\jdk1.6。 环境变量配置如下: XP系统下,右击“我的电脑”--选择“属性”--选择“高级”--点击“环境变量” 在“系统变量(S)”中 新建:JAVA_HOME:C:\Program Files\Java\jdk1.6 新建:CLASS_PATH:.;%JAVA_HOME%\lib 编辑:PATH:在最前面加上%JAVA_HOME%\bin; 创建环境变量后,打开cmd,输入“java -version”验证是否安装成功。

二。tomcat 安装与配置 tomcat的官方网站:https://www.360docs.net/doc/d411863982.html,/ 目前最新版本为7.0, windows32下目前最新版本下载地址:https://www.360docs.net/doc/d411863982.html,/apache-mirror/tomcat/tomcat-7/v7. 0.11/bin/apache-tomcat-7.0.11-windows-x86.zip 此为解压缩版,下载后解压缩即可,tomcat是需要jdk才能运行的,如果我们配置好了jdk 环境变量,那么tomcat会自动从环境变量中读取jdk信息,无需特别的配置。 比如,我们将tomcat解压缩后的目录为:F:\apache-tomcat-7.0.11-windows-x86\apache-tomca t-7.0.11(以下简称%TOMCAT_HOME%) 进入%TOMCAT_HOME%/bin,双击“startup.bat”启动tomcat,如果tomcat正常启动,我们访问“http://localhost:8080/”即可打开tomcat管理页面。 双击“shutdown.bat”,即可关闭tomcat。 管理账户配置: 进入%TOMCAT_HOME%/conf,编辑“tomcat-users.xml”, 因为是开发环境,所以这里我们配置一个超级用户admin ,使其能够管理tomcat,编辑后 的内容如下:

计算机操作系统进程调度实验报告材料

操作系统实验题:设计一若干并发进程的进程调度程序 一、实验目的 无论是批处理系统、分时系统还是实时系统,用户进程数一般都大于处理机数,这将导致用户进程互相争夺处理机。这就要求进程调度程序按一定的策略,动态地把处理及分配给处于就绪队列中的某一进程,以使之执行。进程调度是处理机管理的核心内容。本实验要求采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法编写和调试一个简单的进程调度程序。通过本实验可以加深理解有关进程控制块、进程队列的概念。并体会了优先数和先来先服务调度算法的具体实施办法。 二、实验要求 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解. 三、实验内容 进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法(将用户作业和就绪进程按提交顺序或变为就绪状态的先后排成队列,并按照先来先服务的方式进行调度处理)。 每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。 进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。 进程的运行时间以时间片为单位进行计算。

每个进程的状态可以是就绪W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。 就绪进程获得CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。 如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。 每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。 四、实验算法流程 调度算法的流程图如下:

软件运行环境及计算机配置要求

目录 一软件运行环境及计算机配置要求 (3) 二软件安装说明 (3) 2.1安装数据库SqlServer2000 (3) 2.2安装财政数据采集系统 (8) 2.3连接数据库 (11) 2.3.1 数据库设置 (11) 2.3.2 数据库恢复 (15) 2.3.3 数据库备份 (17) 三用户登录 (19) 四系统设置 (22) 4.1区划编码设置 (22) 4.1.2 增加区划编码 (22) 4.1.2 删除区划编码 (24) 4.2区划编码信息查看 (24) 4.2.1查看本地信息 (24) 4.2.2 查看本地区全部的区划编码 (25) 4.3用户管理 (25) 五数据导入 (27) 5.1专项资金数据导入 (27) 5.1.1专项资金数据导入 (27) 5.1.2专项资金数据编辑 (33) 5.1.3专项资金数据的审核汇总 (39) 5.2部门预算数据导入 (43) 5.2.1单位信息编辑 (43) 5.2.2部门预算数据导入 (44) 5.2.3部门预算数据编辑 (45) 六数据交换 (45)

6.1数据上网 (45) 6.1.1网络设置 (46) 6.1.2网络测试 (47) 6.1.3数据上传 (47) 6.2数据报出 (48) 6.3 数据接收 (50) 七模版管理 (53) 7.1全省模版 (53) 7.2自定义资金模版 (53) 7.3模版导出和接收 (58) 7.4审核公式 (61) 八常见问题解答及注意事项 (63) 8.1常见错误 (63) 8.2自定义资金模版时要注意以下几点 (64) 8.3导入数据注意事项 (64) 8.4区划编码 (65) 8.5字段长度列表 (66)

学生管理系统JAVA实验报告

实验报告 学生信息管理系统 学号:XXXXXXXX 姓名:XXXXXX 班级:XXXXXXXXXXXXXXX

摘要 本文着重阐述了“学生信息管理系统”的开发过程。对于设计思想和设计流程也做出了全面的叙述,在数据库创建思想以及各个数据表之间的具体关联等面也做出了详细说明,并且具体剖析了系统各个功能的实现过程以及详细设计过程,在绘制简单系统功能模块图的同时,力求更加清晰地表明设计思想以及对整个学生模块程序设计的规划及具体实现过程。 本系统具有多面特点:系统功能完备,用户使用便简捷,人性化的用户界面,安全保密设置齐全,大大减少了操作人员和用户的工作负担,提高了学生管理的工作效率和学校的信息化的水平。 Abstract This article focuses on the student information management system---student module for the development process. Introduced a system for environment and development tools, the design concept and design process has also made a comprehensive narrative, in the database to create ideological and various data tables specific links between the areas has also made detailed and specific analysis of the The various functions of the system to achieve process and detailed design process, drawing a simple system function modules map at the same time, to more

相关文档
最新文档