CSDN博客

img baijian_8d

作业调度算法

发表于2004/11/3 22:51:00  3525人阅读

分类:

作业序列
作业1 作业2 作业3 作业4
提交时间: 提交时间: 提交时间: 提交时间:
执行时间: 执行时间: 执行时间: 执行时间:
调度方法选择
先来先服务 短作业优先 响应比优先

平均周转时间:  平均带权周转时间:



由于Blog出于安全的原因,把<form>标签过滤了,所以网页程序有错,给出源代码如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>作业调度算法</title>
</head>
<style>
.button{background-color: #ffffff; cursor: hand; color: #000000; height: 20pt; clip:  rect(   );  border-color: #CCCCCC #666666 #666666 #CCCCCC; border-style: ridge; border-top-width: thin; border-right-width: thin; border-bottom-width: thin; border-left-width: thin}
td{font-size: 11pt; font-style: 正规; font-weight: 正规; text-decoration: none}
body{font-size: 11pt; font-style: 正规; font-weight: 正规; text-decoration: none}
.text{background-color: #FFFFFF; border: thin #CCCCCC groove}
</style>
<body topmargin="0" leftmargin="0">
<form name="work">
  <table align="center" border="1" width="100%" height="222">
    <tr>
    <td height="123">
     <table border="1" align="center">
          <tr bgcolor="#CCCCCC">
            <td colspan="4" align="center" >作业序列</td>
    </tr>
    <tr><td>作业1</td><td>作业2</td><td>作业3</td><td>作业4</td></tr>
    <tr>
        <td>提交时间:
              <input name="time_submit" type="text" value="8.00" size="4" maxlength="4"></td>
        <td>提交时间:
              <input name="time_submit" type="text" value="8.50" size="4" maxlength="4"></td>
        <td>提交时间:
              <input name="time_submit" type="text" value="9.0" size="4" maxlength="4"></td>
        <td>提交时间:
              <input name="time_submit" type="text" value="9.50" size="4" maxlength="4"></td>
    </tr>
    <tr>
        <td>执行时间:
              <input name="time_execute" type="text" value="2.0" size="4" maxlength="4"></td>
     <td>执行时间:
              <input name="time_execute" type="text" value="0.50" size="4" maxlength="4"></td>
     <td>执行时间:
              <input name="time_execute" type="text" value="0.10" size="4" maxlength="4"></td>
     <td>执行时间:
              <input name="time_execute" type="text" value="0.20" size="4" maxlength="4"></td>
    </tr>
   </table>
 </td>
  </tr>
  <tr>
      <td height="52" align="left" valign="top">
        <table align="center" border="1">
       <tr bgcolor="#CCCCCC">
            <td colspan="3" align="center">调度方法选择</td>
   </tr>
   <tr>
       <td><input type="radio" value="first" name="method_select" checked>先来先服务</td>
       <td><input type="radio" value="short" name="method_select">短作业优先</td>
    <td><input name="method_select" type="radio" value="respond">
              响应比优先</td>
   </tr>
  </table>
  </td>
  </tr>
  <tr><td align="center"><input type="button" value="显示结果" name="display" class="button"><br>
   平均周转时间:<input type="text" size=4 name="result1">&nbsp;
   平均带权周转时间:<input type="text" size=4 name="result2">
   </td></tr>
   <tr><td align="center"><input type="reset" value="重新填写" class="button"></td></tr></table>
</form>
<br><br><br>
<center><font style="font-size: 30pt;background-color: #FFFFFF;color=#ffffff">996621班  白建明制作</font></center>
</body>
</html>
<script language="VBScript">
dim time_round(4)
 dim tmp
 dim t
 dim w
 dim temp(4)
sub display_onclick
 
 if document.work.method_select(0).checked=true then
  <!-- 此为先来先作业////////////////////////////////////-->
   t=0
   w=0
    tmp=cdbl(document.work.time_submit(0).value)
    for i=0 to 3
      tmp=tmp+cdbl(document.work.time_execute(i).value)
      time_round(i)=tmp-cdbl(document.work.time_submit(i).value)
      //msgbox time_round(i)
      t=t+1/4*(time_round(i))
      w=w+1/4*(time_round(i)/cdbl(document.work.time_execute(i).value))
    next
    document.work.result1.value=t
    document.work.result2.value=w
    //msgbox document.work.time_submit(0).value
 elseif document.work.method_select(1).checked=true then
 <!-- 此为当短作业优先 /////////////////////////////////-->
  for i=1 to 3
   temp(i)=4-i
 next
 temp(0)=0
 i=3
 do while i>1
    for j=1 to i-1
   if cdbl(document.work.time_execute(temp(j)).value)>_
   cdbl(document.work.time_execute(temp(j+1)).value) then
   tmp=temp(j)
   temp(j)=temp(j+1)
   temp(j+1)=tmp
   end if  
 next
 //msgbox temp(1) & " " & temp(2) & " " & temp(3)
    i=i-1
 loop//do while
 t=0
 w=0
    tmp=cdbl(document.work.time_submit(temp(0)).value)
    for i=0 to 3
      tmp=tmp+cdbl(document.work.time_execute(temp(i)).value)
      time_round(i)=tmp-cdbl(document.work.time_submit(temp(i)).value)
      //msgbox time_round(i)
      t=t+1/4*(time_round(i))
      w=w+1/4*(time_round(i)/cdbl(document.work.time_execute(temp(i)).value))
    next
    document.work.result1.value=t
    document.work.result2.value=w
 /////////////////////////////////////响应比优先
 else
 for i=0 to 3
    temp(i)=4-i
 next
 temp(0)=0
 dim respond(4)
 for i=1 to 3
  respond(i)=1+(cdbl(document.work.time_submit(0).value)+cdbl(document.work.time_execute(0).value)-_
                 cdbl(document.work.time_submit(i).value))/cdbl(document.work.time_execute(i).value)
  //msgbox respond(i)
  next
  temp(0)=0
 i=3
 do while i>1
    for j=1 to i-1
   if respond(temp(j))<respond(temp(j+1)) then
   tmp=temp(j)
   temp(j)=temp(j+1)
   temp(j+1)=tmp
   end if  
 next
 //msgbox temp(1) & " " & temp(2) & " " & temp(3)
    i=i-1
 loop//do while
 /////////////////////////以上为确定响应比的优先级
 t=0
 w=0
    tmp=cdbl(document.work.time_submit(temp(0)).value)
    for i=0 to 3
      tmp=tmp+cdbl(document.work.time_execute(temp(i)).value)
      time_round(i)=tmp-cdbl(document.work.time_submit(temp(i)).value)
      //msgbox time_round(i)
      t=t+1/4*(time_round(i))
      w=w+1/4*(time_round(i)/cdbl(document.work.time_execute(temp(i)).value))
    next
    document.work.result1.value=t
    document.work.result2.value=w 
  ///////////////////////////////////////////
  end if
 end sub
 ////////////////////////////////////////////
 sub average(first)
    t=0
    w=0
    tmp=cdbl(document.work.time_submit(first).value)
    for i=0 to 3
      tmp=tmp+cdbl(document.work.time_execute(i).value)
      time_round(i)=tmp-cdbl(document.work.time_submit(i).value)
      //msgbox time_round(i)
      t=t+1/4*(time_round(i))
      w=w+1/4*(time_round(i)/cdbl(document.work.time_execute(i).value))
    next
    document.work.result1.value=t
    document.work.result2.value=w
 end sub
</script>
<!-- 以下为取消反键的代码/////////////////////////////////////////////////////////-->
<script language="JavaScript">
<!--
if (window.Event)
document.captureEvents(Event.MOUSEUP);
function nocontextmenu()
{
event.cancelBubble = true
event.returnValue = false;
return false;
}
function norightclick(e)
{
if (window.Event)
{
if (e.which == 2 || e.which == 3)
return false;
}
else
if (event.button == 2 || event.button == 3)
{
event.cancelBubble = true
event.returnValue = false;
return false;
}
}
document.oncontextmenu = nocontextmenu; // for IE5+
document.onmousedown = norightclick; // for all others
//-->
</script>96621班 白建明制作

阅读全文
0 0

相关文章推荐

img
取 消
img