12Sep

Kako je moguće više zadataka u starijim verzijama sustava Windows?

click fraud protection

S obzirom da je DOS bio OS zadatak i poveznice s ranijim verzijama sustava Windows, kako su ranije verzije sustava Windows uspjele ostvariti višestruko zadatke? Današnji SuperUser Q & A post gleda odgovore na ovo pitanje.

Današnje pitanje &Sesija odgovora nam dolazi zahvaljujući SuperUseru - podjele Stack Exchange-a, grupiranjem zajednice Q & A web stranica.

Windows 95 screenshot ljubaznošću Wikipedije.

Pitanje

SuperUser čitač LeNoob želi znati kako su starije verzije sustava Windows bile u mogućnosti izvoditi kao sustave s više zadataka?

Čitao sam da je DOS jedan operacijski sustav. Ali ako su starije verzije sustava Windows( uključujući i Windows 95?) Bile samo omotnice za DOS, kako se mogu izvoditi kao operacijski sustav s više zadataka?

Dobro pitanje! Kako su starije verzije sustava Windows uspjele raditi kao sustavi s više zadataka?

Odgovor

SuperUser suradnici Bob i Pete imaju odgovor za nas. Prvo, Bob:

Windows 95 bio je mnogo više nego "samo omot" za MS-DOS.Citirano Raymond Chen:

instagram viewer
  • MS-DOS je poslužio dvije svrhe u sustavu Windows 95: 1.) Služio je kao utovarivač čizma.& Amp;2.) Djelovao je kao 16-bitni naslijeđeni sloj pogonskog uređaja.

Windows 95 zapravo je zakačen / prebacio gotovo sve MS-DOS, čuvajući ga kao sloj kompatibilnosti dok je radio samo sam težak podizanje. Također je implementirao preemptivan multi-tasking za 32-bitne programe.

Pre-Windows 95

Windows 3.x i starije uglavnom su bile 16-bitne( s izuzetkom Win32s, sloja kompatibilnosti koji povezuju mostove 16 i 32, no ovdje ćemo zanemariti), više su bili ovisni o DOS-u ikoristili su samo kooperativni multi-tasking - to je onaj u kojem ne prisiljavaju pokrenuti program za isključivanje;oni čekaju da pokrenuti program donosi kontrolu( u osnovi, recite "Ja sam učinio" tako što su OS-u pokrenuli sljedeći program koji čeka).Multi-tasking

  • bio je surađivao, baš kao u starim verzijama MacOS-a( iako za razliku od multi-zadataka DOS 4.x, koji je vodio predostrožnost višestrukog zadatka).Zadatak je morao dati OS-u da bi zakazao drugačiji zadatak. Prinosi su ugrađeni u određene API pozive, osobito obradu poruka. Sve dok je zadatak pravovremeno obrađivao poruke, sve je bilo sjajno. Ako je zadatak prekinuo obradu poruka i bio je zauzet izvršavanjem neke petlje za obradu, više zadataka nije bilo više.

Windows 3.x Arhitektura

Što se tiče rane verzije sustava Windows:

  • Windows 3.1 koristi zadružno višestruko zadatke - što znači da se svaka aplikacija koja je u tijeku upućuje da redovito provjerava red čekanja poruke kako bi saznali postoji li nekidruga aplikacija traži korištenje CPU-a i, ako da, daje kontrolu nad tom aplikacijom. Međutim, mnoge aplikacije u sustavu Windows 3.1 redovito bi provjeravale red čekanja poruka, ili uopće nisu, i monopolizirale upravljanje CPU-om onoliko dugo koliko im je potrebno. Preemptivni sustav s više zadataka poput sustava Windows 95, odvest će CPU nadzor od pokretne aplikacije i distribuirati ga onima koji imaju veći prioritet na temelju potreba sustava.

Izvor

Sve DOS će vidjeti da je ovaj pojedinačni program( Windows ili drugi) pokrenut, koji će proći kontrolu oko bez izlaska. Teoretski, preemptivni višedjelni zadatak može se provesti na vrhu DOS-a ionako uz upotrebu satova i hardverskih prekida u stvarnom vremenu kako bi prisilno dali kontrolu rasporedu. Kao što je Tonny napisao, to je zapravo učinio neki OS koji su prikazivali na vrhu DOS-a.

386 Enhanced Mode?

Napomena: bilo je nekoliko komentara na 386 poboljšani način rada sustava Windows 3.x koji je 32-bitni i podržava prednabijanje višestrukih zadataka.

Ovo je zanimljiv slučaj. Da biste saželi povezani blog post, 386 poboljšani način rada bio je u osnovi 32-bitni hipervisor, koji je vodio virtualne strojeve. Unutar jednog od tih virtualnih strojeva pokrenut je standardni način rada Windows 3.x, koji sadrži sve gore navedene stvari.

MS-DOS bi se također pokrenuo unutar tih virtualnih strojeva, i očito su bili pre-emptively multi-zadani - tako da čini se da 386 poboljšani način hypervisor će dijeliti CPU vrijeme slices između virtualnih strojeva( od kojih jedan je vodio normalno 3.xi drugi koji su pokrenuli MS-DOS), a svaka VM će napraviti svoju stvar - 3.x će kooperativno imati više zadataka, a MS-DOS će biti jednim zadatkom.

MS-DOS

DOS je bio samostalni zadatak na papiru, ali je imao podršku za TSR programe koji će ostati u pozadini sve dok se ne pokrene hardware prekid. Daleko od istinskog višestrukog zadatka, ali ne i potpuno samostalno.

Sve ovo govoriti o bit-ness? Pitao sam se za više zadataka!

Pa, strogo govoreći, bit-ness i multi-tasking ne ovise jedni o drugima. Trebalo bi biti moguće provesti bilo koji način rada s više zadataka u bilo kojem trenutku. Međutim, preseljenje od 16-bitnih procesora do 32-bitnih procesora uvelo je i druge hardverske funkcionalnosti koje bi mogle omogućiti lakše implementaciju prevencijskog višedjelnog zadatka.

Također, budući da su 32-bitni programi bili novi, bilo je lakše dovesti ih da rade kad su prisilno isključeni - što je možda pokvarilo neke naslijeđene 16-bitne programe.

Naravno, ovo je sve spekulacije. Ako zaista želite znati zašto MS nije implementirao preemptivni višedjelni rad u sustavu Windows 3.x( bez obzira na 386 napredni način rada), morat ćete tražiti nekoga tko je tamo radio.

Također sam htio ispraviti vašu pretpostavku da je Windows 95 samo omot za DOS.

Slijedi odgovor tvrtke Pete:

U suvremenom operacijskom sustavu operativni sustav kontrolira sve hardverske resurse, a pokrenute aplikacije čuvaju se u sandboxovima. Aplikaciji nije dopuštena pristup memoriji koju OS nije dodijelio tom programu i ne može izravno pristupiti hardverskim uređajima na računalu. Ako je potreban hardverski pristup, aplikacija mora komunicirati putem upravljačkih programa uređaja.

OS može potaknuti ovu kontrolu jer prisiljava CPU da uđe u zaštićeni način rada.

DOS, s druge strane, nikada ne ulazi u zaštićeni način rada, ali ostaje u stvarnom načinu rada( * vidi dolje).U stvarnom načinu, pokrenute aplikacije mogu izvesti sve što želi, tj. Izravno pristupiti hardveru. No, aplikacija koja se izvodi u stvarnom načinu rada može također reći CPU da uđe u zaštićeni način rada.

I ovaj posljednji dio omogućuje aplikacijama kao što je Windows 95 za pokretanje višesmjernog okruženja iako su u osnovi pokrenuta iz DOS-a.

DOS( Disk Operating System) bio je, koliko ja znam, puno više od sustava za upravljanje datotekama. Dostavio je datotečni sustav, mehanizme za navigaciju datotečnim sustavom, nekoliko alata i mogućnost pokretanja aplikacija. To je također omogućilo nekim aplikacijama da ostanu prebivališta, tj. Miša vozača i EMM emulatori. Ali nije pokušao kontrolirati hardver u računalu onako kako moderni operacijski sustav radi.

* Kada je DOS prvi put stvoren u 1970-ima, zaštićeni način rada nije postojao u CPU-u. Tek 80286 procesor sredinom 1980-ih godina kada je zaštićeni način postao dio CPU-a.

Obavezno pregledajte izvornu nit i pročitajte živahnu raspravu o ovoj temi pomoću veze u nastavku!

Imate li nešto za objašnjenje? Zvuči u komentarima.Želite li pročitati više odgovora od drugih tehnoloških korisnika Stack Exchangea? Pogledajte ovdje cijelu raspravu.