Mājas lapa » » Kā bija iespējams veikt vairāku uzdevumu veikšanu vecākās Windows versijās?

    Kā bija iespējams veikt vairāku uzdevumu veikšanu vecākās Windows versijās?

    Ņemot vērā, ka DOS bija viena uzdevuma operētājsistēma un saiknes ar Windows agrākajām versijām, kā Windows iepriekšējās versijās izdevās izpildīt daudzuzdevumu? Šodienas SuperUser Q&A ziņa aplūko atbildes uz šo jautājumu.

    Šodienas jautājumu un atbilžu sesija mums dod pieklājību no SuperUser-Stack Exchange apakšnodaļas, kas ir kopienas orientēta Q & A tīmekļa vietņu grupa.

    Windows 95 ekrānuzņēmums pieklājīgi no Wikipedia.

    Jautājums

    SuperUser lasītājs LeNoob vēlas uzzināt, kā vecākas Windows versijas varēja darboties kā daudzuzdevumu sistēmas?

    Es izlasīju, ka DOS ir viena uzdevuma OS. Bet, ja vecākas Windows versijas (arī Windows 95?) Bija tikai DOS iesaiņojumi, kā tās var darboties kā daudzuzdevumu operētājsistēma?

    Labs jautājums! Kā vecākās Windows versijas izdevās darboties kā daudzuzdevumu sistēmas?

    Atbilde

    SuperUser dalībniekiem Bob un Pete ir atbilde. Vispirms, Bob:

    Windows 95 bija daudz vairāk nekā tikai „iesaiņojums” MS-DOS. Citējot Raymond Chen:

    • MS-DOS operētājsistēmā Windows 95 bija divi mērķi: 1.) Tā kalpoja kā boot loader. & 2.) Tā darbojās kā 16 bitu veco ierīču draivera slānis.

    Windows 95 faktiski sasprindzināja / pārspīlēja gandrīz visus MS-DOS, saglabājot to kā saderības slāni, veicot visu smago pacelšanu. Tā ieviesa arī vairāku uzdevumu veikšanu 32 bitu programmās.

    Iepriekš Windows 95

    Windows 3.x un vecāki bija lielākoties 16 biti (izņemot Win32s, sava veida saderības slāni, kurus tilti 16 un 32, bet mēs to ignorēsim), bija vairāk atkarīgi no DOS un izmantoja tikai sadarbības uzdevumus - tā ir tāda, kurā tie nepiespiež darbojošos programmu pārslēgties; viņi gaida, līdz darbojas programma, lai panāktu kontroli (būtībā sakiet, ka esmu gatavs), paziņojot operētājsistēmai palaist nākamo programmu, kas gaida).

    • Daudzuzdevumu veikšana bija kooperatīva, tāpat kā vecās MacOS versijās (lai gan atšķirībā no daudzuzdevumu DOS 4.x, kas veicināja vairāku uzdevumu veikšanu). Uzdevumam bija jāsniedz OS, lai ieplānotu citu uzdevumu. Ienesīgums tika iebūvēts dažos API zvanos, īpaši ziņu apstrādē. Kamēr uzdevums apstrādāts laikus, viss bija lieliski. Ja uzdevums pārtrauca ziņojumu apstrādi un bija aizņemts, izpildot kādu apstrādes ciklu, vairāku uzdevumu veikšana vairs nebija.

    Windows 3.x arhitektūra

    Attiecībā uz to, cik agri Windows programmas nodrošinās kontroli:

    • Windows 3.1 izmanto kooperatīvu daudzuzdevumu - tas nozīmē, ka katrai lietojumprogrammai, kas darbojas, tiek uzdots periodiski pārbaudīt ziņu rindu, lai noskaidrotu, vai kāda cita lietojumprogramma prasa CPU izmantošanu, un, ja tā ir, lai nodrošinātu kontroli, šo pieteikumu. Tomēr daudzas Windows 3.1 lietojumprogrammas ziņojuma rindu pārbaudītu tikai reti vai vispār, un monopolizētu CPU kontroli tik daudz laika, cik nepieciešams. Iepriekšēja daudzfunkcionāla sistēma, piemēram, Windows 95, veiks CPU vadību prom no darbības programmas un izplatīs to tiem, kuriem ir lielāka prioritāte, pamatojoties uz sistēmas vajadzībām.

    Avots

    Visi DOS redzētu, vai šī vienīgā lietojumprogramma (Windows vai cita) darbojas, kas varētu kontrolēt to bez iziešanas. Teorētiski, priekšlaicīga daudzuzdevumu veikšana, iespējams, var tikt ieviesta DOS augšpusē, izmantojot reālā laika pulksteni un aparatūras pārtraukumus, lai piespiedu kārtā dotu kontroli plānotājam. Kā Tonny komentāri, to faktiski veica dažas operētājsistēmas, kas darbojas DOS virspusē.

    386 Uzlabota režīms?

    Piezīme: ir bijuši daži komentāri par 386 uzlaboto Windows 3.x režīmu, kas ir 32 biti, un atbalstot priekšnoteikumu vairāku uzdevumu veikšanai.

    Tas ir interesants gadījums. Apkopojot saistīto blogu ierakstu, 386 uzlabots režīms būtībā bija 32 bitu hipervizors, kas darbojās virtuālās mašīnas. Vienā no šīm virtuālajām mašīnām darbojās Windows 3.x standarta režīms, kas dara visu iepriekš minēto.

    MS-DOS darbosies arī šajās virtuālajās mašīnās, un, acīmredzot, tie bija vairāku uzdevumu priekšmeti - tāpēc šķiet, ka 386 uzlabotā režīma hipervizors dalīs CPU laika šķēles starp virtuālajām mašīnām (viena no tām bija normāla 3.x un citi, kas darbojās MS-DOS), un katrs VM darīs savu lietu - 3.x sadarbotos vairāku uzdevumu veikšanā, bet MS-DOS būtu viens uzdevums.

    MS-DOS

    DOS pats par sevi bija viens uzdevums uz papīra, bet tam bija atbalsts TSR programmām, kas paliktu fonā, līdz to izraisīs aparatūras pārtraukums. Tikai tālu no īsta daudzuzdevumu veikšanas, bet ne arī pilnīgi viena uzdevuma.

    Tas viss runā par mazliet? Es jautāju par daudzuzdevumu!

    Stingri runājot, bit-ness un daudzuzdevumu veikšana nav atkarīgi viens no otra. Jebkurā bitlietošanas režīmā jābūt iespējai īstenot jebkuru daudzuzdevumu režīmu. Tomēr pāreja no 16 bitu procesoriem uz 32 bitu procesoriem ieviesa arī citu aparatūras funkcionalitāti, kas būtu ļāvusi vieglāk īstenot vairāku uzdevumu veikšanu..

    Turklāt, tā kā 32 bitu programmas bija jaunas, bija vieglāk tās darboties, kad tās tika piespiedu kārtā izslēgtas - kas, iespējams, ir bojājušas dažas mantojuma 16 bitu programmas.

    Protams, tas ir spekulācijas. Ja tiešām vēlaties uzzināt, kāpēc MS 3.x operētājsistēmā nav īstenojusi vairāku uzdevumu veikšanu (neatkarīgi no 386 uzlabotā režīma), jums būs jājautā kāds, kas tur strādā.

    Tāpat es gribēju labot jūsu pieņēmumu, ka Windows 95 bija tikai DOS iesaiņojums.

    Seko atbilde no Pete:

    Mūsdienu operētājsistēmā operētājsistēma kontrolē visus aparatūras resursus, un lietojumprogrammas tiek glabātas smilšu kastēs. Lietojumprogrammai nav atļauts piekļūt atmiņai, ko OS nav piešķīrusi šai lietojumprogrammai, un tā nevar tieši piekļūt datora aparatūras ierīcēm. Ja ir nepieciešama aparatūras piekļuve, lietojumprogrammai ir jādarbojas, izmantojot ierīces draiverus.

    OS var īstenot šo kontroli, jo tas liek CPU ieiet aizsargātā režīmā.

    No otras puses, DOS nekad nenonāk aizsargātajā režīmā, bet paliek reālā režīmā (*Skatīt zemāk). Reālā režīmā esošās lietojumprogrammas var veikt visu, ko tā vēlas, t.i., tieši piekļūt aparatūrai. Bet lietojumprogramma, kas darbojas reālā režīmā, var arī norādīt CPU, lai tā ieiet aizsargātā režīmā.

    Un šī pēdējā daļa ļauj tādām lietojumprogrammām kā Windows 95 uzsākt vairāku vītņu vidi, lai gan tās pamatā bija no DOS.

    DOS (Disk Operating System) bija, cik man zināms, nav daudz vairāk kā failu pārvaldības sistēma. Tā nodrošināja failu sistēmu, mehānismus failu sistēmas navigācijai, dažus rīkus un iespēju uzsākt lietojumprogrammas. Tas arī ļāva dažiem lietojumiem palikt iedzīvotājiem, t.i., peles vadītājiem un EMM emulatoriem. Bet tas nav mēģinājis kontrolēt datorā esošo aparatūru kā mūsdienu OS.

    *Kad DOS pirmo reizi tika izveidots 70. gados, CPU nebija aizsargāta režīma. Līdz 80286 procesoram 1980. gadu vidū aizsargātais režīms kļuva par CPU daļu.

    Pārliecinieties, ka pārlūkojat sākotnējo pavedienu un izlasiet dzīvo diskusiju par šo tēmu, izmantojot tālāk norādīto saiti!


    Vai kaut kas jāpievieno paskaidrojumam? Skaņas izslēgšana komentāros. Vai vēlaties lasīt vairāk atbildes no citiem tehnoloģiju gudriem Stack Exchange lietotājiem? Apskatiet pilnu diskusiju pavedienu šeit.