Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Prerušovací operačný systém (známy tiež ako operačný systém poháňaný prerušením) je OS, ktorý sa silne spolieha na prerušenia Spravovať a riadiť vykonávanie úloh. Namiesto nepretržitého prieskumu udalostí alebo spoliehania sa na prísne časové skokovanie reaguje na signály (prerušenia) generované hardvérovými alebo softvérovými komponentmi , umožňuje jej efektívne zvládnuť viac úloh a reagovať na udalosti v reálnom čase.
Pomysli na to takto:Ste šéfkuchár (CPU), ktorý pripravuje jedlo (prevádzkovanie programu). Namiesto toho, aby ste neustále kontrolovali, či je rúra pripravená alebo či časovač odišiel, spoliehate sa na zvonček rúry (prerušenie) alebo na časovač (ďalší prerušenie), aby ste vás upozornili, keď potrebujete konať. To vám medzitým umožní zamerať sa na ďalšie úlohy (príprava zeleniny, varenie omáčky).
Ako sa zaoberá prerušeniami:
Proces manipulácie s prerušením zvyčajne sleduje tieto kroky:
1. Generácia žiadosti o prerušenie (IRQ): Hardvérové zariadenie (napr. Klávesnica, sieťová karta, ovládač disku) alebo komponent softvéru (napr. Časovač, systémové volanie) generuje požiadavku na prerušenie (IRQ). Tento signál hovorí CPU, že sa vyskytla udalosť, ktorá si vyžaduje pozornosť.
2. prerušenie ovládača: IRQ môže byť smerovaný cez ovládač prerušenia (napr. APIC - Advanced Programmable Controller prerušenia), ktorý uprednostňuje viac požiadaviek na prerušenie. Tento ovládač zaisťuje, že najdôležitejšie prerušenia sa riešia ako prvé.
3. CPU pozastavuje aktuálne vykonanie: Po prijatí prerušenia CPU * dočasne * pozastaví vykonávanie aktuálneho programu alebo úlohy. Nie je to len prestať; Dôkladne šetrí súčasný stav. Zahŕňa to uloženie nasledujúcich:
* Program Counter (PC): Adresa ďalšej inštrukcie, ktorá sa má vykonať.
* registruje: Hodnoty všetkých registrov CPU (napr. Akumulátor, ukazovateľ zásobníka).
* Stavový text procesora (PSW): Obsahuje príznaky, ktoré označujú súčasný stav CPU (napr. Prerušenie povoľuje/zakáže, príznak prenášajte).
4. kontext ukladanie: Uložený stav prerušeného procesu (PC, Registers, PSW) je známy ako kontext . OS zvyčajne ukladá tento kontext na zásobník (často zásobník jadra), takže ho možno obnoviť neskôr.
5. CPU používa číslo prerušenia (poskytnuté ovládačom prerušenia) na vyhľadanie zodpovedajúceho psovodu prerušenia (alebo rutina prerušenia služieb - ISR) v tabuľke prerušenia vektora (IVT). IVT je tabuľka v pamäti, ktorá mapuje prerušovacie čísla na adresy ich príslušných ISRS.
6. CPU skočí na adresu ISR nájdeného v IVT a začne ju vykonávať. ISR je špecifická rutina navrhnutá na zvládnutie konkrétneho prerušenia. Napríklad:
* Klávesnica ISR: Číta tlačidlo stlačené z vyrovnávacej pamäte klávesnice a uloží ho do vyrovnávacej pamäte.
* disk I/O ISR: Signalizuje dokončenie operácie na čítanie/zápis disk a skopíruje údaje do/z pamäte.
* časovač ISR: Aktualizuje časový čas a môže vyvolať ďalšie udalosti založené na uplynulom čase.
7. prerušenie manipulácie: ISR vykonáva potrebné kroky na riešenie prerušenia, napríklad:
* Sedenie zariadenia, ktoré spôsobilo prerušenie.
* Aktualizácia systémových údajov.
* Pravdepodobne naplánovanie ďalšej úlohy na spustenie.
8. prerušenie potvrdenia: Signály ISR do ovládača prerušenia (alebo zariadenia), s ktorými sa prerušilo. Často sa to robí na vyčistenie žiadosti o prerušenie.
9. Kontextové obnovenie: Akonáhle ISR dokončí svoju prácu, obnoví predtým uložený kontext (PC, Registers, PSW) zo zásobníka. To účinne obnovuje CPU do štátu, v ktorom bol pred * prerušením.
10. Návrat do prerušeného programu: CPU obnoví vykonávanie prerušeného programu v mieste, kde bol prerušený (pomocou obnovenej hodnoty PC). Program pokračuje, akoby sa nič nestalo (s výnimkou mierneho oneskorenia).
Výhody operačných systémov riadených prerušením:
* Responzívnosť: Umožňuje systému rýchlo reagovať na udalosti v reálnom čase (napr. Odčítanie snímača, vstup používateľa).
* Účinnosť: Vyhýba sa zbytočnému prieskumu, ktorý uvoľní čas CPU pre ďalšie úlohy.
* Multi-úloh: Umožňuje OS zvládnuť súčasne viacero úloh prepínaním medzi nimi na základe udalostí prerušenia.
* Podpora v reálnom čase: Nevyhnutné pre systémy v reálnom čase, ktoré si vyžadujú predvídateľné a včasné reakcie na udalosti.
Nevýhody operačných systémov založených na prerušení:
* zložitosť: Dizajn a ladenie prerušenia manipulátorov môže byť zložité.
* prerušenie latencie: Čas potrebný na reagovanie na prerušenie (latencia prerušenia) môže byť v systémoch v reálnom čase kritický. Vysoká latencia môže viesť k zmeškaniu termínov alebo nestability systému.
* prerušenie konfliktov: Nesprávne spracovanie prerušenia môže viesť ku konfliktom medzi rôznymi zariadeniami alebo komponentmi softvéru.
* Rasové podmienky: Zdieľané zdroje, ku ktorým pristupuje manipulátory prerušenia a pravidelný kód, vyžadujú starostlivú synchronizáciu, aby sa predišlo rasovým podmienkam.
Príklady operačných systémov riadených prerušením:
Väčšina moderných operačných systémov je poháňaná prerušením vrátane:
* Linux: Vážne sa spolieha na prerušenia I/O zariadenia, riadenia časovača a systémových hovorov.
* Windows: Používa prerušenia na podobné účely ako Linux.
* macos: Tiež OS riadený prerušením.
* Operačné systémy v reálnom čase (RTO): Ako sú Freertos, VXWorks, QNX, sú navrhnuté špeciálne na spracovanie prerušení s nízkou latenciou a vysokou predvídateľnosťou.
Stručne povedané, prerušenie operačného systému je výkonný a efektívny spôsob riadenia systémových zdrojov a zvládnutie udalostí v reálnom čase. Reagovaním na prerušenia môže OS bez problémov prepínať medzi úlohami a poskytnúť responzívny a efektívny výpočtový zážitok. Je však nevyhnutné starostlivo navrhovať a implementovať manipulátory prerušenia, aby sa predišlo potenciálnym problémom.