Svenska ElektronikForumet
http://elektronikforumet.com/forum/

Kan programmvara repareras?
http://elektronikforumet.com/forum/viewtopic.php?f=10&t=95529

Författare:  rogerk8 [ 20.58 2019-07-05 ]
Inläggsrubrik:  Kan programmvara repareras?

Hej!

Jag undrar om programvara kan repareras genom att man laddar ner EXAKT samma mjukvara i en applikation typ telefon där telefonen har slutat fungera.

Min erfarenhet är att det faktiskt går att tanka ner exakt samma mjukvara i en applikation för att på det sättet faktiskt laga applikationen.

En skicklig kollega till mig förklarade en gång att C har vissa begränsningar, om man inte definierar storleken på arrayer så kan storleken svämma över vilket får till följd att variabeln som ligger strax efter i RAM kan bli överskriven och vid nästa anrop av variabeln...

Jag vet inte om detta stämmer men jag har upplevt många gånger att en omprogrammering av styrkort leder till att dom börjar fungera.

Idag sitter jag med en fantastisk Nokia knapptelefon men den dummar sig hela tiden, jag får typ starta om den två gånger om dan för den har stängt av sig själv eller också klagar den på att den inte får kontakt med nätet när det ENDA man behöver göra är att starta om telefonen (dvs jag gissar att det inte är glappkontakt med SIM).

Jag misstänker att processorn helt enkelt bara går vilse och att det blivit nåt problem med programmet.

Vad tror Ni?

MVH/Roger
PS
Min Nokia är nu så sliten att den är tejpad och limmad både kors och tvärs, joy-stick har också fallit bort så det är svårt att navigera men jag äger numera en Ericsson T28s som bara behöver tankas och den är tänkt att ta över samtidigt som jag älskar min Nokia och tycker det vore trevligt om den kunde vara min reserv-telefon i alla fall.

