12Sep

Како је било могуће више задатака у старијим верзијама Виндовса?

click fraud protection

С обзиром на то да је ДОС био оперативни систем са једним задацима и везе са ранијим верзијама оперативног система Виндовс, како су раније верзије Виндовс успеле да постигну вишеструке задатке?Данашњи СуперУсер К & амп; Пост објављује одговоре на ово питање.

Данашње питање & амп;Сесија одговора долази нам захваљујући СуперУсер-у подскупу Стацк Екцханге-а, групације К & ама;

Виндовс 95 сцреенсхот цоуртеси оф Википедиа.

Питање

СуперУсер читач ЛеНооб жели да зна колико старије верзије Виндовса могу да покрену системе са више задатака? :

Прочитао сам да је ДОС оперативни систем са једним задацима.Међутим, ако су старије верзије Виндовс-а( укључујући и Виндовс 95?) Биле само омотнице за ДОС, како се могу покренути као оперативни систем са више задатака?

Добро питање!Како су старије верзије Виндовс-а успеле да покрену системе са више задатака?

Одговорност

СуперУсер сарадници Боб и Пете имају одговор за нас.Прво горе, Боб:

Виндовс 95 је био много више од "само омотача" за МС-ДОС.Куотинг Раимонд Цхен:

instagram viewer
  • МС-ДОС је служио у две намене у Виндовс 95: 1.) Сервирао се као боот лоадер.& амп;2.) Деловао је као 16-битни слој управљачких програма уређаја.

Виндовс 95 је заправо закачио / надмашио скоро све МС-ДОС-е, држећи га као слој компатибилности, а самим тим и самим подизањем тежине.Такође је имплементирао пре-емптивно вишеструко задужење за 32-битне програме.

Пре-Виндовс 95

Виндовс 3.к и старији били су углавном 16-битни( са изузетком Вин32с, врста слоја компатибилности која премошћава 16 и 32, али то ћемо игнорисати овде), биле су више зависне од ДОС-а икористили су само задруге са вишеструким задацима - то је оно у коме они не присиљавају покретање програма за прелазак;они чекају да програм који ради покреће контролу( у основи, рецимо "Завршио сам" причајући оперативном систему да покрене следећи програм који чека).

  • Мулти-задаци су били задужени, баш као у старим верзијама МацОС-а( мада за разлику од Мулти-таскинг ДОС 4.к, који је имао предност са више задатака).Задатак је морао да издржи ОС-у како би распоредио другачији задатак.Приходи су уграђени у одређене АПИ позиве, нарочито у обраду порука.Док год је задатак благовремено обрађивао поруке, све је било сјајно.Ако је задатак зауставио обраду порука и био је заузет извршавањем неке петље обраде, више задатака више није било.

Виндовс 3.к Архитектура

Што се тиче како ће ранији Виндовс програми дати контролу:

  • Виндовс 3.1 користи кооперативни мулти-таскинг - што значи да је свака апликација која је у процесу покренула инструкцију да периодично проверава редослед порука како би сазналадруга апликација тражи употребу ЦПУ-а, и ако јесте, да даје контролу над тој апликацији.Међутим, многе апликације Виндовс 3.1 би често редовно проверавале редослед порука, а не уопће, и монополизирале контролу над ЦПУ-у у исто вријеме колико је потребно.Пре-емптивни систем са вишеструким задацима као што је Виндовс 95 преузима контролу ЦПУ од апликације која се покреће и дистрибуира онима који имају виши приоритет засновани на потребама система.

Извор

Сви ДОС би видели да ли је ова једина апликација( Виндовс или други) покренута, што би пролазило кроз контролу без напуштања.У теорији, пре-емптивни мулти-таскинг се може евентуално применити на врху ДОС-а, у сваком случају, користећи сатове у реалном времену и хардверске прекиде да присилно дају контролу над планером.Као што Тонни коментира, ово су заправо радили неки ОС-ови који су покренути на врху ДОС-а.

386 побољшани режим?

Напомена: било је неких коментара о 386 побољшаном режиму оперативног система Виндовс 3.к који је 32-битни, и подржавајући пре-емптивни мулти-таскинг.

Ово је занимљив случај.Да сумирамо повезани блог пост, 386 побољшани мод је у основи био 32-битни хипервизор, који је користио виртуалне машине.Унутар једне од тих виртуелних машина покренуо је стандардни режим Виндовс 3.к, који обавља све ствари наведене горе.

МС-ДОС ће такође радити унутар тих виртуелних рачунара, и очигледно је да су они били унапред задужени са више задатака - тако да изгледа да ће хипервизор побољшаног режима 386 дијелити ЦПУ временске резове између виртуелних рачунара( од којих је један покренуо нормалан 3.ки други који су покренули МС-ДОС), а сваки ВМ ће урадити сопствену ствар - 3.к би био задужен за више задатака, док би МС-ДОС био појединачни задатак.

МС-ДОС

ДОС је био самопоуздан на папиру, али је имао подршку за ТСР програме који би остали у позадини док се не покрене хардверски прекид.Далеко од истинског вишеструког задатка, али ни у потпуности са једним задацима.

Све ово говори о битности?Питао сам о вишеструким задацима!

Па, строго гледајући, битност и вишеструки задатак не зависе једни од других.Требало би бити могуће имплементирати било који режим рада са више задатака у било ком битном случају.Међутим, прелазак са 16-битних процесора на 32-битне процесоре такође је увео и друге хардверске функције које су могле да олакшају имплементацију пре-емптивног вишеструких задатака.

Такође, пошто су 32-битни програми били нови, било је лакше радити када су присилно искључени - што би могло да поквари неке старе 16-битне програме.

Наравно, ово је све шпекулације.Ако стварно желите да знате зашто МС није имплементирао вишеканални задатак у оперативном систему Виндовс 3.к( без обзира на 386 побољшани мод), мораћете да питате некога ко је радио тамо.

Такође сам желео да исправим вашу претпоставку да је Виндовс 95 био само омотач за ДОС.

Следи одговор од Петеа:

У савременом оперативном систему, оперативни систем контролише све хардверске ресурсе, а покретне апликације се чувају у сандучићима.Апликацији није дозвољено приступити меморији коју ОС није доделио за ту апликацију и не може директно приступати хардверским уређајима на рачунару.Ако је потребан хардверски приступ, апликација мора комуницирати помоћу управљачких програма уређаја.

ОС може извршити ову контролу, јер она присиљује ЦПУ да уђе у заштићени режим.

ДОС, с друге стране, никада не улази у заштићени режим, али остаје у стварном режиму( * погледајте доље).У стварном режиму, покретне апликације могу да изврше све што жели, тј. Директно приступати хардверу.Али апликација која се покреће у реалном режиму може такође рећи да ЦПУ улази у заштићени режим.

И последњи део дозвољава апликацијама као што је Виндовс 95 да започну окружење са више навоја иако су у основи биле покренуте из ДОС-а.

ДОС( Диск Оператинг Систем) био је, колико ја знам, много више од система за управљање датотекама.Обезбедио је фајл систем, механизме за навигацију датотечним системом, неколико алата и могућност покретања апликација.Такође је дозвољавало да неке апликације остају резиденти, односно покретачи мишева и ЕММ емулатори.Али није покушао да контролише хардвер у рачунару онако како то ради модеран ОС.

* Када је ДОС први пут креиран 1970-их, заштитни мод није постојао у ЦПУ-у.Тек 80286 процесор средином 1980-их тај заштићени мод није постао дио ЦПУ-а.

Обавезно пређите на првобитну нит и прочитајте живу дискусију о овој теми помоћу линка испод!

Имате ли нешто да додате објашњењу?Звучи у коментарима.Желите да прочитате више одговора од других корисничких корисника Стацк Екцханге?Овде погледајте комплетну тему.