StudyFiWiki
WikiWebová aplikácia
StudyFi

AI študijné materiály pre každého študenta. Zhrnutia, kartičky, testy, podcasty a myšlienkové mapy.

Študijné materiály

  • Wiki
  • Webová aplikácia
  • Registrácia zadarmo
  • O StudyFi

Právne informácie

  • Obchodné podmienky
  • GDPR
  • Kontakt
Stiahnuť na
App Store
Stiahnuť na
Google Play
© 2026 StudyFi s.r.o.Vytvorené s AI pre študentov
Wiki💻 InformatikaZáklady operačných systémovZhrnutie

Zhrnutie na Základy operačných systémov

Základy Operačných Systémov: Kompletný Prehľad pre Študentov

ZhrnutieTest znalostíKartičkyPodcastMyšlienková mapa

Úvod

Správa procesov (Správa procesov) sa zaoberá riadením bežiacich programov v systéme: ako sa vytvárajú, plánujú, prepínajú a synchronizujú. Tento materiál vysvetľuje základné pojmy, plánovanie procesov, problémy súvisiace s prioritami a kritickými sekciami a konkrétne mechanizmy používané v operačných systémoch.

Definícia: Proces je bežiaci program identifikovaný jedinečným PID, aktuálnym stavom vykonávania a kontextom potrebným na jeho obnovenie.

Základné pojmy

Čo je proces a démon

  • Proces: bežiaci program, má PID, stav plánovania (new, ready, running, waiting, terminated) a kontrolný blok obsahujúci informácie potrebné pre prepnutie.
  • Démon: dlhodobo bežiaci proces, ktorý nie je v priamej interakcii s užívateľom; čaká na udalosti a vykonáva úlohy na pozadí.

Definícia: Démon je proces bežiaci na pozadí, ktorý zvyčajne obsluhuje udalosti bez užívateľskej interakcie.

Stavy procesu

  • new: vytváraný, neinicializovaný
  • ready: pripravený, čaká na CPU
  • running: práve používa CPU
  • waiting: čaká na udalosť alebo I/O
  • terminated: ukončený alebo zastavený (napr. SIGSTOP)

Komponenty správy procesov

  • Dispatcher: vykonáva prepínanie kontextu medzi procesmi.
  • Plánovač (scheduler): rozhoduje, ktorý proces dostane CPU.
  • Správa pamäti: prideľuje a uvoľňuje pamäť pre procesy. (Poznámka: podrobnosti správy pamäti sú pokryté inde.)
  • Medziprocesová komunikácia (IPC): mechanizmy na výmenu správ a signálov medzi procesmi.

Plánovanie procesov

Plánovanie určuje poradie, v akom procesy získavajú CPU. Rozdeľujeme plánovanie na nepreemptívne a preemptívne.

Definícia: Preemptívne plánovanie umožňuje systému odobrať CPU procesu (napr. prerušením); nepreemptívne plánovanie to neumožňuje.

Hlavné algoritmy

Použitie tabuľky pre prehľad.

AlgoritmusTypCharakteristikaVýhodyNevýhody
FCFS (First Come, First Served)nepreemptívnyFIFO, proces sa mení len keď sa bežiaci vzdá CPUjednoduchéDlhé čakanie pre krátke úlohy (convoy effect)
Round-RobinpreemptívnyKaždý proces má časové kvantumférové pre interaktívne úlohyNevhodné nastavenie kvanta znižuje výkon
SJF (Shortest Job First)nepreemptívnyVyberie najkratší ďalší časoptimálne priemerné čakanieHrozí starnutie (starvation)
SRT (Shortest Remaining Time)preemptívnyPreemptívna verzia SJFlepšie pre krátke úlohypotreba odhadu zostávajúceho času
Viacúrovňové plánovaniemôže byť obojeRôzne fronty podľa priority, v každej iný algoritmusflexibilnéMôže spôsobovať starnutie
Viacúrovňové s spätnou väzboupreemptívnyNové procesy začínajú v najvyššej priorite a postupne klesajúzabraňuje monopolizácii CPUZložitejšie nastavenie
CFS (Completely Fair Scheduler)preemptívnySnaží sa rozdeliť CPU podľa váh; používa Red-Black stromférové rozdelenie CPUzložitejšie implementačne

Praktický príklad: Round-Robin

Predstavte si tri interaktívne programy A, B, C s kvantom 50 ms. CPU bude prechádzať medzi nimi každých 50 ms, čo znižuje odozvu používateľského rozhrania v porovnaní s FCFS.

💡 Věděli jste?Did you know that modern Linux kernels implement CFS which keeps per-process runtime counters and selects the process with the least runtime to run next?

Problémy s prioritami a ich riešenia

Inverzia priorít

Popis: Nízko-prioritný proces vlastní zdroj, vysokoprioritný proces čaká; proces s priemernou prioritou prebehne a zablokuje obnovenie zdroja.

  • Dôsledok: vyššie prioritné procesy sú zablokované

Riešenia:

  1. Priority ceiling: proces v kritickej sekcii dostane najvyššiu prioritu
  2. Priority inheritance: proces blokujúci dedí prioritu blokovaného procesu
  3. Zákaz prerušenia: v jednoprocesorových systémoch zakázať prerušenia počas kritickej sekcie

Definícia: Inverzia priorít je situácia, v ktorej nízka priorita bráni dokončeniu vyššie prioritného procesu kvôli držbe zdroja

Zaregistruj se pro celé shrnutí
KartičkyTest znalostíZhrnutiePodcastMyšlienková mapa
Začni zadarmo

Už máš účet? Prihlásiť sa

Správa procesov - prehľad

Klíčová slova: Operačné systémy, Správa súborov - koncepty a prehľad, Správa súborov - súborové systémy a ukladanie, Správa procesov, Synchronizácia, Programovanie v C, Správa pamäti

Klíčové pojmy: Proces má PID a stavy new, ready, running, waiting, terminated, Dispatcher vykonáva prepínanie kontextu, Plánovač prideľuje CPU podľa algoritmu (FCFS, RR, SJF, SRT, CFS), Preemptívne vs nepreemptívne plánovanie: preemptívne umožňuje odobrať CPU, Round-Robin používa časové kvantum pre férovosť, SJF optimalizuje priemerné čakanie, hrozí starvation, Inverzia priorít riešená priority inheritance alebo ceiling, Kritická sekcia: vzájomné vylúčenie a dostupnosť, Data race vzniká pri nekontrolovanom súbehu s aspoň jedným zápisom, Livelock: procesy bežia, ale neposúvajú sa dopredu, Viacúrovňové plánovanie umožňuje rôzne politiky podľa priorít, CFS udržiava per-process runtime a vyberá najmenší strávený čas

## Úvod Správa procesov (Správa procesov) sa zaoberá riadením bežiacich programov v systéme: ako sa vytvárajú, plánujú, prepínajú a synchronizujú. Tento materiál vysvetľuje základné pojmy, plánovanie procesov, problémy súvisiace s prioritami a kritickými sekciami a konkrétne mechanizmy používané v operačných systémoch. > **Definícia:** Proces je bežiaci program identifikovaný jedinečným PID, aktuálnym stavom vykonávania a kontextom potrebným na jeho obnovenie. ## Základné pojmy ### Čo je proces a démon - **Proces**: bežiaci program, má PID, stav plánovania (new, ready, running, waiting, terminated) a kontrolný blok obsahujúci informácie potrebné pre prepnutie. - **Démon**: dlhodobo bežiaci proces, ktorý nie je v priamej interakcii s užívateľom; čaká na udalosti a vykonáva úlohy na pozadí. > **Definícia:** Démon je proces bežiaci na pozadí, ktorý zvyčajne obsluhuje udalosti bez užívateľskej interakcie. ### Stavy procesu - **new**: vytváraný, neinicializovaný - **ready**: pripravený, čaká na CPU - **running**: práve používa CPU - **waiting**: čaká na udalosť alebo I/O - **terminated**: ukončený alebo zastavený (napr. SIGSTOP) ## Komponenty správy procesov - **Dispatcher**: vykonáva prepínanie kontextu medzi procesmi. - **Plánovač (scheduler)**: rozhoduje, ktorý proces dostane CPU. - **Správa pamäti**: prideľuje a uvoľňuje pamäť pre procesy. (Poznámka: podrobnosti správy pamäti sú pokryté inde.) - **Medziprocesová komunikácia (IPC)**: mechanizmy na výmenu správ a signálov medzi procesmi. ## Plánovanie procesov Plánovanie určuje poradie, v akom procesy získavajú CPU. Rozdeľujeme plánovanie na nepreemptívne a preemptívne. > **Definícia:** Preemptívne plánovanie umožňuje systému odobrať CPU procesu (napr. prerušením); nepreemptívne plánovanie to neumožňuje. ### Hlavné algoritmy Použitie tabuľky pre prehľad. | Algoritmus | Typ | Charakteristika | Výhody | Nevýhody | | --- | --- | --- | --- | --- | | FCFS (First Come, First Served) | nepreemptívny | FIFO, proces sa mení len keď sa bežiaci vzdá CPU | jednoduché | Dlhé čakanie pre krátke úlohy (convoy effect) | | Round-Robin | preemptívny | Každý proces má časové kvantum | férové pre interaktívne úlohy | Nevhodné nastavenie kvanta znižuje výkon | | SJF (Shortest Job First) | nepreemptívny | Vyberie najkratší ďalší čas | optimálne priemerné čakanie | Hrozí starnutie (starvation) | | SRT (Shortest Remaining Time) | preemptívny | Preemptívna verzia SJF | lepšie pre krátke úlohy | potreba odhadu zostávajúceho času | | Viacúrovňové plánovanie | môže byť oboje | Rôzne fronty podľa priority, v každej iný algoritmus | flexibilné | Môže spôsobovať starnutie | | Viacúrovňové s spätnou väzbou | preemptívny | Nové procesy začínajú v najvyššej priorite a postupne klesajú | zabraňuje monopolizácii CPU | Zložitejšie nastavenie | | CFS (Completely Fair Scheduler) | preemptívny | Snaží sa rozdeliť CPU podľa váh; používa Red-Black strom | férové rozdelenie CPU | zložitejšie implementačne | ### Praktický príklad: Round-Robin Predstavte si tri interaktívne programy A, B, C s kvantom 50 ms. CPU bude prechádzať medzi nimi každých 50 ms, čo znižuje odozvu používateľského rozhrania v porovnaní s FCFS. Did you know that modern Linux kernels implement CFS which keeps per-process runtime counters and selects the process with the least runtime to run next? ## Problémy s prioritami a ich riešenia ### Inverzia priorít Popis: Nízko-prioritný proces vlastní zdroj, vysokoprioritný proces čaká; proces s priemernou prioritou prebehne a zablokuje obnovenie zdroja. - Dôsledok: vyššie prioritné procesy sú zablokované Riešenia: 1. **Priority ceiling**: proces v kritickej sekcii dostane najvyššiu prioritu 2. **Priority inheritance**: proces blokujúci dedí prioritu blokovaného procesu 3. **Zákaz prerušenia**: v jednoprocesorových systémoch zakázať prerušenia počas kritickej sekcie > **Definícia:** Inverzia priorít je situácia, v ktorej nízka priorita bráni dokončeniu vyššie prioritného procesu kvôli držbe zdroja

Ďalšie materiály

ZhrnutieTest znalostíKartičkyPodcastMyšlienková mapa
← Späť na tému