Preempce (informatika)

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Preempce je v informatice přerušení právě vykonávaného procesu (úlohy) bez toho, aby byla vyžadována jeho spolupráce. Přerušená úloha je pozastavena, nahrazena jinou úlohou a později je pomocí stejného mechanismu její činnost opět obnovena. Střídání úloh na procesoru se nazývá multitasking a jejich výměna pak změna kontextu (context switch). Zajišťuje ji privilegovaná úloha (nejčastěji jádro operačního systému). Rozhodování o tom, která úloha bude spuštěna se nazývá plánování procesů a vykonává ji plánovač (scheduler), který je součástí moderních operačních systémů (řada Windows NT, Linux, macOS a další). Preemptivní multitasking umožňuje využívání víceuživatelských systémů.

Preempce a multitasking

Preemptivní multitasking využívá preempci tak, aby běžný proces nemohl změně kontextu zabránit. Využívá k tomu hardwarové schopnosti procesorů (zejména privilegovaný režim a ochranu paměti). +more Pokud proces může preempci zabránit, označujeme to za nepreemptivní multitasking (například Mac OS, NetWare). Z marketingových důvodů je někdy nepreemptivní multitasking označován jinými termíny, například jako kooperativní multitasking (16bitové systémy Windows 3. x).

Preemptivní jádro

Preemptivní jádro operačního systému je takové, které dovoluje změnu kontextu i v případě, že se vykonávání přerušeného procesu nachází právě uvnitř jádra operačního systému (je prováděno systémové volání), což snižuje latenci systému. Preemptivní jádra mají prakticky všechny moderní systémy (řada Windows NT, Linux, některé BSD systémy, a další).

Specifickým (a jednodušším) způsobem dosahují preemptivnosti mikrojádra, u kterých je řada úkolů operačního systému řešena v uživatelském prostoru běžnými procesy, které je možné snadno přerušit.

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top