19 - Správa procesů
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu DOCX.
Správa procesů
Základní pojmy:
Program
soubor na vnějším paměťovém médiu obsahující kód (instrukce) a konstantní dat
Proces
instance programu daná jeho kódem a dalšími vlastnostmi (priorita, stav, identifikační číslo, programový čítač, přidělené prostředky atd.)
potřebuje zdroje – CPU, paměti, I/O zařízení...
vlákno procesu (thread)
každý proces používá oddělené místo v paměti, komunikaci procesů musí zajistit operační systém
Některé systémy umožnují rozdělení procesů na více vláken ( multithreading )
obraz procesu
OS zodpovědný za
vytváření a rušení procesů
potlačení a obnovu procesů
synchronizaci procesů
komunikaci mezi procesy
výběr procesu pro volnou CPU
Vznik procesu
první spuštený proces systému (init)
spuštění programu jiným procesem (rodičem procesu)
Klonováním již spuštěného procesu (fork) - v tomto případě se do nového adresového prostoru zkopíruje paměťový prostor původního procesu a poté se mu přiřadí vlastní záznam v tabulce procesů (PCB) s některými údaji původními a některými novými. Oba procesy pokračují souběžně od stejného místa
Proces se může nacházet v jednom z několika stavů
Nový - proces byl právě vytvořen a přidělují se mu prostředky
Běžící - na každém procesoru může běžet současně jen jeden proces
Připravený - proces čeká na přidělení procesoru
Čekající - proces čeká na událost (zprávu)
Odložen - proces je odložen do odkládací oblasti na médiu
Připraven - proces je připraven k běhu
Ukončený (terminated) - proces byl ukončen
Ukončení procesu
proces ukončí sám sebe - funkce exit()
je ukončen svým rodičem - funkce abort()
je odstraněn uživatelem, či systémem
Po ukončení rodičovského procesu jsou potomci
ukončení
se stanou sirotky
Plánování procesů
short-term - kterému procesu bude přidělen procesor
medium-term - při nedostatku paměti rozhodnutí který čekající nebo připravený proces bude odsunut do vnější paměti
long-term - která úloha bude spuštěna při dávkovém zpracování
Plánovací algoritmy
spravedlnost ( každý proces dostane spravedlivý díl času )
efektivita ( udržovat maximální vytížení systému )
čas odezvy ( minimalizovat pro interaktivní uživatele )
doba obrátky ( minimalizovat dobu zpracování každé dávkové úlohy )
průchodnost ( maximální množství úloh za jednotku času )
Priority procesů
Hodnoty 0 - 31
priority jde vidět a nastavit pomocí systém. nástrojů pro správu procesů
priority procesů Windows
pro každou prioritu existuje samostatná front připravených procesů
procesor je vždy přednostně přidělován procesům s vyšší prioritou
priority procesů UNIX
běžné procesy 1-40
procesy realného času 1-99(odlišný způsob zpracování, například vlastní plánovač procesoru)
příkaz “nice -n
” spustí program s jinou než základní prioritou