Diễn đàn ITK36 - ĐH Sư phạm TPHCM

Diễn đàn ITK36 - ĐH Sư phạm TPHCM
Diễn đàn đang nâng cấp ...
 
IndexCalendarTrợ giúpTìm kiếmThành viênNhómĐăng kýĐăng Nhập

Share | 
 

 Mô phỏng giải thuật FIFO

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
chienthan_16_12
Member cấp 3


Nam
Tổng số bài gửi : 42
Điểm kinh nghiệm : 11265
Danh tiếng : 10
Ngày tham gia : 14/02/2011
Đến từ : Địa Ngục Trần Gian
Tài năng của chienthan_16_12 Danh vọng:42%/1000%
Tài năng:%/100%


Bài gửiTiêu đề: Mô phỏng giải thuật FIFO   Sun Oct 02, 2011 3:29 pm

Đây chỉ là giải thuật thôi, tự phát triển nhé, tí làm cái dê mô Very Happy
Ngôn ngữ: Ngôn ngữ lai( Autoit&C)
Code:
Giải thuật
Struct Process
   Char Ten[10];
   Int Tong;
   Int TDiem;
   Int Tgian;
   Int ConLai;//=Tong-(TDiem+Tgian);
end
process p[];
Begin
t=0;cpu_rah=true;i_o_rah=true;
for j=1 to n do
Ready_list.add(i);
Ready_list[0]=n;
PrintArray(t,Ready_list,Ready_list[0])
While( gì gì đó)
{
//xu ly CPU
if(not (cpu_rah)& process[cpu].TDiem=0)
   {
   cpu_rah=true;//tra cpu
   Array_add($Waiting_list,$i_o)//them vao hag doi waiting_list
   $Waiting_list[0]=$Waiting_list[0]+1;
   }
if (cpu_rah)//cpu dang ranh
   {
   if(ready_list[0]>0)
      {
      cpu=Ready_list[1];//lay tien trinh tu hag doi ready_list
      _ArrayDelete($Ready_list,1)
      $Ready_list[0]=$Ready_list[0]-1;
      cpu_rah=false;
      }
   }
//xu ly I_O
if(not (i_o_rah) && $process[$i_o].Tgian<=0){
   i_o_ranh=true;//tra tai nguyen cho he thong
   Array_add($Ready_list,$i_o)
   $Ready_list[0]=$Ready_list[0]+1;
   process[i_o].TDiem=process[i_o].Conlai;
}


if( i_o_ranh)
   {
   if(Waiting_list[0]>0)
      {
      i_o=Waiting_list[1];
      _ArrayDelete($Waiting_list,1)
      $Ready_list[0]=$Waiting_list[0]-1;
      i_o_ranh=false;
      }      
   }
if(not (cpu_rah)){process[cpu].TDiem--;}
if(not (i_o_ranh)){process[i_o].Tgian--;}
t++;
}//End While
Func PrintArray($Label,$t,$Array[],$n)
GUICtrlSetData($Label,GUICtrlRead($Label)&CRLF&Center_txt($t,7)&"|")
For $j=1 to $n step 1
GUICtrlSetData($Label,GUICtrlRead($Label)&Center_txt("P"&$array[$j],10)&"|")
Next
EndFunc
Về Đầu Trang Go down
Xem lý lịch thành viên http://chienthan1612.com
chienthan_16_12
Member cấp 3


Nam
Tổng số bài gửi : 42
Điểm kinh nghiệm : 11265
Danh tiếng : 10
Ngày tham gia : 14/02/2011
Đến từ : Địa Ngục Trần Gian
Tài năng của chienthan_16_12 Danh vọng:42%/1000%
Tài năng:%/100%


Bài gửiTiêu đề: Re: Mô phỏng giải thuật FIFO   Sun Oct 02, 2011 6:40 pm

Đi chơi mới về code luôn cái đì mo
http://2c3a7630.linkbucks.com
Có mô tả chi tiết ở file log.txt nhé Very Happy
Để rảnh code thêm vẽ đồ thị
Đang chán đời nên share nốt Shocked Shocked
Về Đầu Trang Go down
Xem lý lịch thành viên http://chienthan1612.com

Bài viết mới cùng chuyên mục

Bài viết liên quan

 

Mô phỏng giải thuật FIFO

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Diễn đàn ITK36 - ĐH Sư phạm TPHCM :: Góc học tập :: Tài liệu học tập-
Chuyển đến