A che serve una patch in informatica?

Migliore risposta

Immagina un grande programma per computer, diciamo, un file lungo 100 MB.

Ora immagina una piccola correzione, diciamo, una correzione che cambia solo pochi byte in quei 100 MB.

Fornire una sostituzione per il file di programma da 100 MB è uno spreco di larghezza di banda. Il download richiede molto tempo e occupa molto spazio inutilmente.

Invece, potresti creare un piccolo programma il cui unico scopo è quello di individuare il file originale da 100 MB sul computer del client e poi cambiare quei pochi byte che costituiscono la correzione. Questa sarebbe una patch.

Ovviamente la parola “patch” oggigiorno è usata in modo piuttosto informale per descrivere ogni piccola riedizione di un software, indipendentemente dalla forma la riedizione richiede; potrebbe essere sotto forma di una patch come ho descritto sopra, o potrebbe essere solo un insieme di file sostitutivi o anche un nuovo pacchetto di installazione, è ancora spesso chiamata “patch” se lo scopo del pacchetto serve solo per correggere alcuni bug o implementare altre modifiche minori.

Risposta

Bene, al livello più basso, un chip di computer è costituito da transistor. Si tratta di minuscoli patch di silicio, con impurità deliberate che li rendono in grado di agire come minuscoli interruttori.

I transistor vengono integrati in circuiti aggiungendo uno strato di minuscoli fili per collegarli.

I transistor sono incorporati in “porte logiche” che possono eseguire operazioni logiche molto semplici:

  • AND – se sono presenti due segnali di ingresso, genera un segnale di uscita.
  • OPPURE – se uno o entrambi i due segnali di ingresso sono presenti, genera un segnale di uscita.
  • XOR – se è presente solo uno dei segnali di ingresso, ma non laltro, genera unuscita.
  • NOT – che ha un solo ingresso – e genera unuscita solo se non cè segnale sullingresso.

Ciascuna di quelle porte logiche è solo una coppia di transistor.

Le porte logiche possono quindi essere assemblate per creare cose come “flip flop” che contengono un singolo valore vero / falso e lo ricordano – o “sommatori di un bit” che possono aggiungere due cifre binarie insieme e produrre un output e un po di “carry”.

Avanti I sommatori di bit possono essere combinati per creare blocchi di circuiti che possono sommare due numeri più grandi insieme (o sottrarli usando un trucco chiamato “aritmetica in complemento a due).

Possiamo anche costruire cose chiamate” shifters “che possono moltiplicare un numero per due, quattro, otto, sedici, ecc.

È possibile mettere insieme un mucchio di infradito per costruire un pezzo di circuito in grado di memorizzare un numero intero – e un mucchio di QUESTI blocchi può creare un blocco di memoria RAM che può contenere molti, molti numeri.

Da quei blocchi sommatore e cambio, puoi costruire circuiti che si moltiplicano e dividono … e da questi, possiamo creare circuiti che calcolano cose come seno e coseno e radici quadrate. Possiamo anche creare circuiti che confrontano due numeri sottraendo uno dallaltro e vedendo se il risultato è positivo, zero o negativo.

Quindi, cè un intero gruppo di logica di controllo, che può dire a questi altri grossi pezzi di circuito per spostare un numero da un posto nella RAM a un altro o per aggiungere due numeri presi dalla RAM insieme e riscriverli in un altro posto nella RAM.

Il passaggio finale è usare un numero memorizzato nella RAM per dire alla logica di controllo cosa fare … quindi QUEL numero è un codice che rappresenta unistruzione in un programma per computer. Quindi forse il numero “1” significa “sposta un numero da un posto a un altro” e “2” significa “aggiungi due numeri” e “3” significa “confronta due numeri”. Dopo che ogni istruzione è stata eseguita, il circuito preleva listruzione successiva ed esegue anche quella. Se fai un confronto, puoi dire a quel blocco di logica di iniziare a prendere listruzione successiva da qualche altra parte.

Questo è quindi un computer MOLTO semplice, ma abbastanza utilizzabile … ma le cose sono diventate SELVAMENTE più complesse di quello.

Quando tutti questi circuiti logici sempre più complicati vengono combinati, potremmo ritrovarci con un chip con oltre un miliardo di quei minuscoli transistor!

Lo chiamiamo “CPU “.

Quindi, otteniamo gli altri chip che compongono lintero computer – in particolare, ci sono i” chip RAM “che memorizzano i numeri proprio come il nostro flip-flop – ma utilizzando un metodo più efficiente in termini di spazio . Questi chip utilizzano condensatori invece di transistor e caricando un condensatore (o meno) memorizzano un singolo bit di informazioni in meno spazio rispetto a un flip-flop. Questi chip RAM sono più o meno solo un vasto mare di condensatori e logica di controllo. Miliardi su un singolo chip.

Poi abbiamo anche chip che fanno cose come inviare il contenuto di un pezzo di RAM a uno schermo per creare un display. I numeri nella RAM sono raggruppati in gruppi di tre che rappresentano la luminosità dei colori rosso, verde e blu in un singolo pixel sullo schermo. Milioni di numeri vengono usati per descrivere limmagine che vedi – e il computer cambia quei colori ad ogni pixel scrivendo numeri in quella memoria RAM.

La macchina risultante è la cosa più complessa che gli esseri umani abbiano realizzato – da FAR. Un cellulare o un laptop potrebbe spingere verso un trilione di transistor e condensatori.

In quanto ingegnere di software di 62 anni, trovo abbastanza sorprendente che tutto questo sia diventato possibile durante la mia vita. Quando ho iniziato a farlo, i computer erano ancora realizzati allo stesso modo, ma un transistor aveva le dimensioni di un tic-tac e ora sono più piccoli della lunghezza donda della luce!

Ma incredibili quanto tutta questa complessità è – ciò che mi sbalordisce totalmente è quanto sia incredibilmente affidabile.

La tua auto è composta forse da 10.000 parti, alcune delle quali eseguono alcune migliaia di volte al secondo. Dopo alcuni anni (che sono forse qualche migliaio di ore di funzionamento) alcune di queste parti andranno male e dovranno essere sostituite.

Il mio computer è composto da un trilione di parti, la maggior parte delle quali funziona qualche miliardo di volte al secondo. Lhardware funzionerà in modo completamente impeccabile per un decennio, rappresentando poche centinaia di migliaia di ore di operazioni, ma un quintilione di operazioni individuali, ognuna delle quali è avvenuta senza problemi.

I computer sono cose davvero sorprendenti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *