Y2K: BIOS și Windows
Din faptul că una dintre problema Y2K.
Ce este BIOS-ul?
Care este problema cu ceasul
PC-ul foarte vechi
ore Conflictele au continuat
Ce să fac?
Din faptul că una dintre problema Y2K.
Din faptul că una dintre problemele Y2K asociate cu funcționarea incorectă a ceasului BIOS, astăzi pare să știe totul deja. Dar este acest pericol este mare, ceea ce este nici o șansă ea este deosebit de mare, și să-i întâlnească?
O analiză atentă a problemei sugerează că hype din jurul este prea exagerat. Multe persoane cu această problemă nu se va întâlni deloc, și suficient de norocoși să-l vadă de aproape - cu ușurință capabil să-l depășească, fără nici un fel de modernizare a echipamentului sau a software-ului. Mai degrabă, se ridică alte două întrebări fundamentale:
- De ce producătorii de BIOS se deplasează departe de o responsabilitate explicită pentru căsătorie?;
- De ce producătorul nu a furnizat comenzile de operare de bază pentru instalarea corectă a ceasului de sistem?
Astăzi utilizatorii de PC-au uitat un pic despre unele dintre elementele de bază ale calculatorului, care au fost cunoscute de aproape toată lumea în zilele DOS, așa că merită să reamintim unele dintre ele.
Una dintre ideile-cheie ale arhitecturii PC-ului (de la începuturile sale, în 1982) a fost punerea în aplicare a unui set de funcții de sistem prin intermediul unor programe stocate într-o memorie numai pentru citire (ROM), care este situat pe una dintre chips-uri de pe placa de bază. De modă veche, acest microcod numit BIOS (intrare-ieșire pentru sistemul de bază - sistem de bază de ieșire de intrare), cu toate că funcția lor a trecut de mult funcțiile de intrare-ieșire.
În producția de astfel de chips-uri mai multe firme specializate în lume, cel mai faimos dintre care - American Megatrends și Premiul Software. BIOS-ul sarcina nu este doar un set standard de comenzi de automatizare (ROM mai ieftin și mai rapid decât memoria principală), dar, de asemenea, o legătură între componentele electronice individuale ale calculatorului și de andocare cu propriile programe de utilizator. Prin urmare, atunci când un upgrade hardware (cum ar fi instalarea unui nou procesor, mai puternic), uneori (dar nu întotdeauna) cazul ar trebui să fie instalat și noul BIOS.
Înainte de memorie flash este folosit pentru a face acest lucru, pur și simplu schimba cip (costa $ 10-15.), Dar în ultimii ani, ca un ROM, care permite efectuarea de corecții în codul programatic. Adică c floppy disc sau de a citi printr-un program Web care ajustează conținutul BIOS. Deci, dacă o actualizare de BIOS înainte de a fi fost o sarcină simplă, dar astăzi este chiar mai ușor (curs de specialitate).
Una dintre sarcinile este de a sprijini BIOS-ul de ore de curent ora / data, intervalul de lucru care, în conformitate cu specificațiile PC-ului (definit în 1982) este egal cu 01.01.1980 la 31.12.2099.
Numărătoarea inversă este realizată prin luarea în considerare semnalele provenite de la timer-ul hardware-ul, iar întrebarea este dacă modul în care data inițială (și ora) la momentul pornirii calculatorului. Primele modele de PC-uri IBM, inclusiv XT (produs până în 1988), în mod implicit, cu data de 01.01.1980, utilizatorul a trebuit să ajustați manual de fiecare dată când porniți computerul.
Începând cu IBM PC-AT (CPU i286), la mijlocul anilor '80 in BIOS-ul este acum o parte specială a unității de memorie (CMOS) pentru stocarea unui set de parametri care guvernează BIOS modul de operare. Aceste specificații pot varia, dar ele trebuie să fie între computerul este pornit. Corectarea acestor parametri este de obicei realizată manual de către utilizator (sau mai degrabă - un specialist în servicii informatice), și numai atunci când computerul este pornirea sistemului de operare. Pentru a face acest lucru, imediat după pornirea PC-ului să apăsați o anumită tastă (de obicei Delete - mesaj cu numele tastelor apare pe ecran) și va fi în fir în programul BIOS numit de tip BIOS CMOS Setup Utilily.
Ca parte a CMOS-ul are încorporat un ceas electronic, care se execută în mod continuu, inclusiv atunci când PC-ul este oprit. În acest scop, o baterie reîncărcabilă specială, care furnizează ore logice.
Înainte ca bateria este utilizat pentru memorie CMOS de putere în sine, iar munca sa adus o mare durere de cap. În primul rând, bateria în cele din urmă a lucrat mai rău sau doar evacuate, în cazul în care PC-ul nu este pornit pentru o lungă perioadă de timp (se poate întâmpla chiar acum). În al doilea rând, memoria este uneori curățat, deoarece puterea aparent invizibile mareelor. Așa că a trebuit să scrie în jos valorile parametrilor stocate acolo pe o bucată de hârtie și de a le restaura periodic manual. În ultimii ani, această problemă a devenit un mare exotice - producătorii au învățat să facă baterii de înaltă calitate. De asemenea, astăzi este folosit ca o memorie flash nevolatilă CMOS și puterea este necesară doar pentru a sprijini funcționarea circuitelor logice, inclusiv ore.
Care este problema cu ceasul
Problema este prezența a două ore în sistem: electronice, care lucrează întotdeauna, și ceasul software-ul de sistem BIOS, care numai funcția este activată pe PC. Algoritmul lor de interacțiune arată astfel:
1. La momentul descărcării ceasului software pentru PC ca o valoare inițială ia ceas electronic de timp.
2. La setarea data / ora de utilizator în mod explicit, de corecție corespunzătoare se face ambele ceasuri. Restul ceasului de timp este complet independent unul față de celălalt.
Deci, ceasul software-ul, care este cazul utilizatorul este întotdeauna de lucru în mod corespunzător - de la 1980 la 2099. Dar dau niște eșecuri electronice (nu este clar din ce motiv). În plus, pot exista unele conflicte în activitatea mecanismelor contabile de două ori. Dar ele sunt rezolvate (dacă există), mai degrabă elementar, fără prea mult efort din partea ta.
PC-ul foarte vechi
Pentru a testa această situație, după cum urmează <*>.
Dacă sunteți în măsură să detecteze o eroare așa cum este descris la punctul 2 de mai sus, te sfătuiesc să efectueze un alt experiment.
2. Reporniți calculatorul și verificați data - vezi 01.01.1980.
Dar problema este: de ce o astfel de eroare nu este corectată imediat la nivelul DOS? Este evident că în cazul în care numărul de ceas al anului a raportat în 1980, versiunea DOS, lansat în 1989, ar ghici că cel puțin cere utilizatorului să verifice data. Am putea, dar nu vrea să.
ore Conflictele au continuat
Cu toate acestea, cei care cred că conflictele acest BIOS-DOS / de Windows ajuns la capăt, în acest profund greșită. Vom lua în considerare acum un alt caz, care într-adevăr nu amenință utilizatorul, dar încă mai interesant din punct de vedere al întrebării a ceea ce alte capcane în magazin pentru noi dezvoltatori.
Deci, atunci când data maximă CMOS încetează de a lua doar un an - dupa 31.12.2079 trebuie sa fie 1.1.2079.
Pentru a face față cu posibile probleme, să ne uităm la câteva situații specifice:
După cum puteți vedea, problema cu ceas electronic există, deși este foarte ciudat. Imaginați-vă tipul de companie ar fi eliberarea de ore regulate, care va fi greșit să numeri zilele săptămânii. Poate că cumpărătorii ar fi imediat distrus propriile sale revendicări. În industria de calculatoare ai despre aceasta oferta pentru a face upgrade echipamente sau software pentru upgrade-uri plătite din buzunar. Și toată lumea pare să fie de acord cu acest lucru.
Cu toate acestea, situația este chiar și cu vechea „problema“ BIOS / CMOS nu arată atât de dramatic:
1. În cazul în care ceasul electronic, este suficient să luați-o regulă pentru a le seta manual de fiecare dată când porniți computerul (sau în afara acesteia) nu a funcționat deloc pe PC.
Lung întrebat aceeași echipă puternică de dezvoltatori Microsoft, înainte de procedura de lipire care este descrisă într-o singură linie de cod (în bază):
Dar utilizatorii care lucrează cu „vechi“ OC Microsoft (de exemplu, DOS), nu este necesar pentru a rula pentru a cumpăra un nou sistem - suficient pentru a înregistra codul de mai sus pentru a începe fișierul Autoexec.bat.
Este suficient pentru a scrie un instrument care este format din câteva linii de cod (de exemplu, de bază), care pot înțelege chiar și omul care nu a fost niciodată de programare: