12Sep

Kako je bilo mogoče v večjih različicah operacijskega sistema Windows Multi-Tasking mogoče?

click fraud protection

Glede na to, da je bil DOS enosmerni operacijski sistem in povezave z zgodnjimi različicami operacijskega sistema Windows, kako so starejše različice sistema Windows uspele doseči večopravilnosti? Današnji SuperUser Q & A post obravnava odgovore na to vprašanje.

Današnje vprašanje &S sejo odgovora prihaja uporaba SuperUserja, ki je razdeljena na Stack Exchange, skupinsko spletno stran Q & A.

Windows 95 zaslona zaslona Wikipedije.

Vprašalnik

SuperUser bralnik LeNoob želi vedeti, kako starejše različice operacijskega sistema Windows lahko delujejo kot sistemi z več opravili? :

Prebral sem, da je DOS operacijski sistem z enim nalogom.Če pa so starejše različice operacijskega sistema Windows( vključno s sistemom Windows 95?) Bile samo ovitki za DOS, kako lahko delujejo kot večdelni operacijski sistem?

Dobro vprašanje! Kako so starejše različice sistema Windows delovale kot sistemi z več nalogami?

Odgovorni sodelavci

SuperUser imajo odgovor za nas Bob in Pete. Najprej, Bob:

instagram viewer

Windows 95 je bil veliko več kot "samo ovitka" za MS-DOS.Citat Raymond Chen:

  • MS-DOS je služil v dveh namenih v operacijskem sistemu Windows 95: 1.) Delal je kot zagonski nalagalnik.&2.) Deloval je kot 16-bitni zastareli gonilnik naprave.

Windows 95 je dejansko zasvojen / prevladal skoraj vse MS-DOS, saj ga ohranja kot sloj združljivosti, medtem ko počne vse težko dviganje samega sebe. Izvajal je tudi predpristopno multi-tasking za 32-bitne programe.

Pre-Windows 95

Windows 3.x in starejši so bili večinoma 16-bitni( z izjemo Win32s, vrsta sloja združljivosti, ki prečka 16 in 32, toda to bomo prezrli), so bili bolj odvisni od DOS-a inuporabil samo zadruge, ki so večkrat zadolženi - to je tisto, v katerem ne izvajajo tekočega programa za preusmeritev;počakajo, da bi tekoči program prinesel nadzor( v bistvu recite, da sem storil z ukazom OS, da zaženem naslednji program, ki čaka).

  • Multi-tasking je bil zadružen, tako kot pri starih različicah MacOS-a( čeprav v nasprotju z Multi-tasking DOS 4.x, ki je igrala večkratno nalogo).Naloga je morala prinesti operacijski sistem, da razporedi drugo nalogo. Donosi so bili vgrajeni v določene klice API, zlasti v obdelavo sporočil. Dokler je naloga pravočasno obdelala sporočila, je bilo vse super.Če je naloga prenehala obdelovati sporočila in je bila zapolnjena z izvajanjem določene zanke za obdelavo, več nalog ni bilo več.

Windows 3.x Arhitektura

Kar zadeva zgodnejše programe Windows:

  • Windows 3.1 uporablja skupne večopravilnosti - kar pomeni, da se vsaki aplikaciji, ki je v teku, naroči, da redno preverja čakalno vrsto sporočil, da ugotovi, ali obstajadruga aplikacija zahteva uporabo CPU-ja in, če je tako, da nadzoruje to aplikacijo. Vendar pa bi mnoge aplikacije Windows 3.1 preverjale čakalno vrsto sporočil samo redko ali sploh ne, in monopolizirale nadzor nad CPU toliko časa, kolikor je bilo potrebno. Predpogojni sistem z več nalogami, kot je Windows 95, bo nadzor CPU oddaljen od tekoče aplikacije in ga razdelil tistim, ki imajo večjo prednost glede na potrebe sistema.

Vir

Vsi DOS bi videli, ali je ta ena aplikacija( Windows ali druga) teče, kar bi preneslo nadzor, ne da bi zapustili. V teoriji se lahko prednostno večopravilnost izvede poleg DOSa tudi z uporabo urokov in strojnih prekinitev v realnem času, da se prisilno nadzoruje načrtovalniku. Kot komentira Tonny, so to dejansko naredili nekateri operacijski sistemi, ki se izvajajo na vrhu DOS-a.

386 izboljšan način?

