@@ -172,15 +172,9 @@ export default class Fcfs extends InputTable {
172172 this . getIoEnabledAnswer ( state ) ;
173173 return ;
174174 }
175- var tuple = [ ] ;
175+ var tuple = [ ] ,
176+ tuple_temp = [ ] ;
176177 var newState = state ;
177- /*var tuple = [
178- {pid:1,bt:6,art:2},
179- {pid:2,bt:3,art:5},
180- {pid:3,bt:8,art:1},
181- {pid:4,bt:3,art:0},
182- {pid:5,bt:4,art:4},
183- ];*/
184178 var n = state . tableData . length ;
185179 for ( let i = 0 ; i < n ; i ++ ) {
186180 var tempPid = state . tableData [ i ] [ 0 ] . substring ( 1 ) ;
@@ -190,9 +184,18 @@ export default class Fcfs extends InputTable {
190184 bt : parseInt ( state . tableData [ i ] [ 2 ] ) ,
191185 art : parseInt ( state . tableData [ i ] [ 1 ] ) ,
192186 } ) ;
187+ tuple_temp . push ( {
188+ pid : tempPid ,
189+ bt : parseInt ( state . tableData [ i ] [ 2 ] ) ,
190+ art : parseInt ( state . tableData [ i ] [ 1 ] ) ,
191+ } ) ;
193192 // console.log(tuple);
194193 }
195- var tuple_temp = tuple ;
194+ // var tuple = [
195+ // { pid: 1, bt: 5, art: 2 },
196+ // { pid: 2, bt: 1000, art: 3 },
197+ // { pid: 3, bt: 100, art: 2 },
198+ // ];
196199 tuple . sort ( function ( a , b ) {
197200 if ( a . art == b . art ) {
198201 return a . bt - b . bt ;
@@ -213,6 +216,7 @@ export default class Fcfs extends InputTable {
213216 var que = [ ] ; // running queue
214217 var state = 0 ;
215218 var flag = 0 ;
219+ var count = 0 ;
216220 for ( var i = 0 ; i < 10000 ; i ++ ) {
217221 visited [ state ] ++ ;
218222 if ( tuple [ state ] . art > i ) {
@@ -244,6 +248,7 @@ export default class Fcfs extends InputTable {
244248 }
245249 for ( var k = i ; k < i + tuple [ state ] . bt ; k ++ ) {
246250 var smit = [ ] ;
251+ count ++ ;
247252 for ( var y = 0 ; y < n ; y ++ ) {
248253 if ( tuple [ y ] . art <= k && visited [ y ] <= 1 ) {
249254 smit . push ( tuple [ y ] . pid ) ;
@@ -257,6 +262,7 @@ export default class Fcfs extends InputTable {
257262 }
258263 }
259264 }
265+
260266 var cmp_time = [ ] ; //completion time
261267 for ( var i = 0 ; i < tuple . length ; i ++ ) {
262268 cmp_time [ i ] = - 1 ;
@@ -265,13 +271,20 @@ export default class Fcfs extends InputTable {
265271 if ( final_ans [ i ] === "/" ) {
266272 } else {
267273 if ( cmp_time [ final_ans [ i ] - 1 ] == - 1 ) {
274+ console . log ( "hey " + i + " hry" + final_ans [ i ] ) ;
268275 cmp_time [ final_ans [ i ] - 1 ] = i + 1 ;
269276 }
270277 }
271278 }
272279 for ( var i = 0 ; i < n ; i ++ ) {
280+ //console.log("cm "+cmp_time[i]);
281+ }
282+ for ( var i = 0 ; i < n ; i ++ ) {
283+ //console.log(cmp_time[i]+" cm "+tuple_temp[i].art);
273284 tat [ i ] = cmp_time [ i ] - tuple_temp [ i ] . art ;
274- wt [ i ] = tat [ i ] - tuple [ i ] . bt ;
285+ //console.log(tat[i]+" tat "+tuple_temp[i].bt);
286+ wt [ i ] = tat [ i ] - tuple_temp [ i ] . bt ;
287+ console . log ( tat [ i ] + " " + wt [ i ] ) ;
275288 }
276289 for ( var i = 0 ; i < n ; i ++ ) {
277290 total_wt = total_wt + wt [ i ] ;
@@ -331,4 +344,4 @@ export default class Fcfs extends InputTable {
331344 ) ;
332345 }
333346 }
334- }
347+ }
0 commit comments