示例#1
0
 def test28(self):
     escalonador = EscalonadorV2()
     escalonador.addProcesso(Processo('p1', 1))
     ticks(10, escalonador)
     escalonador.addProcesso(Processo('p2', 2))
     ticks(3, escalonador)
     self.estado(escalonador, ['Status p2: r', 'Status p1: w'], [], 13, 3)
示例#2
0
 def test15(self):
     escalonador = EscalonadorV2()
     try:
         escalonador.addProcesso(Processo('p1'))
         self.fail("Exceção esperada")
     except Exception as e:
         self.estado(escalonador, [], [], 0, 3)
         self.assertEqual('|', escalonador.getHistorico())
示例#3
0
 def test29(self):
     escalonador = EscalonadorV2()
     escalonador.addProcesso(Processo('p1', 2))
     ticks(10, escalonador)
     escalonador.addProcesso(Processo('p2', 1))
     ticks(3, escalonador)
     escalonador.bloquearProcesso()
     ticks(3, escalonador)
     self.estado(escalonador, ['Status p2: r'], ['Status p1: b'], 16, 3)
示例#4
0
 def test24(self):
     escalonador = EscalonadorV2()
     escalonador.addProcesso(Processo('p1', 1))
     ticks(2, escalonador)
     escalonador.finalizarProcesso('p1')
     ticks(2, escalonador)
     escalonador.addProcesso(Processo('p2', 1))
     ticks(2, escalonador)
     self.estado(escalonador, ['Status p2: r'], [], 6, 3)
     self.assertEqual('|p1|p1|None|None|p2|p2|', escalonador.getHistorico())
示例#5
0
 def test21(self):
     escalonador = EscalonadorV2()
     escalonador.addProcesso(Processo('p1', 1))
     escalonador.addProcesso(Processo('p2', 1))
     ticks(1, escalonador)
     escalonador.finalizarProcesso('p1')
     ticks(1, escalonador)
     self.estado(escalonador, ['Status p2: r'], [], 2, 3)
     self.assertEqual(
         escalonador.pesquisarProcesso('p2').getEstados(), 'wr')
示例#6
0
 def test18(self):
     escalonador = EscalonadorV2()
     escalonador.addProcesso(Processo('p1', 1))
     escalonador.addProcesso(Processo('p2', 1))
     ticks(3, escalonador)
     self.estado(escalonador, ['Status p2: w', 'Status p1: r'], [], 3, 3)
     self.assertEqual('|p1|p1|p1|', escalonador.getHistorico())
     ticks(3, escalonador)
     self.estado(escalonador, ['Status p1: w', 'Status p2: r'], [], 6, 3)
     self.assertEqual('|p1|p1|p1|p2|p2|p2|', escalonador.getHistorico())
示例#7
0
 def test31(self):
     escalonador = EscalonadorV2()
     escalonador.addProcesso(Processo('p1', 1))
     ticks(1, escalonador)
     self.estado(escalonador, ['Status p1: r'], [], 1, 3)
     escalonador.addProcesso(Processo('p2', 2))
     ticks(1, escalonador)
     self.estado(escalonador, ['Status p2: r', 'Status p1: w'], [], 2, 3)
     escalonador.finalizarProcesso('p2')
     ticks(1, escalonador)
     self.estado(escalonador, ['Status p1: r'], [], 3, 3)
示例#8
0
 def test30(self):
     escalonador = EscalonadorV2()
     escalonador.addProcesso(Processo('p1', 2))
     ticks(10, escalonador)
     escalonador.addProcesso(Processo('p2', 1))
     ticks(3, escalonador)
     escalonador.bloquearProcesso()
     ticks(3, escalonador)
     escalonador.desbloquearProcesso('p1')
     ticks(1, escalonador)
     self.estado(escalonador, ['Status p1: r', 'Status p2: w'], [], 17, 3)
示例#9
0
 def test25(self):
     escalonador = EscalonadorV2()
     escalonador.addProcesso(Processo('p1', 1))
     escalonador.addProcesso(Processo('p2', 1))
     escalonador.addProcesso(Processo('p3', 1))
     ticks(2, escalonador)
     escalonador.bloquearProcesso()
     ticks(4, escalonador)
     self.estado(escalonador, ['Status p3: r', 'Status p2: w'],
                 ['Status p1: b'], 6, 3)
     self.assertEqual('|p1|p1|p2|p2|p2|p3|', escalonador.getHistorico())
示例#10
0
 def test23(self):
     escalonador = EscalonadorV2(5)
     escalonador.addProcesso(Processo('p1', 1))
     escalonador.addProcesso(Processo('p2', 1))
     ticks(5, escalonador)
     self.estado(escalonador, ['Status p2: w', 'Status p1: r'], [], 5, 5)
     self.assertEqual('|p1|p1|p1|p1|p1|', escalonador.getHistorico())
     ticks(5, escalonador)
     self.estado(escalonador, ['Status p1: w', 'Status p2: r'], [], 10, 5)
     self.assertEqual('|p1|p1|p1|p1|p1|p2|p2|p2|p2|p2|',
                      escalonador.getHistorico())
示例#11
0
 def test20(self):
     escalonador = EscalonadorV2()
     escalonador.addProcesso(Processo('p1', 1))
     self.estado(escalonador, ['Status p1: None'], [], 0, 3)
     ticks(3, escalonador)
     escalonador.addProcesso(Processo('p2', 1))
     self.estado(escalonador, ['Status p1: r', 'Status p2: None'], [], 3, 3)
     ticks(3, escalonador)
     self.estado(escalonador, ['Status p2: w', 'Status p1: r'], [], 6, 3)
     ticks(3, escalonador)
     self.estado(escalonador, ['Status p1: w', 'Status p2: r'], [], 9, 3)
     self.assertEqual(
         escalonador.pesquisarProcesso('p2').getEstados(), 'wwwrrr')
示例#12
0
 def test19(self):
     escalonador = EscalonadorV2()
     escalonador.addProcesso(Processo('p1', 1))
     escalonador.addProcesso(Processo('p2', 1))
     escalonador.addProcesso(Processo('p3', 1))
     ticks(3, escalonador)
     self.estado(escalonador,
                 ['Status p2: w', 'Status p3: w', 'Status p1: r'], [], 3, 3)
     ticks(3, escalonador)
     self.estado(escalonador,
                 ['Status p3: w', 'Status p1: w', 'Status p2: r'], [], 6, 3)
     ticks(3, escalonador)
     self.estado(escalonador,
                 ['Status p1: w', 'Status p2: w', 'Status p3: r'], [], 9, 3)
示例#13
0
 def test27(self):
     escalonador = EscalonadorV2(1)
     escalonador.addProcesso(Processo('p1', 1))
     escalonador.addProcesso(Processo('p2', 1))
     escalonador.addProcesso(Processo('p3', 1))
     escalonador.bloquearProcesso()
     escalonador.bloquearProcesso()
     escalonador.bloquearProcesso()
     ticks(1, escalonador)
     escalonador.desbloquearProcesso('p2')
     escalonador.desbloquearProcesso('p1')
     escalonador.desbloquearProcesso('p3')
     ticks(3, escalonador)
     self.estado(escalonador,
                 ['Status p2: w', 'Status p1: w', 'Status p3: r'], [], 4, 1)
     self.assertEqual('|None|p2|p1|p3|', escalonador.getHistorico())
示例#14
0
 def test32(self):
     escalonador = EscalonadorV2()
     escalonador.addProcesso(Processo('p1', 2))
     self.estado(escalonador, ['Status p1: None'], [], 0, 3)
     ticks(2, escalonador)
     self.estado(escalonador, ['Status p1: r'], [], 2, 3)
     escalonador.addProcesso(Processo('p2', 4))
     ticks(1, escalonador)
     escalonador.bloquearProcesso()
     self.estado(escalonador, ['Status p1: w'], ['Status p2: r'], 3, 3)
     ticks(2, escalonador)
     escalonador.addProcesso(Processo('p3', 1))
     self.estado(escalonador, ['Status p1: r', 'Status p3: None'],
                 ['Status p2: b'], 5, 3)
     ticks(1, escalonador)
     escalonador.bloquearProcesso()
     self.estado(escalonador, ['Status p3: w'],
                 ['Status p2: b', 'Status p1: r'], 6, 3)
     ticks(1, escalonador)
     escalonador.desbloquearProcesso('p2')
     self.estado(escalonador, ['Status p2: b', 'Status p3: r'],
                 ['Status p1: b'], 7, 3)
     ticks(1, escalonador)
     escalonador.desbloquearProcesso('p1')
     escalonador.addProcesso(Processo('p4', 4))
     self.estado(escalonador, [
         'Status p2: r', 'Status p4: None', 'Status p1: b', 'Status p3: w'
     ], [], 8, 3)
     ticks(2, escalonador)
     escalonador.addProcesso(Processo('p5', 3))
     escalonador.addProcesso(Processo('p6', 3))
     ticks(10, escalonador)
     self.estado(escalonador, [
         'Status p2: r', 'Status p4: w', 'Status p5: w', 'Status p6: w',
         'Status p1: w', 'Status p3: w'
     ], [], 20, 3)
     escalonador.bloquearProcesso()
     ticks(4, escalonador)
     self.estado(escalonador, [
         'Status p4: r', 'Status p5: w', 'Status p6: w', 'Status p1: w',
         'Status p3: w'
     ], ['Status p2: b'], 24, 3)
     escalonador.desbloquearProcesso('p2')
     ticks(1, escalonador)
     self.estado(escalonador, [
         'Status p4: r', 'Status p2: w', 'Status p5: w', 'Status p6: w',
         'Status p1: w', 'Status p3: w'
     ], [], 25, 3)
     ticks(5, escalonador)
     self.estado(escalonador, [
         'Status p4: r', 'Status p2: w', 'Status p5: w', 'Status p6: w',
         'Status p1: w', 'Status p3: w'
     ], [], 30, 3)
     escalonador.finalizarProcesso('p4')
     ticks(1, escalonador)
     self.estado(escalonador, [
         'Status p2: r', 'Status p5: w', 'Status p6: w', 'Status p1: w',
         'Status p3: w'
     ], [], 31, 3)
     ticks(1, escalonador)
     self.estado(escalonador, [
         'Status p2: r', 'Status p5: w', 'Status p6: w', 'Status p1: w',
         'Status p3: w'
     ], [], 32, 3)
     escalonador.finalizarProcesso('p2')
     ticks(1, escalonador)
     self.estado(
         escalonador,
         ['Status p5: r', 'Status p6: w', 'Status p1: w', 'Status p3: w'],
         [], 33, 3)
     ticks(3, escalonador)
     self.estado(
         escalonador,
         ['Status p6: r', 'Status p5: w', 'Status p1: w', 'Status p3: w'],
         [], 36, 3)
     ticks(3, escalonador)
     self.estado(
         escalonador,
         ['Status p5: r', 'Status p6: w', 'Status p1: w', 'Status p3: w'],
         [], 39, 3)
     escalonador.bloquearProcesso()
     ticks(1, escalonador)
     self.estado(escalonador,
                 ['Status p6: r', 'Status p1: w', 'Status p3: w'],
                 ['Status p5: b'], 40, 3)
     ticks(1, escalonador)
     self.estado(escalonador,
                 ['Status p6: r', 'Status p1: w', 'Status p3: w'],
                 ['Status p5: b'], 41, 3)
     ticks(2, escalonador)
     self.estado(escalonador,
                 ['Status p6: r', 'Status p1: w', 'Status p3: w'],
                 ['Status p5: b'], 43, 3)
     ticks(1, escalonador)
     escalonador.desbloquearProcesso('p5')
     ticks(1, escalonador)
     self.estado(
         escalonador,
         ['Status p5: w', 'Status p6: r', 'Status p1: w', 'Status p3: w'],
         [], 45, 3)
     ticks(1, escalonador)
     self.estado(
         escalonador,
         ['Status p5: r', 'Status p6: w', 'Status p1: w', 'Status p3: w'],
         [], 46, 3)
     escalonador.finalizarProcesso('p6')
     ticks(1, escalonador)
     self.estado(escalonador,
                 ['Status p5: r', 'Status p1: w', 'Status p3: w'], [], 47,
                 3)
示例#15
0
 def test17(self):
     escalonador = EscalonadorV2()
     escalonador.addProcesso(Processo('p1', 1))
     escalonador.finalizarProcesso('p1')
     self.estado(escalonador, [], [], 0, 3)
     self.assertEqual('|', escalonador.getHistorico())
示例#16
0
 def test16(self):
     escalonador = EscalonadorV2()
     escalonador.addProcesso(Processo('p1', 1))
     self.estado(escalonador, ['Status p1: None'], [], 0, 3)
     self.assertEqual('|', escalonador.getHistorico())