Exemple #1
0
def main(args):
    processes = []
    try:
        console_writer_q, log_file_q, metadata_file_q = set_up_writers(args)
        print("[!] Set up plugins. it may take a few seconds ..")
        sleep(2.5)
        acm = Acf(device_id=args.device_id, threads_num=args.threads)
        acm.setDaemon(True)
        acm.start()

        adb = AndroidDebuggingBridge(args.device_id)

        while True:
            running_processes = get_running_processes(adb, args.package_filter,
                                                      args.user_filter)
            for process in running_processes:
                if process not in processes:
                    p = Process(process, console_writer_q, log_file_q,
                                metadata_file_q)
                    processes.append(process)
                    acm.processes.append(p)
            sleep(1.2)

    except KeyboardInterrupt:
        print("Bye Bye")
        exit(0)
Exemple #2
0
    def _init_process(self):
        """
        Initialize process class when it's needed by pymem.
        """

        self.process = Process()
Exemple #3
0
        print("\nNew process input...")

        arrival_time = input("\tProcess arrival time: ")
        priority = input("\tProcess priority: ")
        burst_time = input("\tProcess burst time: ")

        try:
            arrival_time = int(arrival_time)
            priority = int(priority)
            burst_time = int(burst_time)
        except:
            print("Invalid input...\n")

            continue

        new_process = Process(burst_time, arrival_time, priority)

        processes.append(new_process)
        print(f"New process [id: {new_process.id}] added successfully.")

        user_input = input("Keep adding processes? [y/n] ") == "y"

    print("\n" + tabulate(
        [[
            process.id, process.arrival_time, process.priority,
            process.burst_time
        ] for process in processes],
        headers=["Process", "Arrival Time", "Priority", "Burst Time"]))

    print("\nRunning scheduling algorithms...\n")
import sys

from modules.process import Event,Process

e1 = Event("e1",1,None)
e2 = Event("e2",2,None)
e3 = Event("e3",4,None)
e4 = Event("e4",3,e2)
e5 = Event("e5",5,None)
e6 = Event("e6",6,None)
e7 = Event("e7",7,e6)
e8 = Event("e8",8,None)
e9 = Event("e9",9,e3)


p1 = Process("P1",[e1,e2,e5],0)
p2 = Process("P2",[e4,e3,e6],0)
p3 = Process("P3",[e7,e8,e9],0)
# p2.display_events()
# if p1.search_event(e1):
#     print("Element found")


# sys.exit()
def lamport(all_processes):
    all_events = []
    for process in all_processes:
        for event in process.events:
            all_events.append(event)

Exemple #5
0
# Processo com prioridade 0 (de tempo real) tentando utilizar impressora 1
procs_descr[0]['printer_cod'] = 1
print('\nVerificação de disponibilidade de recursos do processo 0, prioridade 0, printer 1...')
err_msgs = resmngr._resources_availability(procs_descr[0])
assert len(err_msgs) == 1
print(err_msgs)
procs_descr = original_procs()
err_msgs = []

# Ambos os processos de usuário, processo 1 com modem, impressora 1 e disco 2 alocados e o processo 0
# verificando se pode alocar o modem e o disco 2
err_msgs = []
procs_descr[0]['priority'] = 3
procs_descr[0]['modem'] = 1
procs_descr[0]['disk_cod'] = 2
process1 = Process(priority=1, printer_cod=1, scanner=0, modem=1, disk_cod=2, init_time=0, total_exec_time=0, blocks=0)
resmngr.allocate(process1)
print("\nVerificação de disponibilidade do modem e do disco para o processo 0...")
err_msgs = resmngr._resources_availability(procs_descr[0])
assert len(err_msgs) == 2
print(err_msgs)
err_msgs = []

# Teste do método free()
resmngr.free(process1)
print("\nVerificação de disponibilidade do modem e do disco para o processo 0 depois de chamar free()...")
err_msgs = resmngr._resources_availability(procs_descr[0])
assert len(err_msgs) == 0
print(err_msgs)