Författare:  Nerre [ 08.45 2019-07-06 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Första frågan man ska ställa sig är väl om programvaran kan gå sönder. Och i såna fall var och på vilket sätt.

Först och främst så brukar de flesta system idag skilja på kodminne och arbetsminne, d.v.s. själva programkoden kan aldrig skrivas över en en variabel.

Med t.ex. C så är det tänkt att fungera så alltid, en del av uppstarten av ett C-program är att initiera variabler genom att kopiera data från kodminnet till arbetsminnet.

Men nu pratar vi ju bara om när programmet körs, först ska ju programmet hamna i kodminnet på nåt sätt. I de flesta system idag sker det genom att programmet läser in från sekundär lagring (ex. hårddisk, flashminne etc) till primär.

Har en fil som ligger på hårddisken blivit skadad så kan den såklart repareras genom att skrivas över med en ny korrekt fil.

Men om t.ex. inställningar som lagrats i minnet skrivs över så kan du ju inte "reparera" dem om du inte har en backup. Det du möjligen kan göra är att skriva över dem med defaultinställningar (genom att göra en ominstallation).

Men nu är det så att oftast när man gör en ominstallation så skrivs in befintliga inställningar över (eftersom man antar att om användaren redan har programmet installerat så vill användaren behålla sina inställningar). Så att bara installera över är oftast inte en bra lösning, bättre att i såna fall av installera och sen installera om.

I inbyggda system kan det hända att koden körs direkt från sin lagringsplats, men då det oftast är flash så går det inte att "råka" skriva över (eftersom flash oftast måste raderas i block innan det kan skrivas om). Variabler ligger då alltså i RAM och nollställs vid omstart.

När man flashar in ny mjukvara i grejer så brukar den först lagras i RAM och sen blockvis skrivas in i flash-minnet.

Författare:  Bo.Siltberg [ 09.21 2019-07-06 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Jag skulle säga at man aldrig kan reparera programvara genom ominstallation med samma version men däremot mildra eller dölja symptomen från buggar i programvaran, om vi bortser från HW-fel och liknande som förstör programminnet. Programkoden är som den är och slutar den fungera så beror det oftast på buggar i programvaran som kräver en ny version av programvaran. Kanske har du fått ned en ny version när du installerat om som fungerar bättre?

Program som fungerar sämre över tid har buggar som t.ex läcker minne. Programmet tar mer o mer resurser av datorn som blir segare och segare. En omstart av programmet eller omboot av telefonen räcker för att skjuta på det problemet en stund.

Det kan också beror på det data programmet hanterar i minnet eller skriver på fil. Buggar i programmet klarar inte av datamängden eller kombinationen av data. Vid ominstallation nollställs ofta vissa data på disk som gör att programmet fungerar ett tag igen. I grund o botten handlar det om att programmet har buggar som inte klarar alla kombinationer av stimuli som det får utifrån.

Men jag skulle säga att program är överlag stabilare idag än förr, trots den exponentiellt ökade programvolymen. Men buggar finns, och en IT-armageddon blir nog oundviklig...

Tyvärr ser många tillverkare av programvara ominstallation som ett sätt att reparera sin programvara. Det är den första åtgärden de föreslår när man rapporterar en bugg oberoende av vad buggen handlar om. Så vi har fortfarande mycket att lära. Programmering behöver en högre status.

Författare:  Icecap [ 12.12 2019-07-06 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Som sådan "lagar" det inget att lägga in samma programversion igen.

MEN ibland händer det att programminnen inte är helt stabila och en bit kan bli fel. Den fel kan skapa allvarliga eller mindre allvarliga problem i programkörningen.

Och i DET fall kan det löna sig att uppfriska minnet.

Men med en gammal telefon är det en uppdatering som gäller, det finns orsak till att det kommer uppdateringar.

Författare:  rogerk8 [ 16.39 2019-07-06 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Den orsaken är i grund och botten mest för att tjäna mer pengar, typ att man inte skall bli missnöjd med märket.

Den är orsaken är inte ens för att täppa till säkerhetshål, åtminstone inte bara.

Orsaken är sällan att skapa en bättre applikation, snarare en mer invecklad applikation skulle jag vilja säga.

Och dom enda som gillar att programvara muterar hela tiden är barnungar, jag gillar det i alla fall inte :)

Tack ändå för din kommentar.

MVH/Roger
PS
Jag nästan hatar snacket om att allt skall uppgraderas/uppdateras hela tiden. Gammal mjukvara som man lärt sig och blivit bekväm med fungerar många gånger minst lika bra som 30 versioner senare, det enda som händer är att du måste byta dator om du uppgraderar till den senaste versionen för processorn måste tugga så mycket mer kod som inte bara är täckande av säkerhetsluckor utan en massa flashiga och menlösa finesser man klarade sig bra utan redan innan. Dessutom kan inte programmerare programmera kodeffektivt längre, mest för att dom inte behöver det för minne finns det ju gott om...

Författare:  rogerk8 [ 17.00 2019-07-06 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Nerre skrev:
Första frågan man ska ställa sig är väl om programvaran kan gå sönder. Och i såna fall var och på vilket sätt.

Först och främst så brukar de flesta system idag skilja på kodminne och arbetsminne, d.v.s. själva programkoden kan aldrig skrivas över en en variabel.

Med t.ex. C så är det tänkt att fungera så alltid, en del av uppstarten av ett C-program är att initiera variabler genom att kopiera data från kodminnet till arbetsminnet.

Men nu pratar vi ju bara om när programmet körs, först ska ju programmet hamna i kodminnet på nåt sätt. I de flesta system idag sker det genom att programmet läser in från sekundär lagring (ex. hårddisk, flashminne etc) till primär.

Har en fil som ligger på hårddisken blivit skadad så kan den såklart repareras genom att skrivas över med en ny korrekt fil.

Men om t.ex. inställningar som lagrats i minnet skrivs över så kan du ju inte "reparera" dem om du inte har en backup. Det du möjligen kan göra är att skriva över dem med defaultinställningar (genom att göra en ominstallation).

Men nu är det så att oftast när man gör en ominstallation så skrivs in befintliga inställningar över (eftersom man antar att om användaren redan har programmet installerat så vill användaren behålla sina inställningar). Så att bara installera över är oftast inte en bra lösning, bättre att i såna fall av installera och sen installera om.

I inbyggda system kan det hända att koden körs direkt från sin lagringsplats, men då det oftast är flash så går det inte att "råka" skriva över (eftersom flash oftast måste raderas i block innan det kan skrivas om). Variabler ligger då alltså i RAM och nollställs vid omstart.

När man flashar in ny mjukvara i grejer så brukar den först lagras i RAM och sen blockvis skrivas in i flash-minnet.

Intressant inlägg, tack!

Jag förstår inte riktigt vad du säger men jag gillar ditt engagemang.

Speciellt skillnaden på kodminne och arbetsminne förstår jag inte, för mig är något förenklat ROM (eller flash) programminne och RAM arbetsminne men jag har kanske blivit föråldrad?

På ditt resonemang så får jag dock ingen riktig förklaring på om det min kollega sa om att variabler kan skrivas över, den här killen var fysiker och mycket duktig på elektroteknik men fick tyvärr sitta och harva med programmering i säkert 5 år innan han till slut gav upp och skaffade nytt jobb, men bra på programmering var han tydligen.

Och jag undrar om det inte är det han säger som händer med min telefon för har variabler i RAM väl skrivits över så måste man göra en omstart men styret/hanteringen av dom borde inte ändras (för det ligger i ROM) men hur kan det då gå att "laga" mjukvara genom att ladda in exakt samma mjukvara?

För när du laddar in ny mjukvara laddar du ju till ROM, om man säger.

MVH/Roger

Författare:  TomasL [ 17.06 2019-07-06 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Nu pratar du ånyo i nattmössan.
Uppdateringlr är buggfixar, dvs fixa till olika fel i applikationen.
Uppgraderingar kan vara nya fterlängtade funktioner eller ny hårdvara.
Ev säkerhetshål brukar i allmänhet fixa till då de blir kända.

Det går inte att skriva felfri programvara då det är omöjligt att testa alla scenariot.

Författare:  Nerre [ 17.30 2019-07-06 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

rogerk8 skrev:
Speciellt skillnaden på kodminne och arbetsminne förstår jag inte, för mig är något förenklat ROM (eller flash) programminne och RAM arbetsminne men jag har kanske blivit föråldrad?

Ja, på en PC ligger ju inte programmen i ROM utan på hårddisken, sen läses de in till RAM för att exekveras. Men de lagras i en annan del av RAM än variabler etc. Och moderna processorer ser alltså till att skydda koden mot skrivning (förr i tiden kunde man skriva kod som modifierade sig själv, men det går inte längre).

Citera:
På ditt resonemang så får jag dock ingen riktig förklaring på om det min kollega sa om att variabler kan skrivas över, den här killen var fysiker och mycket duktig på elektroteknik men fick tyvärr sitta och harva med programmering i säkert 5 år innan han till slut gav upp och skaffade nytt jobb, men bra på programmering var han tydligen.


Det gick förr, när processorerna inte var så noga med att hålla reda på vad som är kod och data. Med moderna processorer isolerar dessa från varandra.

Om det finns buggar i programmet så kan variabler skrivas över av data som ska ligga i andra variabler (gäller främst strängar). Men i moderna processorer så kan alltså en variabel inte skriva över programkod. (Främsta orsaken är kanske inte processorns minnesskydd utan att programkoden ligger på lägre adresser än variablerna. Om koden ligger på adresserna 001-100 och variablerna börjar på 101 så kommer ju en variabel som skrivs för långt att hamna på en adress över 101, och knappast på en under 100.

Även om flera program körs samtidigt så är det oftast så att koden för program B ligger efter koden för program A, och sen ligger variablerna i en annan del av minnet.

Författare:  rogerk8 [ 18.49 2019-07-06 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

TomasL skrev:
Nu pratar du ånyo i nattmössan.
Uppdateringlr är buggfixar, dvs fixa till olika fel i applikationen.
Uppgraderingar kan vara nya fterlängtade funktioner eller ny hårdvara.
Ev säkerhetshål brukar i allmänhet fixa till då de blir kända.

Det går inte att skriva felfri programvara då det är omöjligt att testa alla scenariot.

Du verkar fortfarande vara full för man kan knappt förstå vad du skriver :)

MVH/Roger

Författare:  TomasL [ 19.01 2019-07-06 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Suck :!:

Författare:  Palle500 [ 19.08 2019-07-06 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Det som oftast händer vid en ominstallation om du verkligen tagit bort alla sparade värden är att du börjar med "rätt" värden på div inställningar, detta upplevs som att programmet blivit reparerat.

Men visst kan program skriva sönder sina egna variabler i RAM minnet. Händer ofta och beror på feltänkt i logiken, eller allmänt kallat en bugg. Åtgärdas oftast genom omstart av programmet.

Pratar vi sen PC med tex Windows som OS så är det skillnad på omstart eller att du stänger av datorn. Det är olika varianter på reset. Vid omstart blir inte all hårdvara återställd, detta är förklaringen till att det ibland fungerar bäst med att helt stänga av datorn.

Sen är inte uppdateringar ett kapitalistiskt djävulstyg för att göra livet surt för användarna, men visst ibland får man nya problem och känner inte igen sig i menyer och funktioner. Fast att man får problem efter en uppdatering är mycket sällan förekommande nuförtiden. Mycket av det du "klagar" på är historia och i viss mån myter som överlevt sig själva.

Författare:  rogerk8 [ 19.50 2019-07-06 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Jag tolkar detta, utan att förstå, som ett mycket kompetent svar.

Dessutom är det ett svar som adresserar min fråga och inte som TomasL gör dvs rabblar upp en massa saker ur ett besserwisser-perspektiv, jag lär mig ingenting av sånt.

MVH/Roger
PS
Gillar annars den här delen av kommentaren:
Citera:
Sen är inte uppdateringar ett kapitalistiskt djävulstyg...

Jo, det är det :D

Författare:  rogerk8 [ 20.24 2019-07-06 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

@Nerre

Jag har sysslat lite med primitiva processorer modell Motorola 6809 fast då i form av att jag byggt mig en egen 6809-liknade processor i CPLD-teknik (MkII i FPGA-teknik, program finns).

Min KPU MkI fungerar med avseende på en enda instruktion (JMP) men när man bygger en processor från grunden är det mycket roligt att få bekräftat att en instruktion fungerar för detta innebär nämligen att till exempel bidirektionell data-buss fungerar vilket inte var helt lätt att implementera.

Vad jag lurar på är att ett dylikt mikrodatorsystem kräver en liten stack att FILO-lagra variabler på (och registerstatus om jag kommer ihåg rätt för detta var ganska länge sedan) och det kan ju faktiskt vara här det blir problem ty allt ligger i RAM.

Nu "kan" jag bara 6809-typen av processor men jag är tämligen säker på att moderna datorer fungerar snarlikt, skillnaden är mest det som TomasL sa nyligen i en annan tråd dvs "Det kallas för utveckling" medans jag kallar det för inveckling.

Det är så mycket teknik idag som verkligen inte behövs, samhälle och vänner driver på att man skall nyttja det senaste hela tiden samtidigt som många människor är deprimerade.

Teknik gör oss nämligen inte ett dugg lyckligare, snarare tvärtom men jag är medelålders så jag lider inte så mycket av att man alltid måste anamma det senaste, däremot tycker jag faktiskt synd om dagens ungdomar för gissa hur mobbad man skulle bli om man kanske föredrar en Doro knapptelefon?

Tycker det är patetiskt att se hur folk på buss och busshållplatser pekar i sina pekmobiler hela tiden, man kan inte prata med nån som sitter bredvid men man kan chatta med nån på andra sidan jordklotet, sanslöst fantastiskt men sanslöst asocialt.

Nej, jag ger inte mycket för modern teknik.

Ericsson T28s är däremot grejer :D

MVH/Roger
PS
Teknik skall bara funka som Kjell säger.

Författare:  Nerre [ 08.14 2019-07-07 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Det är ju just såna där grejer som de som designar moderna processorer tänker på.

Men även många väldigt tidiga processorer så var kod och data separarerade, helt enkelt eftersom det var olika ordlängd. Instruktionerna kunder vara 12 bitar men data bara 7. Dessa måste då onekligen lagras i olika minnen och det finns alltså ingen möjlighet för data att skriva över kod.

Det var när man började läsa in programvara till samma minne som man lagrade data i som det kunde hända. Men där använder man idag alltså "memory management" i processorn, som ser till att separera data från kod (och även separera processer från varandra, så en process inte kan läsa eller skriva data som hör till en annan process).

https://en.wikipedia.org/wiki/Memory_management_unit

Nyckeln är väl främst om data och kod adresseras av samma adressbuss. Har de separata adressbussar så är det omöjligt att skriva över kod med data.

Delar de adressbuss och processorn saknar "memory management" så finns risken att kod skrivs över med data, men det beror då på buggar och borde ge rena krascher och hängningar snarare är instabilitet.

Författare:  breflabb [ 12.07 2019-07-07 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Ett konkret svar till roger.
Du var inne på SIM kortet i början, och det kanske inte var så dåligt tänkt.
Jag har nämligen en Nokia visserligen så kallade smrtphon som är två år gammal
och den betedde sig på ungefär samma sett efter bara fem månader.
Och efter många veckors irritasion så plockade jag ut SIM kortet och fick se
laminatet nästan genomborrat av allt för stort tryck. Tricksade med laminatet och
fick ihop hålen (nästan) sen dess har den fungerat felfritt.
Så poängen är att felet kan ligga i hållaren eller SIM kortet

Författare:  rogerk8 [ 16.36 2019-07-07 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

breflabb skrev:
Ett konkret svar till roger.
Du var inne på SIM kortet i början, och det kanske inte var så dåligt tänkt.
Jag har nämligen en Nokia visserligen så kallade smrtphon som är två år gammal
och den betedde sig på ungefär samma sett efter bara fem månader.
Och efter många veckors irritasion så plockade jag ut SIM kortet och fick se
laminatet nästan genomborrat av allt för stort tryck. Tricksade med laminatet och
fick ihop hålen (nästan) sen dess har den fungerat felfritt.
Så poängen är att felet kan ligga i hållaren eller SIM kortet

Menar du alltså att det kan vara "glappkontakt" ändå på nåt skumt sätt?

Min teori är dock att det inte är det för om "ingen nätaccess" kan lagas av en enkel omstart så indikerar det för mig att det inte är nån glappkontakt utan processorn som går vilse.

Den stänger slumpmässigt av sig emellanåt också (typ två gånger om dagen), inte heller nån direkt glappkontaktmekanism, eller hur?

På senare tid har den också börjat tappa datuminställningarna typ varannan dag, här kan man misstänka batteri-glapp men jag är tveksam ty telefonen är hårt tejpad av både kontorstejp och silvertejp nuförtiden :D

Nej, jag tror att mjukvaran är korrupt och jag vill fortsätta diskutera det.

MVH/Roger

Författare:  rogerk8 [ 17.06 2019-07-07 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Nerre skrev:
Det är ju just såna där grejer som de som designar moderna processorer tänker på.

Men även många väldigt tidiga processorer så var kod och data separarerade, helt enkelt eftersom det var olika ordlängd. Instruktionerna kunder vara 12 bitar men data bara 7. Dessa måste då onekligen lagras i olika minnen och det finns alltså ingen möjlighet för data att skriva över kod.

Det var när man började läsa in programvara till samma minne som man lagrade data i som det kunde hända. Men där använder man idag alltså "memory management" i processorn, som ser till att separera data från kod (och även separera processer från varandra, så en process inte kan läsa eller skriva data som hör till en annan process).

https://en.wikipedia.org/wiki/Memory_management_unit

Nyckeln är väl främst om data och kod adresseras av samma adressbuss. Har de separata adressbussar så är det omöjligt att skriva över kod med data.

Delar de adressbuss och processorn saknar "memory management" så finns risken att kod skrivs över med data, men det beror då på buggar och borde ge rena krascher och hängningar snarare är instabilitet.

Du skriver bra Nerre, väldigt sakligt och intressant (HUGGBÄVERN kanske kan ta sig en titt på hur man diskuterar).

På bussen idag spånade jag på följande enkla (för att göra det begripligt) mikrodatorsystem:
1) PROM, detta kan också kallas programminne för här ligger den utbytbara "permanenta" programkoden.
2) EPROM, detta kan också kallas systeminställnings-minne (E låter vi här bara indikera att det är raderbart)
3) RAM, här lagras mest alla (flyktiga) variabler (i modern tid laddas väl också programmen in här för exekvering men på 6809-tiden tror jag BARA variabler existerar i RAM, variabler plus en liten stack för hopp-adresser och registerstatus).

Jag vet inte riktigt vad jag snackar om här men ungefär :)

Om vi nu tittar på en omprogrammering av EXAKT samma programkod så borde inte det hjälpa för dom permanenta variablerna nås inte, dom befinner sig ju i ett annat "block" (läs adressarea ty fysiskt ett annat minne dvs EPROM).

Fast om PROM och EPROM slås ihop så kan vi få problem, vi får problem om det går snett men vi får det bra och det inte gör det för då kommer alla systeminställningar programmeras till fabriksdefault.

Säg att det går bra, då har vi fräscha systeminställningar efter en omprogrammering av EXAKT samma programvara.

Nu är bara frågan VARFÖR vi behöver det?

Jag är nämligen säker på att min kära Nokia kan fås att fungera med hjälp av en omprogrammering.

Tricket är bara att klura ut mekanismen.

Eftersom ditt argument Nerre med olika bussbredder osv pekar på två i princip fysiskt sett helt olika minnen så ska inte EPROM kunna skrivas över av programmet i PROM.

Fast i regel tror jag att man istället pagear minne dvs PROM får en adress-area och EPROM en annan dvs dom kommer (naturligtvis) sitta på samma adressbuss vilket gör att de inte kan accessas samtidigt.

Då blir i praktiken PROM och EPROM olika fysiska enheter, gemensam adressbuss bara.

Fast det måste ju vara nåt fel med mitt EPROM i detta fallet för telefonen har fungerat klanderfritt i nästan tio år för att på senare tid bara dumma sig.

Men hur blir det fel på EPROM?

MVH/Roger

Författare:  TomasL [ 17.08 2019-07-07 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

De har en begränsad livslängd.
Dessutom är det sannolikt inte eprom utan mer troligt flash.

Författare:  rogerk8 [ 18.06 2019-07-07 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Ödmjukt sagt Tomas, men jag avsåg mest principen för självklart är det flash som gäller idag.

MVH/Roger

Författare:  breflabb [ 19.55 2019-07-07 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Jag skall inte gräva mig jätte djupt eftersom jag inte är en jätte fena på all teori(lite kan jag)
är mest praktiskt lagd. Men vill iallafall kort berätta att vi hade en hel del problem
med EEPROM typ 24c.... på Tv apparater och som kunde uppvisa en hel del skumma fel.
Även på LCD/LED kunde uppvisa underliga fel. Samsung hade fel på en hel del modeller
för 7-10 år sedan. Förklaringen Samsung gav var att minnet blev kurrupt pga att
det samlade på sig massor med skit. Minnena kom helt tomma och efter bytet är allt OK.
Så vist kan dom olika minnena orsaka mycket skumma fel.På vissa andra fabrikat var man
tvungen att beställa förprogramerade annars fick man inte igång. :humm:

Författare:  rogerk8 [ 20.24 2019-07-07 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Kul inlägg breflabb!

Jag tror att ju större minnesarea man har desto större är risken för bitfel.

Man tjänar nog alltså på att hålla nere minnesmängden.

Lite tycker jag detta låter som regelrätt statistik dvs att om 1 av 100000 inte fungerar så fungerar ett minne på <100000 klockrent men om samma process genererar 1M så har vi genast 10 fel.

Dvs man borde på alla sätt tjäna på att hålla nere minnesmängden.

MVH/Roger

Författare:  Nerre [ 20.25 2019-07-07 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Det är ju så att minnen kan påverkas av kosmisk strålning. Vi översköljs ju hela tiden med en massa bakgrundsstrålning från rymden, och den passerar ju också halvledare. I människor kan den påverka atomerna i DNA så det skapas cancerceller, och i halvledare så kan den göra att en etta blir en nolla.

Men sannolikheten för detta är ju extremt liten.

Författare:  rogerk8 [ 20.47 2019-07-07 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Säg att du har rätt.

En icke-flyktig variabel (systeminställning) skulle då få ett värde som kanske inte tillhör den definierade mängden typ att en fyr-bitars variabel ju har 16 värdemöjliheter MEN att kanske bara 10 är definierade så när den kosmiska strålningen kommer så intas ett av dom sex värdemöjligheterna som inte är definierade och processorn går vilse?

Så kan det faktiskt vara.

Dvs om inte precis alla bit-kombinationer är definierade och vi plötsligt får en odefinierad kombination, hur skall då processorn veta hur den skall bete sig?

Gäller egentligen också min kollegas kommentar om att arrayer måste vara storleksdefinierade för om dom inte är det kan dom svämma över och skriva över nästa variabel.

Jag tror vi är en liten bit på väg med att förstå detta.

MVH/Roger
PS
Min Nokia är så busig och skadad att jag snarast kommer avveckla den, kanske så tidigt som i morgon för jag behöver bara köpa en Comviq-laddning av Ericsson T28s sen är jag på banan igen. Har förresten knappat in dom få men goa kompisarna jag har (14st inklusive familj) och det var användargränssnitt-mässigt aslätt, tror inte många moderna telefoner kan skryta med det. Fast alla kontakter blev med stor bokstav vilket jag tycker är perfekt för varför hatta med små bokstäver?

Författare:  Nerre [ 20.53 2019-07-07 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Med moderna telefoner behöver man inte knappa in kontakterna på nytt, de flyttas med automagiskt:) I alla fall om man ställt in att de ska synkas mot "molnet". För Android-telefoner så kan man synka alla kontakter mot Gmail (så man har både e-post och mobilnummer till dem där, dessutom man man lägga in en bild på dem och man kan ha flera olika telefonnummer för varje kontakt, t.ex. jobb, hem, privat osv).

Det går ju också (eller gick i alla fall förr, har inte testat på säkert 10 år) att lagra ett visst antal kontakter på SIM-kortet, så de följer med när man flyttar det till en ny telefon.

Författare:  TomasL [ 20.54 2019-07-07 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

rogerk8 skrev:
Kul inlägg breflabb!

Jag tror att ju större minnesarea man har desto större är risken för bitfel.

Man tjänar nog alltså på att hålla nere minnesmängden.

Lite tycker jag detta låter som regelrätt statistik dvs att om 1 av 100000 inte fungerar så fungerar ett minne på <100000 klockrent men om samma process genererar 1M så har vi genast 10 fel.

Dvs man borde på alla sätt tjäna på att hålla nere minnesmängden.

MVH/Roger

Nej faktiskt inte. Det handlar om antalet skrivningar till minnet. Ju mindre mängd minne desto större slitage.
Det handlar naturligtvis inte om programminnet utan dataminnet.
I processorer utan mmu så är ofta data statiskt allokerat dvs minnesadresserna ändras aldrig. Och en variabel som skrivs ofta sliter ut dessa minnesceller. Placeringen bestäms vid kompileringen. Och vid en uppdatering, eftersom programmet blivit omkompilerat ändras adresserna.
Dock ligger naturligtvis det fysiska felet kvar och genererar helt andra typer av fel.

Författare:  rogerk8 [ 21.18 2019-07-07 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Nerre skrev:
Med moderna telefoner behöver man inte knappa in kontakterna på nytt, de flyttas med automagiskt:) I alla fall om man ställt in att de ska synkas mot "molnet". För Android-telefoner så kan man synka alla kontakter mot Gmail (så man har både e-post och mobilnummer till dem där, dessutom man man lägga in en bild på dem och man kan ha flera olika telefonnummer för varje kontakt, t.ex. jobb, hem, privat osv).

Det går ju också (eller gick i alla fall förr, har inte testat på säkert 10 år) att lagra ett visst antal kontakter på SIM-kortet, så de följer med när man flyttar det till en ny telefon.

Intressant!

Zoomar genast in på din sista kommentar, jag har som praktisk regel att INTE lagra kontakter i telefonminnet, min Nokia gör preliminärt alltid det men jag flyttar dom alltid till SIM, detta för att helt enkelt undvika kaoset om telefonen skulle totaldö, gör den det så kan jag ju bara flytta SIM till den nya telefonen och enklare än så kan det inte bli.

Att blanda in moln och annat modernt "skit" tycker jag bara är trams, ju mer avancerade system man har desto mer tigger man om problem.

Hopas du inte tar illa upp :)

MVH/Roger

Författare:  breflabb [ 22.43 2019-07-07 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

På gamla Ericsson K810 med flera kunde man välja att spara kontakterna
på SIM, men på dom här så kallade "Smarta" telefoner verkar det inte gå.
Iallafall hittar inte jag någon inställning på Android (Nokia).Är det någon som vet så
hör av dig. Trots allt så var det enklare förr

Författare:  rogerk8 [ 21.51 2019-07-16 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Ursäkta sent svar.

Men med min Nokia kan man välja vart man vill spara telefonnumret, initialt sparas det i telefonminnet men det är mycket enkelt att välja "flytta kontakt" varvid det hamnar på SIM.

Att inte ha kontakterna på SIM tycker jag är "livsfarligt", idag finns det visserligen moln och annat högteknologiskt trams för hur säker är egentligen (avancerad) teknik?

Jag förlorade till exempel den sista strimma till kontakt med min far för jag skällde ut honom å det grövsta när jag inte fick några svar på mina sms över en jul/nyår.

Visade sig att han visst hade skickat meddelande (hela tre stycken) men att dom inte hade kommit fram.

Nu har jag således fullständigt tappat kontakten med min far, allt pga att teknik inte fungerar (ibland), visst det kan vara skit bakom spakarna men jag tror inte det, speciellt om man kanske bara gör reply.

Så numera är jag mycket skeptisk till teknik, ju enklare det är desto mer sannolikt är det att det fungerar, tycker jag.

Vill annars bara summera vad som sagts angående varför omladdning av EXAKT samma mjukvara faktiskt kan laga saker:
1) Kosmisk strålning slår ut en minnescell eller två, osannolikt men verkar kunna hända (starkaste argumentet, från Nerre)
2) Slitage (mekanism okänd, TomasL menar dock detta)
3) Tappat minne (glatt argument som jag fått av bekant när hon frågat i affär varför fjärren slutat funka, mekanism okänd).
4) Överskrivning av nästkommande variabler pga arrayer med ospecade storlekar (kollega berättat)

MVH/Roger
PS
Min kära Nokia självdör ett par gånger om dan, tappar datuminställningarna ett par gånger om dan samt tappar nät-accessen ett par gånger om dan. Det ENDA jag behöver göra är att starta om telefonen. Kan således knappast handla om glappkontakt utan mer att processorn går vilse på nåt sätt DVS att programmet har blivit korrupt.

Författare:  Lasp [ 22.45 2019-07-16 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Om det hjälper dig över den förlorade faderskontakten tycker jag absolut att du skall anklaga både hårdvara och mjukvara.
Som vi såg i fjol är det ju dessutom svårt att ta sig ut till ön!

Författare:  farskost [ 00.30 2019-07-17 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Jag tycker inte du kan utesluta glapp eller annat hårdvarufel för att det fungerar efter omstart. Det är mycket möjligt att något glappar eller att en matningspänning blir för låg vilket kan leda till att processorn hänger sig.

Författare:  rogerk8 [ 19.47 2019-07-17 ]
Inläggsrubrik:  Re: Kan programmvara repareras?

Lasp skrev:
Om det hjälper dig över den förlorade faderskontakten tycker jag absolut att du skall anklaga både hårdvara och mjukvara.
Som vi såg i fjol är det ju dessutom svårt att ta sig ut till ön!

Hej Lasp!

I sommar har jag tänkt åka ut till ön med en kompis och ångbåten Bohuslän, det går men blir lite struligt för den närmaste ön den angör är Gullholmen som ligger ett par sjömil norrom Käringön och där får man alltså byta båt.

Allt för att Bohuslän (gjorde det i min ungdom) inte angör K-ön's brygga med det något flummiga argumentet att dom inte kan angöra bryggan säkert.

Den biten är synd, tycker jag, för jag har aldrig åkt till K-ön enbart sjöledes och det hade varit häftigt att se kusten på det sättet, dessutom har dom rättigheter (även om jag mest dricker typ lättöl).

MVH/Roger

Alla tidsangivelser är UTC + 1 timme
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/