Учебники

Python Forensics — многопроцессорная поддержка

Специалистам-криминалистам, как правило, трудно применять цифровые решения для анализа множества цифровых доказательств в распространенных преступлениях. Большинство цифровых инструментов исследования являются однопоточными, и они могут выполнять только одну команду за раз.

В этой главе мы сосредоточимся на многопроцессорных возможностях 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 () помогает в перечислении множества процессов в системе.

Выход

Наш код выдаст следующий результат: