12Sep

Hogyan működött a többszörös feladatok a Windows korábbi verzióiban?

click fraud protection

Tekintettel arra, hogy a DOS egyetlen feladatos operációs rendszer volt, és a Windows korai verzióihoz kapcsolódó kapcsolatai is voltak, a Windows korábbi verziói sikerült többfeladatos feladatokat végrehajtani? A mai SuperUser Q & A bejegyzés a kérdésre adott válaszokat vizsgálja.

A mai kérdés &A válaszüzenet a SuperUser - a Stack Exchange megosztottságának köszönhetően - a Q & A webhelyek közösségi szintű csoportosítása.

A Windows 95 képernyővédője a Wikipedia segítségével.

A

SuperUser olvasó kérdése A LeNoob tudni akarja, hogy a Windows régebbi verziói többfeladatos rendszerekként működhetnek? :

Megértettem, hogy a DOS egyfelhasználós operációs rendszer. De ha a Windows korábbi verziói( beleértve a Windows 95-t is?) Csak a DOS csomagolásai voltak, hogyan működhetnek többfeladatos operációs rendszerként?

Jó kérdés! Hogyan működtek a Windows régebbi verziói többfeladatos rendszerekként?

A válasz

A SuperUser közreműködők Bob és Pete válaszolnak nekünk. Először is, Bob:

instagram viewer

A Windows 95 jóval több volt, mint "csak egy csomagoló" az MS-DOS számára. Raymond Chen megemlítése:

  • Az MS-DOS két célt szolgál a Windows 95 rendszerben: 1.) Rendszerindítóként szolgált.& Amp;2.) 16 bites régi eszközillesztő-rétegként működött.

A Windows 95 valójában csak az összes MS-DOS-t akasztotta be / túllépte, miközben kompatibilitási rétegként tartotta magát, miközben maga a nehéz emelést is elvégezte. Ezenkívül végrehajtotta a megelőző többfeladatos feladatokat a 32 bites programok számára.

Windows 95 előtti

A Windows 3.x és a régebbiek többnyire 16 bitesek voltak( a Win32s kivételével, amely egyfajta kompatibilitási réteg, amely a 16-os és a 32-es hidakat veszi figyelembe), nagyobb mértékben függtek a DOS-tól éscsak együttmûködõ multi-tasking-t használtak - ez az, ahol nem kényszerítenek egy futó programot a kiiktatásra;várják, hogy a futó program vezérelni tudjon( alapvetően azt mondja, hogy "kész vagyok" az operációs rendszerrel a következő, várni kívánt program futtatására).

  • A multi-tasking együttműködő volt, akárcsak a MacOS régi verzióiban( bár ellentétben a Multi-tasking DOS 4.x programmal, amely elővigyázatosságú többfeladatos feladatokat látott el).Egy feladatnak az operációs rendszerhez kellett jutnia egy másik feladat ütemezéséhez. A hozamokat bizonyos API-hívásokba építették, nevezetesen az üzenetek feldolgozására. Mindaddig, amíg egy feladat feldolgozott üzeneteket időben, minden nagyszerű volt. Ha egy feladat leállította az üzenetek feldolgozását, és elfoglalta a feldolgozó hurok végrehajtását, a többfeladatos feladatok nem voltak többé.

Windows 3.x architektúra

A korai Windows programok vezérlése:

  • A Windows 3.1 együttműködő többfeladatos feladatot használ - azaz azt jelenti, hogy minden alkalmazás, amely folyamatban van, utasítást kap arra, hogy rendszeresen ellenőrizze az üzenetsorokat, hogy megismerjemás alkalmazás a CPU használatát kéri, és ha igen, akkor az adott alkalmazáshoz irányítást ad. Számos Windows 3.1 alkalmazás azonban csak ritkán ellenőrzi az üzenetsorokat, vagy egyáltalán nem, és monopolálja a CPU vezérlését annyi ideig, amennyire szükséges. A megelőző, többfeladatos rendszer, mint például a Windows 95, a CPU-vezérlést eltávolítja egy futó alkalmazásból és elosztja azokat, amelyek magasabb prioritást kapnak a rendszer igényei alapján.

Forrás

Az összes DOS azt látja, hogy ez az egyetlen alkalmazás( Windows vagy egyéb) fut, ami a felügyelet nélkül haladna a kilépés nélkül. Elméletileg elővigyázatos többfeladatos feladatokat lehet végrehajtani a DOS-n túlmenően egy valós idejű óra és hardveres megszakítások használatával, amelyek kényszerítik az ütemező felügyeletét. Ahogy Tonny megjegyzi, ezt ténylegesen a DOS tetején futó operációs rendszerek hajtották végre.

386 továbbfejlesztett mód?

Megjegyzés: történt néhány megjegyzés a 386 továbbfejlesztett módban a Windows 3.x 32 bites, és támogatja a megelőző többfeladatos.

Ez egy érdekes eset.Összefoglalva a kapcsolódó blogbejegyzést, a 386 továbbfejlesztett mód alapvetően egy 32 bites hypervisor volt, amely virtuális gépeket futott. Az egyik virtuális gépen a Windows 3.x szabványos módja futott, amely a fent felsorolt ​​összes elemet tartalmazza.

Az MS-DOS ezen virtuális gépeken belül is futott volna, és nyilvánvalóan többszörös feladatokkal rendelkezett - úgy tűnik, hogy a 386 továbbfejlesztett módú hypervisor megoszthatja a CPU időszeleteit a virtuális gépek között( amelyek közül az egyik normál 3.xés mások, akik MS-DOS-t futtattak), és minden egyes VM meg fog tenni saját dolgát - a 3.x együttműködően többfeladatú feladatot fog végrehajtani, míg az MS-DOS egyetlen feladat.

Az MS-DOS

A DOS önálló feladattá vált papíron, de támogatta azokat a TSR-programokat, amelyek a háttérben maradnak, amíg hardveres megszakítást nem váltanak. Távol az igazi többfeladatos, de nem teljesen egyszemélyes megbízásából.

Ez a beszéd a bit-nessről? Megkérdeztem a többfeladatos feladatokról!

Nos, szigorúan szólva, a bitesség és a többfeladatos feladatok nem függenek egymástól. Lehetõvé kell tenni bármilyen többfeladatos üzemmód végrehajtását bármilyen bit-ekben. Azonban a 16 bites processzorokról a 32 bites processzorokra történő átállás más olyan hardverfunkciókat vezetett be, amelyek megkönnyítenék a többfeladatos feladatok végrehajtását.

Továbbá, mivel a 32 bites programok újak voltak, könnyebb volt munkába állítani őket, amikor erőszakkal ki lettek kapcsolva - ami esetleg megsértette a régi 16 bites programokat.

Természetesen ez minden spekuláció.Ha tényleg azt szeretné tudni, hogy az MS nem hajtotta végre a megelőző többfeladatos feladatokat a Windows 3.x rendszerben( 386 továbbfejlesztett üzemmódban), akkor meg kell kérdeznie valakit, aki ott dolgozott.

Azt is szeretném kijavítani a feltételezést, hogy a Windows 95 csak egy csomag a DOS-nak.

A Pete válasza:

Egy modern operációs rendszerben az operációs rendszer vezérli az összes hardveres erőforrást, és a futó alkalmazásokat homokozóban tárolják. Az alkalmazás nem férhet hozzá olyan memóriához, amelyet az operációs rendszer nem adott hozzá az alkalmazáshoz, és nem férhet hozzá közvetlenül a számítógép hardvereszközeihez. Ha hardveres hozzáférés szükséges, akkor az alkalmazásnak eszközvezérlőkön keresztül kell kommunikálnia.

Az operációs rendszer érvényesítheti ezt a vezérlést, mert a CPU-t védett módba lép. Az

DOS azonban soha nem lép be védett módba, de valós módban marad( * lásd alább).Valós módban a futó alkalmazások bármit is végrehajthatnak, vagyis közvetlenül hozzáférhetnek a hardverhez. De a valós módban futó alkalmazás a CPU-nak is beléphet a védett módba.

És ez az utolsó rész lehetővé teszi az olyan alkalmazások számára, mint a Windows 95, hogy elindítsanak egy többszálas környezetet, annak ellenére, hogy alapvetően a DOS-ból indították.

A DOS( Disk Operating System), amennyire én tudom, nem sokkal több, mint egy fájlkezelő rendszer. Fájlrendszert, mechanizmust biztosított a fájlrendszer navigálásához, néhány eszköz, valamint az alkalmazások indításának lehetősége. Ez azt is lehetővé tette, hogy egyes alkalmazások tartózkodjanak, például egér-illesztőprogramok és EMM emulátorok. De nem próbálta meg ellenőrizni a számítógép hardverét, ahogy a modern operációs rendszer.

* Amikor a DOS-ot először az 1970-es években hozták létre, a védett mód nem létezett a CPU-ban. A 80-as évek közepétől a 80286-os processzorig nem volt védett mód a CPU részévé.

Győződjön meg róla, hogy böngésszen az eredeti téma fölé, és olvassa el a témával kapcsolatos élénk vitát az alábbi linken!

Van valami a magyarázathoz? Hangzik ki a megjegyzésekben. Szeretne többet válaszolni a többi technikus-tudós Stack Exchange felhasználóiról? Nézze meg a teljes vitafonalat itt.