140 likes | 377 Views
Logická organizace paměti. Logická organizace paměti. Logická organizace paměti – jsou pravidla , kterými se řídí přidělování paměti Paměť využívají : uživatelské aplikace operační systém BIOS HW zařízení I/O zařízení (adresy). Logická organizace paměti.
E N D
Logická organizace paměti Logická organizace paměti – jsou pravidla, kterými se řídí přidělování paměti Paměť využívají : • uživatelské aplikace • operační systém • BIOS HW zařízení • I/O zařízení (adresy)
Logická organizace paměti Paměť je rozdělena na tři základní části, definované IBM při konstrukci PC-XT. Dnes je struktura pozměněna, ale základní definované oblasti paměti mají stále stejný význam : • Konvenční paměť (ConventionalMemory) 0 – 640 KB. • Rezervovanou paměť (ReservedMemory) 640 – 1MB. • Paměť nad 1 MB
Konvenční paměť 0 – 640 KB Paměť je rozdělena na dvě části: • oblast vstupně/výstupních adres. • oblast určenou pro práci programů.
Konvenční paměť 0 – 640 KB • Paměť I/O adres (0 – 1 KB) – jedná se o prostor určený pro vstupně/výstupní adresy pomocí kterých komunikuje mikroprocesor s okolím. • Každá část PC má přidělenu I/O adresu, přes níž posílá svá data mikroprocesoru • Přidělování adres I/O se řídí přesnými pravidly: • adresy od 000000 do 0FF – pro díly základní desky • adresy od 100 do 3FF jsou určeny pro rozšiřující desky • Dvě zařízení nemohou využívat stejné adresy, mikroprocesor by nevěděl s kterou periferií komunikuje • Při rozšíření počítače o novou desku nutno zadat originální DMA, IRQ a adresu I/O
Konvenční paměť 0 – 640 KB Programová část konvenční paměti (1 KB - 640 kB): • Sloužila pro MS DOS a 16 bitové programy, pro 32bitové OS nemá tato paměť význam • Do paměti se načítaly také rezidentní programy a ovladače zařízení. • Rezidentní programy – jsou v paměti trvale a nahrával je tam sám uživatel • Ovladače zařízení – ovladače určené pro hardwarová zařízení – např. CD, myš…, spouštěly se pomocí příkazů v config.sys Ve Windows se načítají pomocí registrů
Rezervovaná paměť od 640 KB - 1 MB • Adresy této logické části paměti (od 640 KB - 1 MB) jsou rezervovány pro technické prostředky počítače. V rezervované paměti neumějí pracovat žádné programy (nepoužívají její adresy). Je rozdělena do tří částí: • Na začátku paměti je vymezený prostor pro grafický adaptér, adresy A0000 – C7FFF. • Poté je prostor určený pro BIOS jiných komponent (jsou umístěny na rozšiřujících kartách) • Na konci paměti je prostor pro systémový BIOS, adresy F0000 - FFFFF
HMA HighMemory Area • HMA je prvních 64 KB paměti nad jedním MB. • Tuto paměť dokážou používat některé programy běžící pod MSDOS a také sám operační systém DOS, čímž se opět ušetří nějaká ta desítka KB v konvenční paměti.
Paměť nad 1 MB • Programy OS DOS mohly používat paměť nad 1024 kB prostřednictvím speciálních programů – paměťové manažery. • Byli definovány dva principy: • stránkové manažery EMS(Expanded MemorySpecifikation) nebo EMM (Expanded Memory Manager). Např. EMM386.EXE • nestránkové manažery XMM (eXtendedMemoryManager). V DOSuse jmenoval HIMEM.SYS
Stránková paměť (EXPANDED – rozšířená) • Byla zavedena jako první a dnes se příliš nepoužívá. • Paměť nad 1 MB se rozdělila na stránky a do rezervované paměti se umístil přepínač (pageframes), který požadavek "přeposílal výš". • Přepínání adres zajišťoval program - stránkový manažer, označovaný EMS (ExpandedMemorySpecifikation) nebo EMM (ExpandedMemoryManager). Např. EMM386.EXE
Nestránková paměť (EXTENDED – prodloužená) • Její použití bylo umožněno rozšířením adresové sběrnice u PC-AT. • Bylo možno generovat více adres, a proto není třeba používat stránky a přepínače pro přístup do paměti nad 1 MB. • Přímé adresování zajišťuje XMS (eXtendedMemorySpecification) někdyoznačovaný XMM (eXtended Memory Manager)
Práce s pamětíve Windows • OS Linux i Windows podporují multitasking = zpracování více programů současně • Jde o jednu z technologií pro práci s operační pamětí. • v praxi se multitasking realizuje velmi rychlým přepínáním mezi běžícími programy • každý z programů dostává část mikroprocesorového času • Existují dva základní způsoby: • Kooperativní multitasking • Preemptivní multitasking
Kooperativní multitasking • Čas procesoru je operačním systémem přidělen jednomu programu v držení tak dlouho, dokud jej sám nevrátí zpět operačnímu systému, ten jej pak přiděli jinému programu • program však nemusí procesorový čas vrátit v dostatečně krátkém časovém úseku, což působí dojmem, jako by ostatní programy nepracovaly. • horší případ nastane ve chvíli, kdy program vůbec nevrátí řízení času procesoru (např. zhavaruje) => tato situace vede k havárii celého systému, tímto způsobem pracují 16bitové programy napsané pro Windows 3.x
Preemptivní multitasking • Jedná se o spolehlivější multitasking • čas procesoru je přidělen programu pouze na určitou dobu, po jejím uplynutí jej sám operační systém programu odebere a přidělí jinému programu => nemohou tak nastat stavy kooperativního multitaskingu • tímto systémem pracují 32bitové OS Windows 98 až XP, W7