12Sep

Jak bylo možné provést více úkolů ve starších verzích systému Windows?

click fraud protection

Vzhledem k tomu, že systém DOS byl jediný operační systém a jeho vztahy s časnými verzemi systému Windows, jak se starší verze systému Windows podařilo provést multi-tasking? Dnešní zpráva SuperUser Q & A se zabývá odpověďmi na tuto otázku.

dnešní otázka &Odpověď na zasedání se k nám dostala s laskavým svolením SuperUser - podřízenou výměnou Stack Exchange, skupině webů Q & A založených na komunitě.

Windows 95 screenshot s laskavým svolením Wikipedie.

Otázka

SuperUser čtečka LeNoob chce vědět, jak starší verze systému Windows mohly fungovat jako multi-tasking systémy? :

Četl jsem, že DOS je operační systém s jedním operačním systémem. Ale pokud starší verze Windows( včetně Windows 95?) Byly jen obaly pro DOS, jak by mohly běžet jako multi-tasking OS?

Dobrá otázka! Jak se starší verze systému Windows podařilo spustit jako systémy s více úkoly?

Odpovědí odpovědí

SuperUser Bob a Pete mají odpověď.První, Bob:

Windows 95 byl daleko více než "jen obal" pro MS-DOS.Citace Raymond Chen:

instagram viewer
  • MS-DOS sloužil ve Windows 95 pro dva účely: 1.) Byl to zavaděč.&2.) Byl to 16-bitový ovladač starší vrstvy zařízení.

Windows 95 vlastně zahákl / přesahoval téměř všechny MS-DOS a udržoval si ho jako kompatibilní vrstvu, zatímco prováděl všechny těžké zvedání sám. Rovněž implementovala předběžné multi-tasking pro 32bitové programy.

Pre-Windows 95

Windows 3.x a starší byly většinou 16bitové( s výjimkou Win32s, druh vrstvy kompatibility, která překlenuje 16 a 32, ale tu to ignorujeme) byly více závislé na DOSu apoužívají pouze družstevní multi-tasking - to je ten, kde nevyvolávají běžící program k vypnutí;čekají na běžící program, aby získali kontrolu( v podstatě řekněme, že "jsem hotovo" tím, že řeknu systému OS spustit další program, který čeká).

  • Multi-tasking byl kooperativní, stejně jako ve starších verzích MacOS( i když na rozdíl od multi-taskingu DOS 4.x, který předělal předběžné multi-tasking).Úkol musel poskytnout operačnímu systému, aby mohl naplánovat jiný úkol. Výnosy byly zabudovány do určitých volání API, zejména zpracování zpráv. Dokud byla úloha zpracovávána zprávy včas, všechno bylo skvělé.Pokud úkol přestal zpracovávat zprávy a byl zaneprázdněný vykonáním nějaké smyčky zpracování, vícenásobné zadávání nebylo víc.

Windows 3.x Architektura

Pokud jde o to, jak časné programy systému Windows by řídily výnosy:

  • Windows 3.1 používá kooperativní multi-tasking - což znamená, že každá aplikace, která je v procesu spouštění, je instruována pravidelně kontrolovat frontu zpráv,jiná aplikace žádá o využití CPU a pokud ano, poskytne kontrolu této žádosti. Však mnoho aplikací systému Windows 3.1 by zkontrolovalo frontu zpráv jen zřídka nebo vůbec a monopolizovalo řízení procesoru tak dlouho, jak to vyžadovalo. Předběžný multi-tasking systém, jako je Windows 95, převezme řízení procesoru mimo provozovanou aplikaci a distribuuje je těm, které mají vyšší prioritu na základě potřeb systému.

Zdroj

Veškerá DOS by viděla, že tato jediná aplikace( Windows nebo jiná) běží, která by prošla řízení bez ukončení.Teoreticky může být preemptivní multi-tasking implementováno na vrcholu DOS s využitím hodin v reálném čase a hardware přerušuje, aby násilím dávalo plánovateli kontrolu. Jak připomíná Tonny, skutečně to děly některé operační systémy běžící na DOSu.

386 Vylepšený režim?

Poznámka: existují nějaké komentáře k 386 rozšířenému režimu Windows 3.x, který je 32bitový, a podporuje předběžné multi-tasking.

To je zajímavý případ. Chcete-li shrnout propojený blogový příspěvek, rozšířený režim 386 byl v podstatě 32bitový hypervisor, který provozoval virtuální stroje. Uvnitř jednoho z těchto virtuálních počítačů běžel standardní režim Windows 3.x, který provádí všechny výše uvedené věci.

MS-DOS by také běžel uvnitř těchto virtuálních strojů a zdánlivě byl předběžně multifunkční - takže se zdá, že hypervisor 386 rozšířeného režimu bude sdílet časové úseky CPU mezi virtuálními počítači( z nichž jedna běží normálně 3.xa jiní, kteří vedli MS-DOS) a každý VM bude dělat svou vlastní věc - 3.x bude spolupracovat s více úlohami, zatímco MS-DOS bude jedinou úlohou.

MS-DOS

DOS samotný byl samostatný úkol na papíře, ale měl podporu pro programy TSR, které zůstanou v pozadí, dokud nebudou vyvolány přerušením hardwaru. Daleko od skutečného multi-tasking, ale ne zcela single-úkoly buď.

Všichni mluví o bitu? Ptal jsem se na multi-tasking!

Zřetelně řečeno, bit-ness a multi-tasking nejsou závislé na sobě navzájem. V jakémkoli bitovém režimu by mělo být možné implementovat libovolný režim více úkolů.Přechod z 16bitových procesorů na 32bitové procesory však také představil další hardwarové funkce, které by umožnily snadnější implementaci předběžného multi-taskingu.

Také, protože 32-bitové programy byly nové, bylo jednodušší dostat je do práce, když byly násilně vypnuty - což mohlo způsobit porušení některých starších 16bitových programů.

Samozřejmě, to jsou všechny spekulace. Pokud opravdu chcete vědět, proč MS neprovedla předběžné multi-tasking ve Windows 3.x( 386 rozšířený režim bez ohledu na), budete muset požádat někoho, kdo tam pracoval.

Také jsem chtěl opravit svůj předpoklad, že Windows 95 byl jen obal pro DOS.

Následuje odpověď Pete:

V moderním operačním systému řídí operační systém všechny hardwarové prostředky a běžící aplikace jsou uloženy v karanténách. Aplikace nemá přístup do paměti, kterou systém OS přidělil, a nemůže přímo přistupovat k hardwarovým zařízením v počítači. Je-li vyžadován přístup k hardwaru, aplikace musí komunikovat prostřednictvím ovladačů zařízení.

Operační systém může vynutit toto ovládání, protože nutí procesor vstoupit do chráněného režimu.

DOS, na druhé straně, nikdy nevstupuje do chráněného režimu, ale zůstává v reálném režimu( * viz níže).V reálném režimu běžící aplikace mohou provádět cokoliv, co chtějí, tj. Přístup k hardwaru přímo. Aplikace běžící v reálném režimu může také říkat procesoru, že vstoupí do chráněného režimu.

A tato poslední část umožňuje aplikacím, jako je systém Windows 95, spustit vícevláknové prostředí, i když byly v podstatě spouštěny z DOSu.

DOS( operační systém disku) byl, pokud vím, mnohem víc než systém správy souborů.Poskytoval souborový systém, mechanismy pro navigaci v systému souborů, několik nástrojů a možnost spustit aplikace. U některých aplikací to také umožnilo zůstat rezidentní, tj. Ovladače myši a EMM emulátory. Nepokoušel se ovšem ovládat hardware v počítači způsobem, jakým funguje moderní systém OS.

* Když byla DOS poprvé vytvořena v sedmdesátých letech, chráněný režim v procesoru neexistoval. Až v 80286 procesoru v polovině osmdesátých let se chráněný režim stal součástí procesoru.

Ujistěte se, že procházíte na původní vlákno a přečtěte si živou diskusi o tomto tématu pomocí níže uvedeného odkazu!

Musíte něco přidat k vysvětlení?Zní to v komentářích. Chcete se dozvědět více odpovědí od ostatních uživatelů technologie Stack Exchange? Podívejte se na celý diskusní příspěvek zde.