Windows 95 kiire taaskäivitamise trikk, mis varjas keerulist inseneritööd

Viimane uuendus: 16.01.2024

  • Windows 95-l oli peidetud kiire taaskäivitus, mille sai käivitada taaskäivitamise ajal Shift-klahvi all hoides.
  • Süsteem ei sulgunud täielikult: see sulges 16-bitise kerneli, 32-bitise mäluhalduri ja andis juhtimise tagasi win.com-ile.
  • Fail win.com üritas keeruka ja habras protsessi abil taastada keskkonda ja mälu, et taaskäivitada Windows kaitstud režiimis.
  • See idee eeldab tänapäeva Windowsi kiire käivitamise kontseptsiooni, kuigi sellega kaasnevad ebastabiilsuse ja võimalike rikete riskid.

Kolmkümmend aastat pärast selle turuletoomist, Windows 95 tekitab jätkuvalt arutelusidLisaks tegumiribale ja menüüle Start peitis see süsteem nippi, mida paljud kasutasid, teadmata tegelikult, mis seal sees toimus: a kiire taaskäivitamine saladus, mis aktiveeriti lihtsalt Shift-klahvi all hoides taaskäivitamisel.

Need, kes teda tundsid, nägid sõnumit ilmumas «Palun oodake, kuni Windows taaskäivitub„” või „Windows taaskäivitub” ja mõne sekundi pärast oleks töölaud jälle töökorras, ilma et oleks pidanud läbima täieliku väljalülitamise ja külmkäivituse rituaali. Aastaid jäi see mõnevõrra salapäraseks anekdoodiks, kuni Microsofti veteranist insener Raymond Chen seda üksikasjalikult selgitas. mis selle protsessi käigus tegelikult toimus oma tehnilises blogis The Old New Thing.

Windows 95 varjatud kiire taaskäivitamine

Kiire taaskäivitamine Windows 95-s

Trikki oli sama lihtne aktiveerida kui halvasti dokumenteeritud: Piisas Shift-klahvi all hoidmisest Menüüst Start taaskäivitusvaliku valimisel käivitas Windows kogu süsteemi sulgemise ja taaskäivitamise asemel alternatiivse tee, mis kuvas teate "Palun oodake, kuni Windows taaskäivitub" ja naasis töölauale palju varem kui tavaliselt.

Üheksakümnendatel, kui mehaanilised kõvakettad olid normiks ja iga taaskäivitamine võis võtta mitu minutit, oli see kiirem jõudlus teretulnud abiks, eriti Euroopa kontorites ja kodudes, kus Masinad eksisteerisid koos DOS-i rakenduste ja 16-bitise tarkvaraga.Paljud kasutajad uskusid, et see on lihtne otsetee ilma suurema teaduseta, kuid tegelikkuses varjas see üsna keerukat sisemist järjestust.

Raymond Chen selgitab, et võti oli vana ExitWindows-funktsiooniga seotud erilippSee pärines 16-bitisest keskkonnast. Kui süsteem tuvastas Shift-klahvi abil taaskäivitamise, ei käskinud see arvutit täielikult taaskäivitada, vaid pigem piiratumalt: sulgeda Windows ja taaskäivitada see ilma kogu riistvara lähtestamata.

Eksklusiivne sisu – klõpsake siin  Kuidas viiruseid käsitsi eemaldada

Selle otsetee lubamisega algatas Windows väga spetsiifilise sammude jada. Esiteks 16-bitine kernelsiis see peatus 32-bitine virtuaalmälu haldur Seejärel naaseb protsessor niinimetatud "reaalrežiimi", mis on x86 protsessorite kõige elementaarsem töörežiim. Sel hetkel pöördub juhtimine tagasi alglaadimisfaili juurde. win.com sisemise signaaliga, mis oli samaväärne küsimusega: "Kas saate Windowsi uuesti kaitstud režiimis käivitada?"

Sellest hetkest alates võttis win.com üle ja kuvas teksti "Windows taaskäivitub", püüdes keskkonda taastada nii, nagu oleks süsteem See on just nullist käivitatudaga ilma kogu standardset väljalülitustsüklit läbimata.

Mida täpselt win.com kiire taaskäivituse ajal tegi?

Windows 95 kiire taaskäivitamise sisemine protsess

Fail win.com oli idufirma keskne osa Windows 95-st. See oli assemblerkeeles kirjutatud .com-programm, mis vastutas DOS-i peal graafilise keskkonna käivitamise eest. Kiire taaskäivituse kontekstis oli selle roll veelgi olulisem, sest see pidi simuleerima puhast käivitust süsteemist, mis tegelikkuses polnud täielikult välja lülitunud.

Cheni sõnul sai win.com pärast protsessori reaalrežiimi naasmist spetsiaalse juhise ja jätkas lähtesta mitu globaalset muutujat ja käsurea parameetreid, et taastada nende algsed väärtused, justkui programm töötaks esimest korda. See oli keeruline sisemine "torutööde" töö just seetõttu, et kõik programmeeriti assemblerkeeles, ilma tänapäevaste abstraktsioonikihtideta.

.com-laiendiga failid, näiteks win.com, laaditi vaikimisi ja hõivasid kogu saadaolev tavamäluKuid antud juhul vabastas programm peaaegu kogu oma mälust allesjäänud mälu, eesmärgiga jätta alles suur ja ühtne plokk, kuhu Windowsi saaks kaitstud režiimis uuesti laadida. See manööver oli kiire taaskäivitamise sujuvaks toimimiseks hädavajalik.

Probleem tekkis siis, kui seansi ajal teine taustaprogramm See kasutas osa mälust, mille win.com oli eraldanud. Kui tarkvara, draiver või mõni muu utiliit selle ruumi hõivas, jäi tavamälu kättesaadavaks. killustatud ja algse keskkonna taastamise katse ei olnud enam teostatav. Sellistel juhtudel ei saanud kiiret taaskäivitust kavandatud viisil lõpule viia.

Eksklusiivne sisu – klõpsake siin  Kuidas taastada oma Apple ID parool

Kui mälu oleks piisavalt puhas ja korrastatud, hüppaks win.com otse koodiosasse, mis vastutab Taaskäivitage Windows kaitstud režiimisvirtuaalmasina halduri ja 32-bitiste kihtide taasloomine. Kasutaja näeks peagi töölauda ja tal oleks mulje, et ta on suure osa protsessist salvestanud, ja just nii see ka juhtus.

Nutikas lahendus, aga habras ja mõnevõrra riskantne.

Salajane taaskäivitustrikk Windows 95-s

Kogu see mehhanism võimaldas käivitusaega sekundite või isegi minutite võrra lühendada, kuid sellel oli oma hind. Microsoft ise oli teadlik, et tegemist oli ajutise lahendusega. leidlik, aga delikaatne, väga tüüpiline ajastule, kus tagasiühilduvus ja mälu äärmuslik kasutamine kaalusid üles disaini elegantsi.

Chen meenutab, et kiire taaskäivitamine ei olnud mõeldud täielikult turvalise ja massikasutusega funktsioonina, vaid pigem süsteemi võimekusena. mitteametlikult ära kasutatudMõnede tavapäraste käivituskontrollide tegemata jätmisega võib süsteem sattuda ettearvamatutesse olekutesse, kui miski ei taaskäivita korralikult.

Eriti ebameeldivates olukordades võib fail win.com sattuda taaskäivitussilmus Süsteemi oli raske peatada või jätta nii ebastabiilsesse olekusse, et see oleks nõudnud Windows 95 täielikku taasinstallimist. Mõned kasutajad teatasid krahhidest või vigadest pärast mitut järjestikust kiiret taaskäivitamist, tõenäoliselt seetõttu, et teatud draiverid ei naasnud täielikult järjepidevasse olekusse.

