Kaip „Multi-Tasking“ galima atlikti senesnėse „Windows“ versijose?
Atsižvelgiant į tai, kad DOS buvo viena užduočių operacinė sistema ir ryšiai su ankstyvosiomis „Windows“ versijomis, kaip ankstesnėse „Windows“ versijose pavyko pasiekti daug užduočių? Šiandienos „SuperUser“ atsakymų ir atsakymų įrašas nagrinėja atsakymus į šį klausimą.
Šiandienos „Klausimų ir atsakymų“ sesija mums suteikiama pagal „SuperUser“ - „Stack Exchange“ padalinį, bendruomenės sukurtą „Q&A“ svetainių grupavimą.
„Windows 95“ ekrano kopija yra „Wikipedia“.
Klausimas
„SuperUser“ skaitytuvas „LeNoob“ nori sužinoti, kaip senesnės „Windows“ versijos galėjo veikti kaip daugiafunkcinės sistemos ?:
Aš perskaičiau, kad DOS yra vienos užduoties OS. Tačiau jei senesnės „Windows“ versijos (įskaitant ir „Windows 95?“) Buvo tik „DOS“ įvynioklės, kaip jie galėtų veikti kaip daugiafunkcinė OS?
Geras klausimas! Kaip senesnės „Windows“ versijos sugebėjo paleisti kaip kelių užduočių sistemas?
Atsakymas
„SuperUser“ autoriai Bob ir Pete atsako už mus. Pirma, Bob:
„Windows 95“ buvo daug daugiau nei „tik„ vyniojimas “MS-DOS. Cituoti Raymondą Cheną:
- MS-DOS operacinėje sistemoje „Windows 95“ buvo naudojami du tikslai:). & 2.) Jis veikė kaip 16 bitų senųjų įrenginių tvarkyklės sluoksnis.
„Windows 95“ iš tikrųjų užsikabinęs / perregistravo beveik visus „MS-DOS“, laikydamas jį kaip suderinamumo sluoksnį, tuo pat metu atlikdamas visą sunkų kėlimą. Ji taip pat įgyvendino 32-bitų programų prevencinę daugiafunkciją.
Išankstinis „Windows 95“
„Windows 3.x“ ir vyresni buvo dažniausiai 16 bitų (išskyrus „Win32“, tam tikrą suderinamumo sluoksnį, kurį tiltai 16 ir 32, bet mes ignoruosime tai), labiau priklausė nuo DOS ir naudojo tik kooperatyvinį daugiafunkcinį darbą - tai yra ta, kurioje jie nepriverčia paleisti vykdomosios programos; jie laukia, kol veikia programa, kad gautų kontrolę (iš esmės pasakykite „Aš esu padaręs“, nurodydamas OS paleisti kitą programą, kuri laukia).
- Daugiafunkcinis darbas buvo bendradarbiaujantis, kaip ir senose „MacOS“ versijose (nors skirtingai nuo daugiafunkcinio „DOS 4.x“, kuris sudarė daugybę užduočių). Užduotis turėjo duoti operacinei sistemai, kad būtų suplanuota kita užduotis. Derlius buvo pastatytas į tam tikrus API skambučius, ypač pranešimų apdorojimą. Kol užduotis laiku apdorojama, viskas buvo puiki. Jei užduotis nustojo apdoroti pranešimus ir buvo užimta vykdant tam tikrą apdorojimo kilpą, daugiafunkcinis darbas buvo ne daugiau.
„Windows 3.x“ architektūra
Kaip ankstyvosios „Windows“ programos suteiks valdymą:
- „Windows 3.1“ naudoja kooperatyvinę daugialypę užduotį - tai reiškia, kad kiekviena programa, kuri yra vykdoma, yra įpareigota periodiškai tikrinti pranešimų eilę, kad sužinotų, ar bet kuri kita programa prašo naudoti procesoriaus ir, jei taip, kad būtų galima valdyti tą paraišką. Tačiau daugelis „Windows 3.1“ programų tikrintų pranešimo eilę tik retai, ar ne visai, ir monopolizuos procesoriaus valdymą tiek laiko, kiek reikia. Išankstinė daugiafunkcinė sistema, pvz., „Windows 95“, atims procesoriaus valdymą nuo veikiančios programos ir platins ją tiems, kurie turi didesnį prioritetą pagal sistemos poreikius.
Šaltinis
Visi „DOS“ matytų, ar veikia ši „vienintelė“ programa („Windows“ ar kita), kuri leistų kontroliuoti, neišeinant. Teoriškai gali būti, kad daugiafunkcinis išankstinis uždavinys gali būti įdiegtas DOS viršuje naudojant realaus laiko laikrodžio ir aparatinės įrangos pertraukas, kad priverstinai būtų galima kontroliuoti planuotoją. Kaip Tonny komentarai, tai buvo padaryta kai kurių OS, veikiančių DOS viršuje.
386 Patobulintas režimas?
Pastaba: yra keletas komentarų apie 386 patobulintą „Windows 3.x“ režimą, kuris yra 32 bitų, ir remia prevencinį daugiafunkcinį darbą.
Tai įdomus atvejis. Apibendrinant susietą dienoraščio įrašą, 386 patobulintas režimas iš esmės buvo 32 bitų hipervizorius, kuris veikė virtualias mašinas. Viduje vieno iš šių virtualių mašinų veikė „Windows 3.x“ standartinis režimas, kuris atlieka visas pirmiau išvardytas medžiagas.
MS-DOS taip pat veiktų šiose virtualiosiose mašinose, ir, matyt, jie buvo iš anksto daugialypės užduotys - todėl atrodo, kad 386 patobulinto režimo hipervizorius dalinsis procesoriaus laiko skiltelėmis tarp virtualių mašinų (viena iš jų buvo normali 3.x ir kiti, kurie vykdė MS-DOS), ir kiekvienas VM atliks savo dalyką - 3.x bendradarbiautų su daugeliu užduočių, o MS-DOS būtų pavestas vienai užduočiai.
MS-DOS
Pati DOS buvo viena užduotis ant popieriaus, tačiau ji turėjo paramą TSR programoms, kurios liktų fone, kol ją sukels aparatūros pertraukimas. Toli gražu ne tikras daugiašakis darbas, bet ir ne visiškai vienas uždavinys.
Visa tai apie bitų kalbą? Aš paklausiau apie daugiafunkcinį darbą!
Griežtai kalbant, bitų ir daugialypės užduotys nėra viena nuo kitos priklausomos. Bet kokio daugelio užduočių režimas turėtų būti įgyvendinamas bet kuriame bitų tinkle. Tačiau perėjimas nuo 16 bitų procesorių prie 32 bitų procesorių taip pat įvedė kitą aparatūros funkcionalumą, dėl kurio būtų lengviau įgyvendinti daugiafunkcinį darbą..
Be to, kadangi 32 bitų programos buvo naujos, buvo lengviau jas dirbti, kai buvo priverstinai išjungtos - tai galėjo pažeisti senas 16 bitų programas.
Žinoma, tai yra spekuliacija. Jei tikrai norite žinoti, kodėl MS 3.x neįgyvendino prevencinio daugiafunkcinio darbo (nepaisant 386 patobulinto režimo), turėsite paprašyti ką nors, kas ten dirbo.
Taip pat norėjau ištaisyti jūsų prielaidą, kad „Windows 95“ buvo tik „DOS“ pakuotė.
Po to atsako Pete atsakymas:
Šiuolaikinėje operacinėje sistemoje operacinė sistema valdo visus aparatūros išteklius, o veikiančios programos yra laikomos smėlio dėžėse. Programai neleidžiama prisijungti prie atminties, kurios OS nėra priskyrusi šiai programai, ir negali tiesiogiai pasiekti kompiuterio įrangos. Jei reikia prieigos prie aparatinės įrangos, programa turi bendrauti per įrenginių tvarkykles.
OS gali kontroliuoti šią kontrolę, nes jis verčia CPU patekti į saugomą režimą.
Kita vertus, DOS niekada nepatenka į saugomą režimą, bet lieka realiu režimu (*žr. toliau). Tikruoju režimu veikiančios programos gali atlikti viską, ką nori, t.y. tiesiogiai prieiti prie įrangos. Tačiau realiu režimu veikianti programa taip pat gali nurodyti CPU patekti į apsaugotą režimą.
Ir ši paskutinė dalis leidžia programoms, tokioms kaip „Windows 95“, pradėti daugialypę aplinką, nors jos iš esmės buvo paleistos iš DOS.
„DOS“ („Disk Operating System“), kiek aš žinau, nebuvo daug daugiau nei failų valdymo sistema. Ji suteikė rinkmenų sistemą, mechanizmus, skirtus naršyti failų sistemoje, keletą įrankių ir galimybę paleisti programas. Ji taip pat leido kai kurioms programoms palikti gyventojus, t. Y. Pelės tvarkykles ir EMM emuliatorius. Tačiau ji nesistengė kontroliuoti kompiuterio įrangos, kaip veikia moderni OS.
*Kai DOS pirmą kartą buvo sukurtas aštuntajame dešimtmetyje, CPU nebuvo saugomo režimo. Iki 80286 m. Procesoriaus 1980-ųjų viduryje apsaugotas režimas tapo CPU dalimi.
Įsitikinkite, kad naršote per pradinę temą ir perskaitykite gyvą diskusiją šia tema naudodami toliau pateiktą nuorodą!
Ar ką nors papildyti paaiškinimu? Garsas išjungtas komentaruose. Norite perskaityti daugiau atsakymų iš kitų „tech-savvy Stack Exchange“ vartotojų? Čia rasite visą diskusijų temą.