La risposta "sono i condensatori" è già stata data, ma non è tutta la storia. Esaminiamo un po 'più a fondo.
La maggior parte dei dispositivi funziona da una tensione di rete CA (110 V o 220 V CA), a circa 50 Hz, tramite un adattatore di alimentazione, a una bassa tensione CC (5 V o 12 V CC).
La corrente alternata è una corrente che scorre avanti e indietro, da positiva a negativa ... il che significa passare attraverso lo zero. Quindi, per una frazione di secondo, 100 volte al secondo, non c'è tensione fornita al tuo dispositivo.
Ovviamente, quindi, il tuo dispositivo deve essere in grado di gestire un'interruzione di corrente / molto breve / dell'alimentazione, altrimenti non rimarrà acceso per più di un centesimo di secondo. Il modo in cui ciò viene fatto è innanzitutto abbassando la tensione a livelli ragionevoli in un trasformatore (un paio di bobine attorno a un nucleo: il grosso bit pesante nella maggior parte degli alimentatori). Ciò ti cambia da 110 V CA a, diciamo, a 20 V CA.
Il prossimo passo è convertirlo da CA a un tipo di CC di grumi: un "raddrizzatore a ponte" (quattro diodi disposti in modo tale che se la tensione scorre in un modo o nell'altro sull'ingresso, scorre solo in un modo sull'uscita). Quindi invece delle onde su e giù da +10 a -10, ottieni una serie di grumi, da 0 a +10.
Quindi quella tensione ha bisogno di "attenuarsi": è qui che entrano in gioco i condensatori e ci sbarazziamo dei cali di tensione zero. Ogni "grumo" di tensione carica i condensatori; ogni tuffo lo scarica. Più grande è il condensatore, più corrente può immagazzinare come carica da quel "grumo" e più lento è il tempo di scarica. Ciò significa che più uniforme è l'output.
Ma c'è sempre qualche fluttuazione, quindi spesso c'è un "regolatore di tensione" come ultimo passo, un chip che prende qualsiasi cosa, diciamo, da 20 V a 3 V, e produce circa 5 V affidabili.
Quindi tutti i componenti prendono quel 5v e lo convertono in 5v e 0v per significare 1 e 0 ... tranne che non lo fanno. Lo convertono in "tensioni sopra o sotto un paio di volt" per indicare 1 o 0: quindi c'è molta libertà.
Il processore (e la maggior parte dei dispositivi come i router ne hanno uno) è fondamentalmente una scatola nera che legge in un comando, esegue le azioni indicate dal comando, passa al comando successivo nella sequenza e si ripete. E lo fa costantemente , dal momento in cui è acceso.
Il processore utilizza parte della carica di quelle tensioni per immagazzinare le cose nella sua memoria interna, in una forma "volatile", che si scarica abbastanza rapidamente, quindi ha bisogno di una potenza costante per "ricordare".
Una di quelle cose che memorizza è il "contatore di programmi", ovvero quale comando ha letto l'ultima volta, quindi sa come eseguire il bit "vai al comando successivo nella sequenza" sopra.
Quando si accende un processore per la prima volta, tenta di leggere nel contatore del programma e poiché la memoria si è completamente scaricata, il contatore del programma contiene il valore zero. Ciò significa che si sta avviando ... quindi legge nel comando dall'indirizzo zero, che è il codice di avvio. [nb: grande semplificazione qui! In verità, anche altre cose devono premere zero per un riavvio.]
Quindi, quando accendi e riaccendi, devi attendere abbastanza a lungo per:
- i condensatori di lisciatura per scaricare abbastanza che ...
- la capacità del regolatore di tensione di regolare le tensioni è insufficiente per mantenere la tensione sopra ...
- il livello del processore necessario per conservare il contatore del programma, abbastanza a lungo che ...
- gli scarichi di memoria del contatore del programma del processore.
Se non lo fai, allora è possibile che solo una parte di esso sia stata scaricata: che il contatore del programma memorizzi un valore casuale. Lo stesso vale anche per qualsiasi altra memoria volatile sul sistema, quindi anche se la CPU non si è completamente scaricata, i dati memorizzati nella memoria all'indirizzo indicato dal puntatore del programma potrebbero essersi deteriorati.
Ad ogni modo, hai quindi il processore che non sa di dover eseguire il codice di avvio e cerca invece di eseguire un codice casuale da qualche parte. Non va bene e probabilmente non si bloccherà il router.
Un secondo è probabilmente abbastanza. Cinque secondi sono quasi sicuramente sufficienti. Contare fino a dieci è quasi certo che ci vorrà tempo sufficiente perché siano trascorsi cinque secondi. Pertanto, scollegare, contare fino a dieci, ricollegare.
Questo è il motivo per cui, quando si ottiene una breve interruzione dell'alimentazione e le luci si spengono per un momento, a volte il router funziona correttamente (niente di scarico, si è svolto com'era); a volte si blocca (la memoria si è corrotta); a volte si riavvia (l'alimentazione è stata interrotta abbastanza a lungo da consentire al processore di scaricare completamente il contatore del programma).
Se stiamo separando il dispositivo dalle parti pesanti dell'alimentatore (ovvero, il nostro router ha un alimentatore da verruca a muro e stiamo scollegando dal retro del router, piuttosto che dal muro), allora possiamo essere più veloce, poiché abbiamo separato i condensatori dal dispositivo. Ma dobbiamo ancora concedere alla memoria volatile il tempo di scaricarsi. Le probabilità sono che il tempo necessario per scollegare e ricollegare è sufficiente. Ma ... quei nove secondi in più sono così preziosi? Probabilmente no. Conta fino a cinque, forse.
Pertanto, senza smantellare il dispositivo e tracciare il tempo di rilascio e di scaricamento della memoria corrente su ciascun componente, il riepilogo è:
NO. Il tempo minimo di riavvio sicuro non è quantificabile con precisione. Non è costante nemmeno per dispositivo o neppure per riavvio per lo stesso dispositivo.
[Nota: tutto quanto sopra è una semplificazione drammatica della realtà, ma è almeno un po 'meglio di "sono i condensatori!"]
[Modifica: dopo aver lavorato con il supporto tecnico, so che se dici a qualcuno di scollegare e ricollegare, spesso non lo faranno, ma ti diranno che l'hanno fatto. Sembra che le persone siano riluttanti a fare solo un'azione e poi a annullarla: accorceranno l'azione alla sua logica conclusione, dove nulla è cambiato. Allo stesso modo, se pensi che un cavo sia stato scollegato e chieda loro di controllare, spesso ti confermeranno che è stato inserito perfettamente senza mai alzarsi dal proprio posto per controllare.
Ma quando scollegare è solo un passo per fare qualcos'altro (aspettando dieci secondi), allora va bene. Quindi, se dici loro di staccare la spina, attendere dieci secondi e ricollegarlo, sono molto più propensi a farlo. Quindi anche dieci secondi hanno un uso psicologico!
La cosa migliore, tuttavia, è chiedere loro di estrarre il cavo, soffiarlo per assicurarsi che non vi sia polvere che rompe i contatti e introducendo rumore, quindi reinserirlo. Non ho MAI conosciuto qualcuno che non si disconnettesse quando gli viene dato questo istruzioni. Il soffio, ovviamente, non fa altro che assicurarsi di aver prima scollegato il cavo e poi atteso un momento prima di ricollegarlo. Chiedere loro di seguire questa procedura è anche lontano, FAR ha maggiori probabilità di successo se si pensa che il cavo sia stato appena scollegato. Risolve ovviamente il 100% di quelle situazioni, ma solo una parte di esse ammetterà mai "quando sono andato a farlo, ho scoperto che era scollegato ..."]