Vad är användningen av en korrigeringsfil för datorer?

Bästa svaret

Föreställ dig ett stort datorprogram, säg, en fil som är 100 MB lång.

Tänk dig nu en liten fix, säg, en fix som bara ändrar några byte i dessa 100 MB.

Att utfärda en ersättning för 100 MB-programfilen är slöseri med bandbredd. Det tar lång tid att ladda ner och tar upp mycket utrymme i onödan.

Istället kan du utfärda ett litet program vars enda syfte är att hitta den ursprungliga 100 MB-filen på klientens dator och sedan ändra de få byte som utgör korrigeringen. Detta skulle vara en korrigeringsfil.

Naturligtvis används ordet ”patch” idag ganska informellt för att beskriva all mindre re-release av en programvara, oavsett form återutgåvan tar; det kan vara i form av en patch som jag beskrev ovan, eller det kan bara vara en uppsättning ersättningsfiler eller till och med ett nytt installationspaket, det kallas fortfarande ofta en ”patch” om syftet i paketet är bara för att fixa några buggar eller genomföra andra mindre ändringar.

Svar

Tja, på den lägsta nivån är ett datorchip tillverkat av transistorer. Dessa är TINY fläckar av kisel, med avsiktliga föroreningar för att göra dem i stånd att fungera som små brytare.

Transistorer är inbyggda i ”Logiska grindar” som kan göra mycket enkla logiska operationer:

  • OCH – om två ingångssignaler finns båda, generera en utsignal.
  • ELLER – om den ena eller båda av de två ingångssignalerna finns, generera en utsignal.
  • XOR – om bara en av insignalerna är närvarande, men inte den andra, generera en utgång.
  • INTE – som bara har en ingång – och genererar en utgång bara om det inte finns någon signal på ingången.

Var och en av dessa logiska grindar är bara ett par transistorer.

Logiska grindar kan sedan sättas ihop för att göra saker som ”flip flops” som har ett enda sant / falskt värde och kommer ihåg det – eller ”one bit adders” som kan lägga till två binära siffror tillsammans och producera en utgång och en ”bär” -bit.

På e-bitaddrar kan kombineras för att skapa bitar av kretsar som kan lägga till två större nummer tillsammans (eller subtrahera dem med ett trick som kallas ”tvås komplement aritmetik).

Vi kan också bygga saker som kallas” shifters ”som kan multiplicera ett tal med två, fyra, åtta, sexton osv.

Ett gäng flip-flops kan sättas ihop för att bygga en bit kretsar som kan lagra ett helt antal – och en massa DE Bitar kan skapa ett block av RAM-minne som kan rymma många, många nummer.

Från dessa adder- och shifterblock kan du bygga kretsar som multiplicerar och delar … och från dessa kan vi skapa kretsar som beräknar saker som sines och cosines och kvadratrötter. Vi kan också skapa kretsar som jämför två siffror genom att subtrahera varandra från varandra och se om resultatet är positivt, noll eller negativt.

Sedan finns det en hel massa kontrolllogik – som kan berätta för dessa andra stora bitar av kretsar för att flytta ett nummer från en plats i RAM till en annan – eller för att lägga till två nummer som tagits från RAM tillsammans och skriva tillbaka dem till en annan plats i RAM.

Det sista steget är att använda ett nummer lagrad i RAM för att berätta kontrollogiken vad man ska göra … så DET numret är en kod som representerar en instruktion i ett datorprogram. Så kanske siffran 1 betyder ”flytta ett nummer från en plats till en annan” och ”2” betyder ”lägg till två nummer” och ”3” betyder ”jämför två nummer”. Efter att varje instruktion har utförts hämtar kretsen nästa instruktion och utför den också. Om du gör en jämförelse kan du säga att det logiska blocket ska börja ta nästa instruktion från någon annanstans.

Detta är då en MYCKET enkel – men ganska användbar dator … men saker har blivit VILDARE mer komplexa än så.

När alla dessa alltmer komplicerade logiska kretsar kombineras – kanske vi får ett chip med över en miljard av de små transistorerna!

Vi kallar att ”CPU ”Chip.

Sedan får vi de andra chips som gör hela datorn – särskilt det finns” RAM-chips ”som lagrar nummer precis som vår flip-flop – men använder en mer rymdeffektiv metod . Dessa marker använder kondensatorer istället för transistorer – och genom att ladda upp en kondensator (eller inte) lagra en enda bit information på mindre utrymme än en flip-flop gör. Dessa RAM-chips är mer eller mindre bara ett VAST hav av kondensatorer och styrlogik. Miljarder av dem på ett enda chip.

Sedan har vi också marker som gör saker som att skicka innehållet i en bit RAM till en skärm för att göra en skärm. Siffrorna i RAM-minnet är grupperade i uppsättningar av tre som representerar ljusstyrkan för de röda, gröna och blå färgerna med en enda pixel på skärmen. Miljontals siffror används för att beskriva bilden du ser – och datorn ändrar dessa färger vid varje pixel genom att skriva siffror i det RAM-minnet.

Den resulterande maskinen är det mest komplexa som människor har gjort – av FAR. En mobiltelefon eller en bärbar dator kan trycka mot en biljon transistorer och kondensatorer.

Som 62-årig programvaruingenjör – jag tycker det är ganska fantastiskt att allt detta har blivit möjligt under min livstid. När jag började göra detta gjordes datorer fortfarande på samma sätt – men en transistor var något lika stor som en tic-tac-mynta – och nu är de mindre än ljusets våglängd!

Men lika fantastiskt som all den komplexiteten är – det som förvånar mig är hur galet pålitligt det hela är.

Din bil är kanske tillverkad av 10 000 delar – varav några gör saker några tusen gånger i sekunden. Efter några år (som kanske är några tusen timmars drift) kommer några av dessa delar att gå fel och måste bytas ut.

Min dator är tillverkad av en biljon delar – varav de flesta gör saker några miljarder gånger per sekund. Det är hårdvara som kommer att fungera helt felfritt i ett decennium – vilket representerar några hundra tusen timmars operationer – men en femtio miljon individuella operationer – var och en av dem har hänt felfritt.

Datorer är verkligen fantastiska saker.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *