12Sep

Kā iespējota vairāku uzdevumu veikšana vecākajās Windows versijās?

Ņemot vērā, ka DOS bija viena uzdevuma operētājsistēma un saites, kas tai bija ar agrīnām Windows versijām, tāpat kā iepriekšējās Windows versijās tika veikta daudzuzdevumu veikšana?Šodienas SuperUser Q & amats apskata atbildes uz šo jautājumu.

šodienas jautājums &Atbildes sesija mums priecājas par SuperUser - Stack Exchange, kas ir kopienas un Q & A tīmekļa vietņu grupa.

Windows 95 screenshot 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 operētājsistēma. Bet, ja vecākas Windows versijas( ieskaitot arī Windows 95?) Bija tikai DOS aplauzums, kā tās var darboties kā daudzuzdevumu operētājsistēma?

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

Atbilde

SuperUser atbalstītājiem Bobam un Petei ir mūsu atbilde. Pirmkārt, Bobs:

Windows 95 bija daudz vairāk nekā "tikai iesaiņotājs" MS-DOS.Citējot Raymond Chen:

  • MS-DOS kalpoja diviem mērķiem Windows 95: 1.) Tas kalpoja kā boot loader.&2.) Tas darbojās kā 16 bitu mantotais ierīces draivera slānis.

Windows 95 patiešām ir sasaistījis / pārblīvējis gandrīz visu MS-DOS, saglabājot to kā saderības slāni, vienlaikus veicot visu smago pacelšanu. Tā arī ieviesa preventīvus daudzuzdevumus 32 bitu programmām.

pirms Windows 95

Windows 3.x un vecāki bija galvenokārt 16 bitu( izņemot Win32s, sava veida saderības slāni 16 un 32 tiltiem, taču mēs to ignorēsim), bija vairāk atkarīgi no DOS unizmanto tikai kopīgu daudzuzdevumu - tas ir tas, kur tie nepieprasa palaistu programmu, lai izslēgtu;viņi gaida, kamēr darbojas programma, lai iegūtu kontroli( būtībā sakiet "esmu darīts", paziņojot OS, lai palaistu nākamo gaidīšanas programmu).

  • Multi-tasking bija kooperatīvs, tāpat kā vecajās MacOS versijās( lai gan atšķirībā no Multi-tasking DOS 4.x, kas sopēja priekšrocību multi-uzdevumu).Vienam uzdevumam bija jāpiedalās operētājsistēmai, lai plānotu citu uzdevumu. Ienesīgums tika iestrādāts dažos API zvanos, jo īpaši ziņojumu apstrādē.Kamēr uzdevums savlaicīgi apstrādāja ziņojumus, viss bija lieliski. Ja uzdevums apstājās apstrādāt ziņojumus un bija aizņemts, izpildot kādu apstrādes cilpu, vairāku uzdevumu veikšanai nebija vairs.

Windows 3.x arhitektūra

Attiecībā uz to, kā agri Windows programmas dodot kontroli:

  • Windows 3.1 izmanto sadarbības daudzuzdevumu - tas nozīmē, ka katrai lietojumprogrammai, kas atrodas darbības procesā, tiek instruēta periodiski pārbaudīt ziņojumu rindu, lai uzzinātu, vai kādscitā lietojumprogrammā tiek prasīts izmantot CPU un, ja tā, lai kontrolētu šo lietojumprogrammu. Tomēr daudzās Windows 3.1 lietojumprogrammās ziņu rinda tiktu pārbaudīta tikai reti vai vispār nebūtu, un monopolizēt CPU kontroli tik ilgi, cik nepieciešams. Pretvilcīga daudzuzdevumu sistēma, piemēram, Windows 95, aizņems CPU kontroli no darbības programmas un izplatīs to lietotājiem, kuriem ir lielāka prioritāte, pamatojoties uz sistēmas vajadzībām.

Avots

Visas DOS redzētu, vai šī viena lietojumprogramma( Windows vai cita) darbojas, kas izietu kontroli bez iziešanas. Teorētiski priekšrocību multi-uzdevumu var vienlaikus īstenot papildus DOS, izmantojot reālā laika pulksteni un aparatūru pārtrauc piespiedu kārtā piešķirt kontroli pār plānotāju. Kā komentē Tonny, to faktiski izdarīja daži OS, kas darbojas DOS virspusē.

386 uzlabotais režīms?

Piezīme. Daži komentāri par 386 uzlaboto Windows 3.x režīmu ir bijuši 32 biti, un tiek atbalstīta daudzpusīgo uzdevumu novēršana.

Šis ir interesants gadījums. Lai apkopotu saistīto emuāra ziņu, 386 uzlabotais režīms būtībā bija 32 bitu hipervisors, kas darbināja virtuālās mašīnas. Vienā no šīm virtuālajām mašīnām iekšpusē bija Windows 3.x standarta režīms, kurā ir visas iepriekš minētās lietas.

MS-DOS arī darbosies šajās virtuālajās mašīnās, un acīmredzot tie bija pirmām kārtā vairākkārtēji uzdevumi, tādēļ šķiet, ka 386 uzlabotais režīms hypervisor dalīsies ar CPU laika šķēlēm starp virtuālajām mašīnām( no kurām viena bija normāla 3.xun citi, kas darbojās MS-DOS), un katrs VM veiks savu lietu - 3.x būtu kopīgi vairāku uzdevumu, bet MS-DOS būtu viena uzdevuma veikšana.

MS-DOS

DOS pati bija vienkārša uzdevuma veikšana uz papīra, bet tai bija atbalsts TSR programmām, kas paliktu fonā, līdz to izraisīja aparatūras pārtraukšana. Tālu no daudziem uzdevumiem, bet ne pilnībā.

Visas šīs runas par bit-ness? Es jautāju par daudzuzdevumu veikšanu!

Nu, stingri runājot, bit-ness un multi-uzdevumu nav atkarīgi viens no otra. Jābūt iespējai īstenot jebkuru multi-uzdevumu režīmu jebkurā bit-ness. Tomēr pāreja no 16 bitu procesoriem uz 32 bitu procesoriem ieviesa arī citu aparatūras funkcionalitāti, kas būtu ļāvusi vienkāršāk īstenot preventīvo uzdevumu izpildi.

Tā kā 32 bitu programmas bija jaunas, to bija vieglāk iegūt, kad tās tika piespiedu kārtā izslēgtas, un tas varēja sabojāt dažas mantotās 16 bitu programmas.

Protams, tas viss ir spekulācija. Ja jūs patiešām vēlaties uzzināt, kāpēc MS nav ieviesusi priekšlaicīgu daudzuzdevumu veikšanu Windows 3.x versijā( neatkarīgi no uzlabotā režīma 386), jums būs jālūdz kāds, kurš tajā strādāja.

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

Pēc tam, kad Pete atbildēja:

Modernajā operētājsistēmā operētājsistēma kontrolē visus aparatūras resursus, un palaistās lietojumprogrammas tiek glabātas smilšu kastes. Pieteikums nav atļauts piekļūt atmiņai, ko OS nav piešķirusi šim lietojumprogrammai, un tā nevar tieši piekļūt datora aparatūras ierīcēm. Ja nepieciešama aparatūras piekļuve, lietojumprogrammai ir jāsazinās ar ierīces draiveri.

OS var ieviest šo kontroli, jo tas liek CPU ievadīt aizsargāto režīmu.

DOS, no otras puses, nekad neietilpst aizsargātajā režīmā, bet paliek reālajā režīmā( * skatīt zemāk).Reālā režīmā esošās programmas 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ī pateikt CPU, lai ievadītu aizsargāto režīmu.

Un šī pēdējā daļa ļauj tādām lietojumprogrammām kā Windows 95, lai sāktu daudzvirzienu vidi, lai gan tie galvenokārt tika palaisti no DOS.

DOS( Disk operētājsistēma), cik man zināms, bija nekas vairāk kā failu pārvaldības sistēma. Tas nodrošināja failu sistēmu, failu sistēmas navigācijas mehānismus, dažus rīkus un iespēju palaist lietojumprogrammas. Tas ļāva arī dažām lietojumprogrammām palikt pastāvīgiem, t.i., peles vadītājiem un EMM emulatoriem. Bet tā nemēģināja kontrolēt aparatūru datorā tā, kā darbojas mūsdienu OS.

* Kad DOS pirmo reizi tika izveidots 1970. gados, aizsargātajam režīmam CPU neeksistēja. Tikai 80286 procesora laikā 80. gadu vidū aizsargājamais režīms kļuva par CPU daļu.

Pārliecinieties, lai pārlūkotu pāri sākotnējam pavedienam un izlasītu dziļu diskusiju par šo tēmu, izmantojot tālāk esošo saiti!

Vai kaut kas jāpievieno paskaidrojumam? Skatieties komentāros. Vēlaties lasīt citas atbildes no citiem tehnoloģiju savvy Stack Exchange lietotājiem?Šeit skatiet pilnu diskusiju pavedienu.