Proces (informatika)

z Wikipédie, slobodnej encyklopédie
Prejsť na: navigácia, hľadanie

V informatike je proces bežiaca inštancia programu vrátane všetkých hodnôt premenných a stavu. Multitasking operačného systému prepína medzi procesmi, čím vzniká dojem súčasného behu viacerých procesov, hoci v skutočnosti je vo všeobecnosti možné vykonávať iba jeden proces v jednom jadre CPU.

Neformálne povedané, proces je úloha, ktorú vykonáva počítač, často súčasne s inými. Mnohé procesy môžu existovať súčasne, pričom sa striedajú pri využívaní CPU.

Vo vnorených operačných systémoch sa procesy často nazývajú úlohy. Zmysel procesu je „niečo spotrebúvajúce čas“, na rozdiel od pamäte, „čo spotrebúva miesto“.

Horeuvedený opis sa vzťahuje na procesy spravované operačným systémom ako aj na procesy definované v teórii procesov.

V prvom prípade udržiava operačný systém procesy oddelené a alokuje zdroje, ktoré požadujú, takže je menej pravdepodobné, že medzi nimi nastanú konflikty, čo by mohlo spôsobiť zlyhanie systému. Operačný systém tiež poskytuje mechanizmy komunikácie medzi procesmi, aby bola umožnená komunikácia bezpečným a predvídateľným spôsobom.

Vo všeobecnosti, proces operačného systému pozostáva z týchto častí:

  • pamäť (zvyčajne existuje oblasť virtuálnej pamäte pre odložené (suspened) procesy), ktorá obsahuje vykonateľný kód alebo dáta špecifické pre vykonávanú úlohu,
  • zdroje OS alokované procesu, ako deskriptory súborov (UNIXová terminológia) alebo handles (Windows),
  • bezpečnostné atribúty, ako vlastník procesu a množina oprávnení,
  • stav procesora (kontext), ako obsah registrov, adresy fyzickej pamäte atď. Stav je uložený v registroch, keď sa program vykonáva, inak v pamäti.

Posledná položka, stav procesora súvisí s každým z vlákien procesu v operačných systémoch s multithreadingom.

Na tejto úrovni programovania sú registre zdrojom najnižšej úrovne a hodnoty programu musia byť načítané z pamäte do registrov, ktoré sa najprv znulujú a potom nastavia. Tieto kroky sa vykonávajú rýchlosťou hodinového cyklu CPU a závisia na architektúre procesora.

Ak je úloha odložená, môže byť odswapovaná na disk, v rovnakom stave ako existovala vo virtuálnej pamäti, kde sú bloky pamäte v skutočnosti na disku a nie vo fyzickej pamäti.

Pozri aj[upraviť | upraviť zdroj]