export LC_ALL=C CXXFLAGS= -Wall -pedantic -g -ggdb -std=c++11 LDFLAGS= -lpthread QUANTUM=10 CONTEXT_SWITCH=2 CORE_SWITCH=5 OBJS=main.o simu.o basesched.o basetask.o tasks.o sched_rr.o sched_fcfs.o sched_sjf.o sched_rsjf.o sched_mfq.o MAIN=simusched .PHONY: all clean new informe all: $(MAIN) $(MAIN): $(OBJS) $(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) %.o: %.cpp %.h basesched.h basesched.o: basesched.cpp basesched.h basetask.o: basetask.cpp basetask.h main.o: main.cpp simu.h basetask.h basesched.h tasks.h sched_fcfs.h \ sched_mfq.h sched_rr.h sched_rsjf.h sched_sjf.h simu.o: simu.cpp simu.h basetask.h basesched.h simusched.o: simusched.cpp basetask.h basesched.h tasks.h tasks.o: tasks.cpp tasks.h basetask.h clean: rm -f $(OBJS) $(MAIN) rm -rf informe/imagenes rm -rf informe/*.pdf preinforme: ejercicio1 ejercicio2 ejercicio3 ejercicio4 ejercicio5 ejercicio7 ejercicio9 casos informe: informe/informe.pdf informe/informe.pdf: informe/1-informe.md informe/2-informe.md informe/3-informe.md informe/4-informe.md informe/5-informe.md informe/6-informe.md informe/7-informe.md informe/8-informe.md informe/9-informe.md preinforme pandoc informe/*informe.md -o informe/informe.pdf new: clean all makedir: mkdir -p informe/imagenes ejercicio1: all makedir ./simusched consola.tsk 1 $(CONTEXT_SWITCH) $(CORE_SWITCH) SchedFCFS | ./graphsched.py > informe/imagenes/ejercicio1.png ejercicio2: all makedir ./simusched ejer2.tsk 1 2 $(CORE_SWITCH) SchedFCFS | ./graphsched.py > informe/imagenes/ejercicio2_1core.png ./simusched ejer2.tsk 2 2 $(CORE_SWITCH) SchedFCFS | ./graphsched.py > informe/imagenes/ejercicio2_2core.png ./simusched ejer2.tsk 4 2 $(CORE_SWITCH) SchedFCFS | ./graphsched.py > informe/imagenes/ejercicio2_4core.png ejercicio3: all makedir ./simusched ejer3.tsk 1 $(CONTEXT_SWITCH) $(CORE_SWITCH) SchedFCFS | ./graphsched.py > informe/imagenes/ejercicio3_1core.png ejercicio4: all makedir ./simusched ejer3.tsk 1 $(CONTEXT_SWITCH) $(CORE_SWITCH) SchedRR 1 $(QUANTUM) | ./graphsched.py > informe/imagenes/ejercicio4_1core.png ./simusched ejer3.tsk 2 $(CONTEXT_SWITCH) $(CORE_SWITCH) SchedRR 2 $(QUANTUM) $(QUANTUM) | ./graphsched.py > informe/imagenes/ejercicio4_2core.png ./simusched ejer3.tsk 4 $(CONTEXT_SWITCH) $(CORE_SWITCH) SchedRR 4 $(QUANTUM) $(QUANTUM) $(QUANTUM) $(QUANTUM) | ./graphsched.py > informe/imagenes/ejercicio4_4core.png ejercicio5: all makedir ./simusched ejer2.tsk 1 $(CONTEXT_SWITCH) $(CORE_SWITCH) SchedRR 1 02 | ./graphsched.py > informe/imagenes/ejercicio5_1core_02q.png ./simusched ejer2.tsk 1 $(CONTEXT_SWITCH) $(CORE_SWITCH) SchedRR 1 05 | ./graphsched.py > informe/imagenes/ejercicio5_1core_05q.png ./simusched ejer2.tsk 1 $(CONTEXT_SWITCH) $(CORE_SWITCH) SchedRR 1 10 | ./graphsched.py > informe/imagenes/ejercicio5_1core_10q.png ejercicio7: all makedir ./simusched ejer7-sjf.tsk 1 2 4 SchedSJF 1 15 10 5 | ./graphsched.py > informe/imagenes/ejercicio7_SJF_1core.png ./simusched ejer7-sjf.tsk 2 2 4 SchedSJF 2 15 10 5 | ./graphsched.py > informe/imagenes/ejercicio7_SJF_2core.png ./simusched ejer7-rsjf.tsk 1 2 4 SchedRSJF 1 4 20 4 5 | ./graphsched.py > informe/imagenes/ejercicio7_RSJF_1core.png ./simusched ejer7-rsjf.tsk 2 2 4 SchedRSJF 2 4 4 20 4 5 | ./graphsched.py > informe/imagenes/ejercicio7_RSJF_2core.png ejercicio9: all makedir ./simusched ejer2.tsk 1 $(CONTEXT_SWITCH) $(CORE_SWITCH) SchedMFQ 10 05 | ./graphsched.py > informe/imagenes/ejercicio9_1core.png ./simusched ejer2.tsk 2 $(CONTEXT_SWITCH) $(CORE_SWITCH) SchedMFQ 10 05 02 | ./graphsched.py > informe/imagenes/ejercicio9_2core.png ./simusched ejer2.tsk 4 $(CONTEXT_SWITCH) $(CORE_SWITCH) SchedMFQ 10 07 05 02 | ./graphsched.py > informe/imagenes/ejercicio9_4core.png ./simusched casos/cpu.tsk 4 2 9 SchedMFQ 6 2 | ./graphsched.py > informe/imagenes/ejercicio9_gantt_casos_1.png ./simusched casos/cpuh_io.tsk 4 2 9 SchedMFQ 6 2 | ./graphsched.py > informe/imagenes/ejercicio9_gantt_casos_2.png ./simusched casos/cpu_ioh.tsk 4 2 9 SchedMFQ 6 2 | ./graphsched.py > informe/imagenes/ejercicio9_gantt_casos_3.png ./simusched casos/consola.tsk 4 2 9 SchedMFQ 6 2 | ./graphsched.py > informe/imagenes/ejercicio9_gantt_casos_4.png casos: all makedir for f in casos/*json; do \ echo $$f; \ ./scripts/batchplotter.py $$f & \ done; \ wait