Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SchedSim (Python)

Simulator simplu în Python (fără dependențe externe) pentru algoritmii FCFS, SJF, RR, PRIO și EDF. Citește același CSV ca varianta C și afișează tabel, metrici și Gantt textual.

Build/Run

Nu e nevoie de build. Rulează direct:

python3 schedsim.py -alg {FCFS|SJF|RR|PRIO|EDF} -in fisier.csv [-q quantum]

Exemple:

  • FCFS: python3 schedsim.py -alg FCFS -in test_fcfs.csv
  • SJF: python3 schedsim.py -alg SJF -in test_sjf.csv
  • RR: python3 schedsim.py -alg RR -q 2 -in test_rr.csv
  • PRIO: python3 schedsim.py -alg PRIO -in test_prio.csv
  • EDF: python3 schedsim.py -alg EDF -in test_edf.csv

Algoritmi (pe scurt)

  • FCFS: non-preemptiv, ordinea sosirii (tie: pid).
  • SJF: non-preemptiv, burst minim la dispatch (tie: arrival, pid).
  • RR: preemptiv cu quantum fix; procesele se rotesc în coadă.
  • PRIO: preemptiv, prioritate numerică mai mică e mai importantă; preemptă dacă apare unul mai bun (tie: arrival, pid).
  • EDF: preemptiv, deadline absolut minim; marchează miss dacă time == deadline și procesul nu a terminat.

Formate CSV și termeni

  • Non-RT: pid,arrival,burst,priority
  • EDF: pid,arrival,burst,deadline Termeni: arrival = tick de sosire; burst = cât CPU necesită; priority mai mic = mai important; deadline absolut; pid = ID proces.

Ce afișează

  • Tabel procese: timpi de start, completare, response, turnaround, waiting (+ deadline/miss pentru EDF).
  • Summary: CPU utilization, throughput (procese/ tick), medii waiting/turnaround/response, context switches, deadline misses.
  • Gantt textual: [start-end:Ppid] sau IDLE.

Fișiere utile

  • Cod: schedsim.py
  • Input-uri demo: test_fcfs.csv, test_sjf.csv, test_rr.csv, test_prio.csv, test_edf.csv

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages