Sommario:
Definizione - Cosa significa Fork?
Fork è una funzione di Unix che viene utilizzata per generare un duplicato di un processo particolare creando due processi di esecuzione simultanea di un programma. Questi due processi sono in genere chiamati processi "padre" e "figlio". Usano i protocolli multitasking per condividere le risorse di sistema.
Techopedia spiega Fork
Un grande elemento del modo in cui viene implementato il forking è il sistema di copia e scrittura utilizzato per archiviare le modifiche progressive a un processo dopo il fork. In genere, il codice statico non è duplicato, ma condiviso. Nel momento in cui un processo modifica il codice condiviso, le modifiche vengono create e archiviate separatamente. Ciò promuove l'efficienza nell'uso dei processi biforcati.
Gli sviluppatori devono anche essere consapevoli di alcuni problemi con l'utilizzo di fork per generare un processo duplicato. Uno di questi è il problema dei programmi multithread; poiché il processo figlio eredita solo un singolo thread, possono esserci problemi relativi a ciò che accade a più thread quando viene chiamata la funzione fork. Queste e altre considerazioni sono spesso menzionate da coloro che hanno lavorato con la funzione fork.