Opomba: pri 386 izboljšanem načinu operacijskega sistema Windows 3.x je bilo 32-bitnih komentarjev in podprtih večkratnih opravil.

To je zanimiv primer.Če povzamemo povezan dnevnik, je bil 386 izboljšan način v bistvu 32-bitni hipervizor, ki je uporabljal virtualne naprave. Znotraj ene od teh virtualnih naprav je bil uporabljen standardni način Windows 3.x, ki opravlja vse zgoraj naštete stvari.

MS-DOS bi teče tudi v navideznih računalnikih, in očitno so bili vnaprej večopravilni, zato se zdi, da bo sinhronizator 386 izboljšanega načina delil CPU časovne rezine med virtualnimi stroji( eden od njih je imel običajno 3.xin drugi, ki so vodili MS-DOS), in vsak VM bo naredil svojo lastno stvar - 3.x bi sodeloval večkratno, MS-DOS pa bi bil enostranski.

MS-DOS

DOS sam je bil na papirju enostranski, vendar je imel podporo za programe TSR, ki bi ostali v ozadju, dokler ga ne bi prekinil strojna prekinitev. Daleč od resnične večopravilnosti, vendar ne v celoti z enim samim nalogom.

Vse to govori o bitnosti? Vprašal sem se o večnamenskih opravilih!

No, strogo rečeno, bitnost in večopravilnosti nista odvisna drug od drugega. Omogočiti bi bilo treba kakršenkoli večuporabniški način v kateri koli bitnosti. Vendar pa je prehod s 16-bitnih procesorjev na 32-bitne procesorje uvedel tudi drugo funkcionalnost strojne opreme, ki bi lahko olajšala implementacijo večkratnih opravil.

Ker so bili 32-bitni programi novi, je bilo lažje priti do dela, ko so bili prisilno izklopljeni, kar je morda zdrobilo nekatere starejše 16-bitne programe.

Seveda je to vse špekulacije.Če res želite izvedeti, zakaj MS v sistemu Windows 3.x( 386 izboljšanih načinov) ni izvedel večkratnih opravil z več nalogami, boste morali vprašati nekoga, ki je tam delal.

Prav tako sem hotel popraviti vašo predpostavko, da je bila Windows 95 samo ovojnica za DOS.

Sledi odgovor podjetja Pete:

V sodobnem operacijskem sistemu operacijski sistem nadzoruje vse vire strojne opreme in teče aplikacije v peskovniku. Aplikaciji ni dovoljeno dostopati do pomnilnika, ki ga OS ni dodelil tej aplikaciji, in ne more neposredno dostopati do strojnih naprav v računalniku.Če je potreben strojni dostop, mora aplikacija komunicirati prek gonilnikov naprav.

OS lahko uveljavi ta nadzor, ker prisili CPU, da vstopi v zaščiten način.

DOS na drugi strani nikoli ne vstopa v zaščiten način, vendar ostane v pravem načinu( * glej spodaj).V realnem načinu lahko tekoče aplikacije izvajajo vse, kar želijo, tj. Neposredno dostopajo do strojne opreme. Toda aplikacija, ki se izvaja v realnem načinu, lahko tudi pove CPU, da vstopi v zaščiteni način.

In ta zadnji del omogoča aplikacijam, kot je Windows 95, za zagon večnitnega okolja, čeprav so bili v osnovi uvedeni iz DOS-a.

DOS( Disk Operating System) je bil, kolikor vem, ni veliko več kot sistem za upravljanje datotek. Zagotovil je datotečni sistem, mehanizme za navigacijo datotečnega sistema, nekaj orodij in možnost zagona aplikacij. Prav tako je omogočilo, da nekatere aplikacije ostanejo rezidenti, to so gonilniki miške in emulatorji EMM.Vendar pa ni poskušal nadzirati strojne opreme v računalniku, kot to počne sodoben OS.

* Ko je bil DOS prvič ustvarjen v sedemdesetih letih, v procesorju ni bilo zaščitenega načina.Šele ko je 80286 procesor sredi 1980-ih, je zaščiteni način postal del procesorja.

Poskrbite, da boste brskali po prvotni nit in prebrali živahno razpravo o tej temi s spodnjo povezavo!

Ali želite dodati nekaj pojasnila? Zvok v komentarjih.Želite prebrati več odgovorov od drugih uporabniških članov stack Exchange? Oglejte si celotno temo za razpravo tukaj.