📄 安全性算法.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0069)http://61.153.216.104/xxxy/gg/shownews.asp?newsID=495&type=教研室通知 -->
<HTML><HEAD><TITLE>公共计算机教研室</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312"><!-- Fireworks 4.0 Dreamweaver 4.0 target. Created Fri Jan 02 13:31:57 GMT+0800 (?D1ú±ê×?ê±??) 2004--><LINK
href="安全性算法.files/left.css" type=text/css rel=stylesheet>
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY bgColor=#006699 leftMargin=0 topMargin=0>
<DIV align=center><IMG height=80 src="安全性算法.files/index_r1_c1.gif"
width=770></DIV>
<TABLE cellSpacing=0 cellPadding=0 width=770 align=center bgColor=#ffffff
border=0>
<TBODY>
<TR>
<TD height=40><SPAN class=right>当前位置>><A class=right
href="http://61.153.216.104/xxxy/gg">计算机科学与技术教研室</A>>>资讯</SPAN></TD></TR>
<TR>
<TD>
<DIV align=center><FONT class=title color=#003366>安全性算法</FONT></DIV></TD></TR>
<TR>
<TD height=129>
<TABLE cellSpacing=0 cellPadding=0 width="96%" align=center border=0>
<TBODY>
<TR>
<TD class=smaller>
<TABLE width="100%" border=0>
<TBODY>
<TR>
<TD>
<DIV align=center><FONT
color=#333333></FONT></DIV></TD></TR></TBODY></TABLE>#include "stdio.h"<BR>#include "conio.h"<BR>#include "string.h"<BR><BR>#define PN 5<BR>#define RN 3<BR><BR><BR>//int P[N]=1,P2,P3,P4}; //all processes<BR>int resource[RN]={10,5,7};<BR>int Work[RN]={0,0,0};<BR>int Available[RN]={10,5,7};<BR>int Max[PN][RN]={{7,5,3},<BR> {3,2,2},<BR> {9,0,2},<BR> {2,2,2},<BR> {4,3,3}<BR>};//max number of process[i]<BR>int Allocation[PN][RN]={<BR>{0,1,0},<BR>{2,0,0},<BR>{3,0,2},<BR>{2,1,1},<BR>{0,0,2}<BR> }; //allcation of process[i]<BR>int Need[PN][RN]; //still need of process[i]<BR>int Finish[PN];<BR>int Outlist[PN];<BR>int no=0;//to save the output list<BR><BR><BR>void init()<BR>{<BR> //still need number<BR><BR><BR> int i;<BR> int j;<BR><BR> for(i=0;i<PN;i++)<BR> {<BR> for(j=0;j<RN;j++)<BR> {<BR> Finish[i]=0;<BR> Need[i][j]=Max[i][j]-Allocation[i][j];<BR> Available[j]-=Allocation[i][j];<BR> Work[j]=Available[j];<BR> }<BR> }<BR><BR>}<BR><BR><BR><BR><BR>int issafe()<BR>{<BR> int i,j;<BR><BR>l1: for(i=0;i<PN;i++)<BR> {<BR> for(j=0;j<RN;j++)<BR> {<BR><BR> if(Finish[i]==0&&Need[i][j]<=Work[j])<BR> {<BR>Work[j]=Work[j]+Allocation[i][j];<BR><BR> }<BR> else<BR> break;<BR> }<BR><BR> if(j==RN)<BR> {<BR>Finish[i]=1;<BR>Outlist[no++]=i;<BR>
i=j=0;<BR>goto l1;<BR> }<BR><BR> }<BR><BR><BR> for(i=0;i<PN;i++)<BR> {<BR> if(Finish[i]==0)<BR> return 0;<BR> }<BR><BR> printf("the safe list :\n");<BR> for(i=0;i<PN;i++)<BR> {<BR> printf("P%d-->",Outlist[i]);<BR> }<BR> return 1;<BR>}<BR><BR>void main()<BR>{<BR>clrscr();<BR>init();<BR>if(issafe())<BR>printf("\nthe system is under safe conditions");<BR>else<BR>printf("\nAlarm!the system is under unsafe condition");<BR>}<BR><BR>
<P align=left><FONT class=right color=#333333><A class=right
href="http://61.153.216.104/xxxy/upload/"></A><BR><A class=right
href="http://61.153.216.104/xxxy/upload/"></A></FONT></P></TD></TR></TBODY></TABLE>
<DIV align=center><BR><BR><BR><SPAN class=left>Copyright ©
浙江海洋学院信息学院<BR>制作维护:信息学院网络维护小组 <FONT
color=#ff0000>Email:hiron@zjou.net.cn</FONT>
</SPAN></DIV></TD></TR></TBODY></TABLE></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -