Přístup procesů do paměti

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Dodán popis obecný)
(Přepsán úvod.)
Řádka 1: Řádka 1:
 
[[Category:VSE]][[Category:Informatika]][[Category:Procesy]][[Category:Stránky s obrázky]]
 
[[Category:VSE]][[Category:Informatika]][[Category:Procesy]][[Category:Stránky s obrázky]]
  
== Pravidla ==
+
== Pravidla pro běh více procesů ==
* Proces není ovlivněn činností jiných procesů.
+
* Proces nemůže a nesmí být ovlivněn činností jiných procesů.
* Programátor při psaní kódu neřeší, kolik a jakých procesů v paměti bude.
+
* Programátor při psaní kódu nemusí řešit, kolik a jakých procesů v paměti bude.
* Každý proces funguje tak, jako by byl v počítači sám.
+
* Každý proces funguje tak, jako by byl v počítači jediný.
 +
* Fakt, že byl proces „uspán“ a mezitím běžely jiné procesy nesmí proces nijak poznat — veškerá data, která měl k dispozici, musí zůstat stejná.
 +
 
 +
 
 +
== Jak data ochránit? ==
 +
; Obsah registrů procesoru → uloží se do paměti
 +
* Co se týče obsahu registrů procesoru, je situace jednoduchá.
 +
* Při změně kontextu („přepnutí procesu“) se obsah všech registrů (řádově jsou to stovky byte) uloží na vyhrazené místo do operační paměti.
 +
* Při [[Plánování procesů | přepínání procesů]] se hodnota registrů procesoru aktualizuje tak, aby po opětovném „probuzení“ měl proces své hodnoty registrů, které si nastavil před „usnutím“.
 +
 
 +
; Obsah operační paměti → musí zůstat
 +
* Obsah operační paměti ale nemůžeme někam „zazálohovat“. Teoreticky by šla uložit na pevný disk, ale operační paměť má velkou kapacitu a ukládání tak velkého množství dat na disk by přepínání procesů nepřípustně zdrželo — nezapomeňte, že přepínání desítek procesů se musí stíhat tak rychle, aby si uživatel myslel, že všechny procesy běží zároveň.
 +
* Data procesů v operační paměti tedy musí zůstat a musíme zajistit, aby žádný proces nemohl číst ani zasahovat oblast, která mu nepřísluší.
  
== Přístup procesů do paměti ==
 
* Při [[Plánování procesů | přepínání procesů]] se hodnota registrů procesoru aktualizuje tak, aby měl každý proces svou hodnotu registrů.
 
* Obsah operační paměti ale celý přepnout nelze (příliš velká kapacita, pomalý pevný disk). Procesy se tedy do paměti fyzicky musí vlézt všechny.
 
  
 
== Přístup procesu do paměti ==
 
== Přístup procesu do paměti ==

Verze z 6. 10. 2020, 08:17


Pravidla pro běh více procesů


Jak data ochránit?

Obsah registrů procesoru → uloží se do paměti
Obsah operační paměti → musí zůstat


Přístup procesu do paměti

Pristup procesu do pameti.png
Řešení
Postup při alokaci paměti
Postup při čtení/zápisu z/do paměti
Co když se data do (fyzické) paměti nevlezou?
Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje