Hva er bruken av en patch i databehandling?

Beste svaret

Se for deg et stort dataprogram, for eksempel en fil som er 100 MB lang.

Tenk deg en liten løsning, si en løsning som bare endrer noen få byte i de 100 MB.

Å utstede en erstatning for 100 MB-programfilen er bortkastet båndbredde. Det tar lang tid å laste ned og bruker mye plass unødvendig.

I stedet kan du utstede et lite program hvis eneste formål er å finne den originale 100 MB filen på klientens datamaskin og deretter endre de få byte som utgjør reparasjonen. Dette vil være en oppdatering.

Selvfølgelig brukes ordet «patch» i disse dager ganske uformelt for å beskrive enhver mindre gjenutgivelse av en programvare, uavhengig av form Gjenutgivelsen tar; det kan være i form av en oppdatering som beskrevet ovenfor, eller det kan bare være et sett med erstatningsfiler eller til og med en ny installasjonspakke, det kalles fortsatt ofte en «oppdatering» hvis formålet av pakken er bare for å fikse noen feil eller implementere andre mindre endringer.

Svar

Vel, på det laveste nivået er en datamaskinbrikke laget av transistorer. Dette er TINY flekker av silisium, med bevisste urenheter for å gjøre dem i stand til å fungere som små brytere.

Transistorene bygges opp i kretser ved å legge til et lag med små ledninger for å koble dem opp.

Transistorer er innebygd i «Logiske porter» som kan gjøre veldig enkle logiske operasjoner:

  • OG – hvis to inngangssignaler begge er til stede, genererer du et utgangssignal.
  • ELLER – hvis det ene eller begge av de to inngangssignalene er til stede, genererer du et utgangssignal.
  • XOR – hvis bare ett av inngangssignalene er til stede, men ikke det andre, genererer du en utgang.
  • IKKE – som bare har en inngang – og genererer en utgang bare hvis det ikke er noe signal på inngangen.

Hver av disse logiske portene er bare et par transistorer.

Logiske porter kan deretter settes sammen for å lage ting som «flip flops» som har en enkelt sant / falsk verdi og husker det – eller «one bit adders» som kan legge to binære sifre sammen og produsere en utgang og en «carry» -bit.

På bit-tillegg kan kombineres for å lage biter av kretsløp som kan legge to større tall sammen (eller trekke dem fra ved hjelp av et triks kalt “to komplement-aritmetikk).

Vi kan også bygge ting som kalles“ skiftere ”som kan multipliser et tall med to, fire, åtte, seksten osv.

En haug med flip-flops kan settes sammen for å bygge en del kretsløp som kan lagre et helt tall – og en haug med disse biter kan lage en blokk med RAM-minne som kan inneholde mange, mange tall.

Fra disse adder- og skifterblokkene kan du bygge kretser som multipliserer og deler … og fra disse kan vi lage kretser som beregner ting som sines og cosines og kvadratrøtter. Vi kan også lage kretser som sammenligner to tall ved å trekke det ene fra det andre og se om resultatet er positivt, null eller negativt.

Deretter er det en hel haug med kontrolllogikk – som kan fortelle disse andre store biter av krets for å flytte et nummer fra ett sted i RAM til et annet – eller for å legge til to tall hentet fra RAM sammen og skrive dem tilbake til et annet sted i RAM.

Det siste trinnet er å bruke et tall lagret i RAM for å fortelle kontrollogikken hva du skal gjøre … så DET tallet er en kode som representerer en instruksjon i et dataprogram. Så kanskje tallet 1 betyr «flytt et tall fra ett sted til et annet» og «2» betyr «legg til to tall» og «3» betyr «sammenlign to tall». Etter at hver instruksjon er utført, henter kretsen neste instruksjon og utfører den også. Hvis du gjør en sammenligning, kan du fortelle den logikkblokken for å begynne å ta neste instruksjon fra et annet sted.

Dette er da en VELDIG enkel – men ganske brukbar datamaskin … men ting har blitt VILDERE mer komplekse. enn det.

Når alle disse stadig mer kompliserte logiske kretsene kombineres – kan det hende vi ender med en chip med over en milliard av de små transistorene!

Vi kaller det «CPU ”Chip.

Deretter får vi de andre sjetongene som lager hele datamaskinen – spesielt det er“ RAM-sjetongene ”som lagrer tall akkurat som vår flip-flop – men bruker en mer plasseffektiv metode . Disse brikkene bruker kondensatorer i stedet for transistorer – og ved å lade opp en kondensator (eller ikke) lagrer du en enkelt bit informasjon på mindre plass enn en flip-flop gjør. Disse RAM-brikkene er mer eller mindre bare et VAST hav av kondensatorer og kontrollogikk. Milliarder av dem på en enkelt brikke.

Så har vi også sjetonger som gjør ting som å sende innholdet i en bit RAM til en skjerm for å lage en skjerm. Tallene i RAM er gruppert i sett med tre som representerer lysstyrken til de røde, grønne og blå fargene med en enkelt piksel på skjermen. Millioner av tall brukes til å beskrive bildet du ser – og datamaskinen endrer fargene ved hver piksel ved å skrive tall i det RAM-minnet.

Den resulterende maskinen er den mest komplekse tingen mennesker har laget – av FAR. En mobiltelefon eller en bærbar PC kan skyve mot en billion transistorer og kondensatorer.

Som en 62 år gammel programvareingeniør – jeg synes det er ganske utrolig at alt dette har blitt mulig i løpet av livet mitt. Da jeg begynte å gjøre dette, ble datamaskiner fortsatt laget på samme måte – men en transistor var noe på størrelse med en tic-tac-mynte – og nå er de mindre enn lysets bølgelengde!

Men like fantastisk som alt det kompleksiteten er – det som forbløffer meg, er hvor vanvittig pålitelig det hele er.

Bilen din er kanskje laget av 10 000 deler – hvorav noen gjør ting noen få tusen ganger i sekundet. Etter noen år (som kanskje er noen få tusen timers drift) vil noen av disse delene gå galt og må byttes ut.

Datamaskinen min er laget av trillion deler – hvorav de fleste gjør ting noen milliarder ganger i sekundet. Det er maskinvare som vil fungere helt feilfritt i et tiår – som representerer noen få hundre tusen timers drift – men en kvint million individuelle operasjoner – som alle skjedde feilfritt.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *