Специалистам-криминалистам, как правило, трудно применять цифровые решения для анализа множества цифровых доказательств в распространенных преступлениях. Большинство цифровых инструментов исследования являются однопоточными, и они могут выполнять только одну команду за раз.
В этой главе мы сосредоточимся на многопроцессорных возможностях Python, которые могут быть связаны с общими криминалистическими проблемами.
многопроцессорная обработка
Многопроцессорность определяется как способность компьютерной системы поддерживать более одного процесса. Операционные системы, которые поддерживают многопроцессорность, позволяют нескольким программам работать одновременно.
Существуют различные типы многопроцессорной обработки, такие как симметричная и асимметричная обработка . Следующая диаграмма относится к симметричной многопроцессорной системе, за которой обычно следуют криминалистические расследования.
пример
Следующий код показывает, как различные процессы перечислены внутри программирования Python.
import random import multiprocessing def list_append(count, id, out_list): #appends the count of number of processes which takes place at a time for i in range(count): out_list.append(random.random()) if __name__ == "__main__": size = 999 procs = 2 # Create a list of jobs and then iterate through # the number of processes appending each process to # the job list jobs = [] for i in range(0, procs): out_list = list() #list of processes process1 = multiprocessing.Process( target = list_append, args = (size, i, out_list)) # appends the list of processes jobs.append(process) # Calculate the random number of processes for j in jobs: j.start() #initiate the process # After the processes have finished execution for j in jobs: j.join() print "List processing complete."
Здесь функция list_append () помогает в перечислении множества процессов в системе.
Выход
Наш код выдаст следующий результат: