Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Každý spustiteľný kód , ktorý môžete vložiť do systémovej pamäte a vykonávať akcie , je to proces . Tam sú systémové procesy a užívateľské procesy . A proces vidlica alebo založí podriadený proces . Až na pôvodnú OS procese , nazývaného proces 0 v Unixe , všetky procesy sú vytvorené týmto spôsobom , a preto majú nadradený proces . Proces dostane CPU pozornosť iba vtedy , keď jadro umožňuje .
Užívateľa a režimy jadra
proces prebieha buď v užívateľskom režime alebo v režime jadra a udržiava dva samostatné zásobníky pri prepínaní medzi režimami . Niektoré operačné systémy môžu mať viac režimov . Ak napíšete program , postaviť a spustiť , beží proces v užívateľskom režime . To prejde do režimu jadra , keď to robí systémové volanie alebo prijíma signál prerušenia . Signál môže pochádzať z iného užívateľského procesu alebo jadra samotného . Akonáhle proces je v režime jadra , jadro eskaluje svoju prioritu v rámci systému plánovania . To tiež nie je preempt proces v režime jadra , kým sa nedokončí kritické systémové práce , po ktorej je späť v užívateľskom režime . Proces v užívateľskom režime možno pristupovať iba svoje vlastné inštrukcie a dáta alebo procesné priestor . Proces režime jadra môžu pristupovať adresy v jadre . Dobrým príkladom je kus kódu jazyka symbolických inštrukcií , ktorý robí skok na prerušenie .
System vyzýva
Ako už bolo spomenuté , je to systémové volanie , bez ohľadu na to , kto to robí a ako , ktoré prináša proces v režime jadra . Systémové volanie je vyvolanie funkcie operačného systému low - level , ktorý pristupuje a manipuluje subjekty zariadení na nízkej úrovni a vyhradenej oblasti pamäte . Je prakticky OS code . Funkcie pracujúci na OS zariadenia, ako sú súbory , rúry a semafory sú systémové volania . Open ( ) , close ( ) , read ( ) , write ( ) , lock ( ) , odomknúť ( ) , init ( ) , fork ( ) , sleep ( ) , wakeup ( ) a signál ( ) sú systémové volanie . Majú pod kontrolou OS zdroje a procesy , rovnako ako jadro by . Signálu a prerušiť spracovanie je tiež oblasť jadra a nie je používateľom procesu . V režime jadra , ovládanie je kladený na systémové volanie , ktoré robí systémové úlohy , alebo práce, ktoré jadro bude robiť inak . Je to kód , ktorý pristupuje špeciálna pamäť a registre vyhradené pre OS úloh .
Prerušenie a Privilegované inštrukcie
Niektoré strojovej inštrukcie sú privilegované a mať za následok chybu , ak vykonáva v užívateľskom režime . Napríklad proces v užívateľskom režime by nemalo byť dovolené meniť register stave procesu . Registre a privilegované pamäti jadra pomáhať jadro vo svojom kontrolnom procese práce . Ak niekto príde a zmení je , výsledky môžu byť nepredvídateľné . Ak iný proces alebo jadrá preruší proces užívateľa , jadro uloží aktuálny stav procesu na zásobníku , určí príčinu prerušenia , prerušenia služby a prináša kontrolu späť k tomu , čo proces robí . Jadro objavia procesu zásobníka tak , aby užívateľ proces môže pokračovať tam , kde skončil .
Copyright © počítačové znalosti Všetky práva vyhradené