Teine paljastav detail sellest ajastust oli mälu kokkusurumise viis: osad win.com-i enda koodist olid nad taaskasutasid seda globaalsete muutujate ruuminaSisenemispunkti esimesed baidid, mida käivitati ainult üks kord, taaskasutati andmete salvestamiseks eeldusel, et seda fragmenti ei kasutata enam kunagi. Kiire taaskäivitamise kontekstis ei naasnud täitmisvoog sellesse punkti, seega said arendajad sellise "triki" abil ilmsete tagajärgedeta pääseda.

Tänapäeva vaatenurgast võib see tunduda hoolimatu manööverina, kuid Windows 95 tippajal oli see pragmaatiline viis olukorraga toimetulekuks. tavapärase mälu piirid ja 16-bitiste ja 32-bitiste keskkondade vajalik kooseksisteerimine. Pole üllatav, et neid sisemisi marsruute avalikkusele laialdaselt ei avalikustatud.

Eksklusiivne sisu – klõpsake siin  Kuidas teada saada, milline MacBook mul on

Windows 95-st tänapäeva kiirete idufirmadeni

Windows 95 kiire taaskäivitamine

Selle kiire lähtestamise taga peituv filosoofia pole kuhugi kadunud. Tegelikult suur osa Microsofti praegustest süsteemidestnäiteks Windows 10 või 11 Need hõlmavad kiiret käivitamist mis, kuigi mitte täpselt sama, taotleb sarnast eesmärki: vältige täielikku käivitust iga kord, kui kasutaja arvuti sisse lülitab.

Süsteemi tänapäevastes versioonides on tehnika erinev. Selle asemel, et loota programmile nagu win.com ja protsessori reaalrežiimile, on kernel ja peamised draiverid... Need salvestatakse talveunefailiKui seadme sisse lülitate, Süsteem ei ehita kõike nullist uuesti üles, vaid taastab salvestatud oleku., lõigates välja suure osa initsialiseerimisetappidest.

Hispaania või mõne muu Euroopa riigi keskmise kasutaja jaoks tähendab see, et arvuti läheb väljalülitatud olekust tööle sekunditega, mis oli mõeldamatu ajal, mil Windows 95 eksisteeris koos aeglaste kõvaketaste ja ühilduvusparandustest tulvil arhitektuuridega. Kuid nagu ka Shift-klahvi triki puhul, See pole kõik eelised..

Moodne kiire algus See võib põhjustada konflikte, kui teatud kontrollerid või välised seadmed ei ühildu selle "pooleldi" olekuga väljalülituse ja talveunerežiimi vahel.Näiteks, Microsoft parandas Windows 11 vea, mis takistas arvuti sulgemistMõned edasijõudnud kasutajad otsustavad funktsiooni stabiilsusprobleemide korral keelata või sunnivad arvuti täielikult välja lülitama, kui neil on vaja rakendada kriitilisi süsteemi- või riistvaramuudatusi.

Igal juhul aitab Raymond Cheni selgitus Windows 95 kiire taaskäivitamise kohta mõista, kuidas teatud ideed on... vastu pidanud aastakümneid Windowsi arengus. See, mis üheksakümnendatel tehti ExitWindowsi lippude, win.com-i ja tavapärase mäluga, saavutatakse tänapäeval talveunefailide ja 64-bitiste kernelidega, aga Eesmärk jääb samaks: lühendada ooteaegu ilma stabiilsust ülemäära kahjustamata..

See Vana nipp, kus taaskäivitamise ajal hoitakse all Shift-klahvi, võtab Windows 95 ajastu ideaalselt kokku.Süsteem, mis on loodud ühilduvuse, jõudluse ja tehniliste piirangute tasakaalu silmas pidades ning suudab peita lähtestamismehhanismi lihtsa liidese taha. sama kiire kui keerukas ja samal ajal üllatavalt habras.

Kuidas ilma BIOS-i sisenemata kindlaks teha, kas Windowsi probleemi põhjustab BIOS
Seotud artikkel:
Kuidas ilma BIOS-i sisenemata kindlaks teha, kas Windowsi probleemi põhjustab BIOS