2 RIEŠENIE PROBLÉMOV

Veľkosť: px
Začať zobrazovať zo stránky:

Download "2 RIEŠENIE PROBLÉMOV"

Prepis

1 1PARALELNÉ PROCESY PROCES, JEHO PRERUŠENIE A PLÁNOVANIE VZNIK A ZÁNIK PROCESOV SPRÁVA PARALELNÝCH PROCESOV VLÁKNA 1.1 PROCES, JEHO PRERUŠENIE A PLÁNOVANIE DEFINÍCIA POJMU PROCES Procesor v počítači vykonáva postupnosť inštrukcií, ktorá sa nazýva program. Programov je už toľko druhov, že slovo program sme prenechali práčke, alebo televízoru a hovoríme skôr o úlohách, aplikáciách, nástrojoch, prostredí, rozhraniach, procesoch, funkciách, objektoch, appletoch a podobne. Z toho je vidieť, v akom rozsahu prešli počítače do bežného života - náš jazyk začal jemnejšie rozlišovať pojmy v tejto oblasti. Na vyjadrenie množiny viacerých paralelne vykonávaných úloh na jednom počítači tu budeme používať pojem procesy. Ako proces označujeme postupnosť vykonávaných operácií (inštrukcií), ktoré tvoria jednu súvislú činnosť. Každý jednotlivý proces má tieto vlastnosti: vlastná postupnosť vykonávaných inštrukcií (operácií), vlastný vyhradený priestor adries v pamäti na uloženie údajov, pracuje sa len s vyhradenou podmnožinou registrov procesora, vlastný ukazovateľ adresy aktuálne vykonávanej inštrukcie, čo je tzv. riadiaci bod procesu (control point), množina paralelne bežiacich procesov má definovanú hierarchiu vzájomných vzťahov, kto s kým ako súvisí.

2 J.Štefanovič: Základy operačných systémov 1.2 OBR TRI SAMOSTATNÉ PROCESY BEŽIACE NA JEDNOM PROCESORE PREPÍNANIE PROCESOV: NEPRAVÝ PARALELIZMUS Na Obr. 1.1 je znázornená situácia troch paralelne bežiacich procesov v počítači. Pri použití jedného procesora musí byť tento pomocou prepínacieho zariadenia poskytovaný striedavo všetkým trom procesom. Je to síce tzv. nepravý paralelizmus, pri veľkej rýchlosti procesora však môžu byť všetky procesy obsluhované dostatočne rýchlo, takže používateľ počítača má dojem ich skutočného paralelného vykonávania. Prepínanie medzi procesmi je typickou funkciou jadra operačného systému, ktorý takto zabezpečuje distribúciu výpočtových prostriedkov počítača pre všetky bežiace procesy. Prepínanie medzi procesmi možno demonštrovať na počítači najlepšie tak, keď spustíme niekoľko výpočtovo náročnejších úloh súčasne (napríklad prehrávanie videa alebo zložitejšie simulácie). Potom možno pozorovať, ako sa aktivita počítača očividne cyklicky presúva medzi jednotlivými úlohami (čo presne bude vidieť, to záleží na type stroja a operačného systému). Pravý paralelizmus je taká situácia, keď procesy bežia na rôznych procesoroch. Bežné počítače majú spravidla len jeden hlavný procesor a nanajvýš niekoľko špecializovaných vedľajších (napríklad procesor na grafickej karte), takže operačné systémy na nich zabezpečujú chod typického nepravého paralelizmu cyklickým prepínaním mnohých procesov. Pri používaní operačného systému typu UNIX môže používateľ pomocou príkazu ps získať aktuálny zoznam všetkých jemu dostupných bežiacich procesov. Pri používaní operačného systému Windows možno pomocou stlačenia kombinácie kláves Ctrl-Alt-Del aktivovať správcu úloh (task manager), ktorý sprístupní aktuálny zoznam paralelne bežiacich procesov patriacich jadru operačného systému a procesov spustených používateľom. Správca úloh je program (časť jadra operačného systému), ktorý vykonáva prepínanie, manipuláciu s procesmi a všetky informácie potrebné pre svoju činnosť má uložené v tzv. tabuľke procesov (process table), čo je údajová štruktúra zvyčajne v podobe zreťazeného zoznamu.

3 1 Paralelné procesy 1.3 MULTITASKING, KOOPERATÍVNY A PREEMPTÍVNY V Situácia pri práci s bežným počítačom vyzerá napríklad takto: je otvorené okno v ktorom píšeme text pre , v ďalšom okne je zoznam prichádzajúcich e- mailov, ktorý sa príchodom ďalšej pošty stále aktualizuje, v rohu obrazovky idú hodiny, na obrazovke je kurzor myši, ktorý reaguje na jej pohyb, v dolnom rohu je okno ukazujúce, ktorá hudobná skladba sa práve prehráva z disku a v inom rohu je okno oznamujúce, koľko percent požadovaných údajov sa v danom okamihu stihlo preniesť z internetu do počítača a podobne. Optimálny spôsob realizácie všetkých týchto činností v jednom počítači je práve forma paralelne vykonávaných procesov, podľa potreby vzájomne komunikujúcich, kde každý obsluhuje samostatnú úlohu - myš, pošta, hodiny, písanie textu a prenášanie údajov. Situáciu vystihuje klasický vtip o tom, koľko programátorov je potrebných na výmenu žiarovky: asi dvadsať, pričom prvý naprogramuje proces postav_rebrík(), druhý pripraví proces vylez_na_rebrík(), tretí naprogramuje vyskrutkuj_žiarovku() a ostatní podobne ďalej. Keďže dnešné počítače sú rýchle a majú dostatok pamäte, je takýto modulárny systém veľkého množstva paralelných procesov efektívnym riešením. Snaha realizovať všetku funkcionalitu počítača pomocou jedného kompaktného programu (teda jedného procesu) by bola vzhľadom na vysokú zložitosť takejto implementačnej úlohy neobyčajne problematická. Je to možné pri veľmi jednoduchých systémoch, mobilné telefóny k nim však už prestávajú patriť. Ak je však množina paralelne bežiacich procesov rozsiahla, môžu sa v nej nechtiac vytvoriť problémové, ťažšie rozpoznateľné schémy vzťahov medzi procesmi, ktoré môžu za určitých podmienok viesť k spomaleniu, alebo až k zablokovaniu činnosti niektorých alebo všetkých procesov a systém zamrzne. tejto učebnici všade predpokladáme, že paralelné procesy sú vykonávané len na počítači s jedným procesorom, tzv. nepravý paralelizmus. Paralelné vykonávanie viacerých procesov na jednom procesore sa označuje ako paralelný multitasking, alebo multiprocessing. Základná technická otázka potom je, ako organizovať prepínanie procesov. Jeden spôsob je spolupráca procesov, keď bežiaci proces sám rozhoduje o prerušení svojej činnosti a požiada systém o spustenie iného procesu (prípadne aj sám určuje, ktorého). To je tzv. kooperatívny multitasking. Druhý spôsob je, že každý proces je spúšťaný na určený časový interval, potom je prerušený kýmsi kto to riadi a nechá spustiť ďalší proces. To je tzv. preemptívny multitasking, procesy sú prerušované v pravidelných časových intervaloch zvonku bez ohľadu na svoju vôľu dokončiť niektorú časť svojej činnosti ( preempcia pred vyčerpaním svojej činnosti ). Kooperácia procesov je výhodná tam, kde je možné vytvoriť globálnu organizáciu celej činnosti, rozdelenej na procesy. Preempcia procesov je nutná v demokratickom prostredí, keď nezávislí používatelia spúšťajú množstvo svojich procesov v jednom spoločnom systéme. V ďalšom texte sa budeme zaoberať len

4 J.Štefanovič: Základy operačných systémov 1.4 preemptívnym multitaskingom, keď je množina paralelne bežiacich nezávislých procesov riadená (prepínaná) správcom procesov. KONTEXT PROCESU A PREPNUTIE KONTEXTU Kompletný stav procesu je v každom okamihu jeho existencie jednoznačne určený týmito hlavnými parametrami: adresou inštrukcie, ktorá sa práve vykonáva, stavom tých registrov procesora, ktoré sú vyhradené pre činnosť procesu, stavom tej oblasti pamäti, ktorá je pre proces vyhradená a obsahuje inštrukcie procesu (takzvaný text procesu, process text - v podstate samotný program) a jeho dáta (premenné a zásobníky), údajovými štruktúrami, ktoré patria jadru operačného systému a obsahujú riadiace informácie procesu (napríklad zoznam otvorených súborov, aktuálny adresár a podobne). Túto informáciu o kompletnom stave procesu nazývame kontext procesu (process context). Kontext je úplná informácia o bežiacom procese v tom zmysle, že jej uschovanie do pamäte umožňuje proces prerušiť, odložiť a v budúcnosti znova spustiť v takom stave, v akom bol prerušený. Najdôležitejšie informácie o kontexte každého procesu sú v operačnom systéme uložené v takzvanej tabuľke procesov, prípadne sú z tejto tabuľky prístupné prostredníctvom smerníkov. Prepnutie činnosti procesora z jedného procesu na druhý si technicky vyžaduje zmeniť adresovanie do inej oblasti pamäte, vymeniť stav ukazovateľa adresy inštrukcie, vymeniť obsah pracovných registrov a podobne, čo inými slovami znamená vymeniť kontext procesu za iný a nazýva sa to prepnutie kontextu (context switch). Pri prepnutí sa musí celý kontext prerušeného predošlého procesu uložiť do pamäte v operačnom systéme tak, aby bolo možné v niektorom budúcom časovom okamihu tento proces znova rozbehnúť, teda vrátiť procesoru na vykonávanie obnovením jeho kontextu pri prepnutí. Procesor počítača možno prirovnať k remeselníkovi, ktorý ponechá jednu prácu nedokončenú, poznačí si jej stav, prejde k inej práci a potom sa znova vráti tam, kde predtým prerušil činnosť. Proces sám nevie, koľkokrát bol počas svojej existencie prerušený, pretože prerušenie nezasahuje do jeho vnútornej integrity. Môže sa to dozvedieť, len ak komunikuje s okolím. Na obr. 1.2 je znázornená situácia dvoch procesov, z ktorých v jednom okamihu beží vždy práve jeden.

5 1 Paralelné procesy 1.5 OBR. 1.2 DVA PROCESY SÚ STRIEDAVO SPÚŠŤANÉ ČASOVÉ KVANTUM PRERUŠENIE PROCESU, PRIORITA A ZÁKAZ PRERUŠENIA, OBSLUHA PRERUŠENIA Prepínanie kontextu medzi procesmi je realizované v počítači v princípe tak, že elektrické hodiny generujú v pravidelných intervaloch s veľkosťou časového kvanta signál, ktorý je pevne privedený na jeden zo vstupov procesora a pravidelne spôsobuje jeho prerušenie, po ktorom procesor začne vykonávať inštrukcie patriace operačnému systému, ktoré obsluhujú prepínanie kontextu medzi procesmi. Keď je kontext prepnutý, prerušenie sa ukončí strojovou inštrukciou návratu z prerušenia a procesor pokračuje vo vykonávaní prerušeného procesu medzitým sa však kontext procesu vymenil a teda beží iný proces. Prepínanie procesov je organizované do časových intervalov konštantnej dĺžky. Časový interval sa označuje ako kvantum (quantum, time slice) a jeho veľkosť je v počítači pevne nastavená na desiatky alebo stovky milisekúnd. Pri riadení procesov sa však osobitné situácie môžu riešiť predĺžením, alebo skrátením časového kvanta, keď si situácia vyžaduje urýchlenie, alebo synchronizáciu práve bežiaceho procesu. Aby bolo možné prepínať procesy, je procesor technicky vybavený schopnosťou vykonať prerušenie procesu (process interrupt). Prerušenie nastane buď elektrickým signálom privedeným zvonku na procesor (hardvérové prerušenie), alebo osobitnou strojovou inštrukciou (softvérové prerušenie), alebo signálom chyby vovnútri procesora (delenie nulou, pretečenie registrov a podobne). Osobitným hardvérovým prerušením je signál RESET, keď procesor zabudne všetko čo robil a začne vykonávať svoju činnosť od pevne definovaného počiatku. Pri prerušení procesor zapíše niektoré svoje dátové obsahy (hlavne aktuálny stav registra adresy poslednej vykonávanej inštrukcie) na dohodnuté miesto v pamäti a začne vykonávať ďalšiu inštrukciu na adrese, ktorá je pre dané prerušenie vopred stanovená je to tzv. adresa prerušenia (interrupt address), alebo vektor prerušenia. Procesor počítača spravidla umožňuje stanoviť celú množinu adries, kde každá adresa zodpovedá konkrétnemu typu prerušenia. Procesor rozlišuje celú množinu vonkajších prerušovacích elektrických signálov a viacero typov inštrukcií prerušenia, ktoré spoločne označujeme ako zdroje prerušenia. Zdroje prerušenia sú konštrukčne usporiadané (radičom prerušenia pre hardvérové signály) do hierarchie tak, že prerušenie s vyššie stanovenou prioritou prerušenia (interrupt priority) môže prerušiť priebeh prerušenia nižšej

6 J.Štefanovič: Základy operačných systémov 1.6 priority a nie opačne. Zvolený zdroj prerušenia môže byť dočasne ignorovaný, čo je tzv. maskovanie prerušenia, alebo zakazané prerušenie (disable interrupt) osobitnou strojovou inštrukciou. Procesor je teda automat konštrukčne uspôsobený viackrát vnorene prerušiť svoju činnosť skokom na inú adresu a potom sa z tohto vnorenia korektne vrátiť do predchádzajúcich prerušených činností. Na každú z adries prerušenia tvorca operačného systému umiestňuje do pamäte postupnosť inštrukcií, ktoré pri prerušení vykonajú tzv. obsluhu prerušenia (interrupt handling). Ako bežne viditeľné príklady prerušenia možno uviesť pohyb myšou (používateľ očakáva okamžitú reakciu na monitore), stlačenie kombinácie kláves Ctrl-Alt-Del, alebo stlačenie tlačidla reset, kedy však dochádza k úplnému reštartu činnosti počítača a žiadny z prerušených procesov sa už neobnoví. DVA REŽIMY ČINNOSTI PROCESORA Okrem podpory mechanizmu prerušenia patrí k základnému vybaveniu každého procesora rozlišovanie tzv. režimov činnosti. V princípe procesory rozlišujú dva režimy činnosti tzv. privilegovaný režim, teda režim správcu systému (privileged mode, supervisor mode) a neprivilegovaný režim. V neprivilegovanom režime nemožno na procesore vykonať niektoré druhy strojových inštrukcií, niektoré registre procesora sú inštrukciám neprístupné, alebo fyzicky interpretované ako iné registre, niektoré adresy v pamäti nemožno vygenerovať (vznikne signál chyby) a podobne. Toto umožňuje rozdeliť bežiace paralelné procesy na dve množiny. Jedna je privilegovaná, ktorá má možnosť ovplyvňovať celý systém a sú to procesy patriace operačnému systému. Druhá je neprivilegovaná, čo sú procesy spúšťané používateľom operačného systému, ktoré sú takto pod kontrolou a nemôžu zasahovať do činnosti privilegovaných procesov, kým naopak je to možné. Privilegovaný režim procesora sa teda označuje aj ako režim jadra operačného systému (kernel mode), neprivilegovaný sa označuje ako režim používateľa (user mode). Proces bežiaci v režime jadra môže pristupovať do registrov a do pamätí patriacich iným procesom a môže prepnúť režim procesora na neprivilegovaný. Proces bežiaci v režime používateľa nemá na procesore takéto právomoci, režim môže byť prepnutý len zvonku, prerušením alebo privilegovanými procesmi. Procesory bývajú konštruované na rozlišovanie viacerých hierarchicky usporiadaných režimov, bežné operačné systémy však spravidla využívajú (rozlišujú) len horeuvedené dva režimy. Prechod medzi režimom jadra a režimom používateľa sa uskutočňuje tak, že v režime jadra možno vykonať inštrukciu prepnutia módu do režimu používateľa, avšak potom to už v režime používateľa naspäť nie je možné. Prechod nazad z režimu používateľa do privilegovaného režimu je opäť možný jedine prostredníctvom vonkajšieho prerušenia, alebo určenej udalosti (delenie nulou, vypočítanie neplatnej adresy a podobne).

7 1 Paralelné procesy 1.7 Napríklad stlačením kláves Ctrl-Alt-Del vyvoláme prerušenie a spustí sa proces jadra operačného systému, ktorý má právomoc manipulovať s používateľskými procesmi a sám sa rozhoduje, kedy svoju činnosť ukončí a prepne procesor nazad do obmedzeného používateľského režimu. Ak napríklad nastane situácia pri vykonávaní používateľského procesu, ktorá je zdrojom prerušenia, procesor sa prepne do privilegovaného režimu, obslúži dané prerušenie a opäť sa znova môže prepnúť do používateľského režimu, v ktorom pokračuje vykonávanie prerušeného používateľského procesu. Príkladom je prepnutie kontextu: používateľské procesy nemajú právomoc svojvoľne prepnúť svoj kontext, pretože v používateľskom režime sa nedostanú k určitým registrom, nemôžu prekročiť stanovený rozsah adresy a nemôžu vykonať určité inštrukcie. Navyše, niektoré kritické operácie, pri ktorých sa používateľský proces o toto pokúsi, sú detekované ako zdroje osobitného prerušenia, pri ktorom jadro operačného systému môže daný používateľský proces rozpoznať ako nekorektný a zrušiť ho. Nasledujúci príklad z praxe: VOLANIE SLUŽBY JADRA OPERAČNÉHO SYSTÉMU Každý používateľský proces teda existuje v prostredí operačného systému v uzavretom priestore, ktorý je ohraničený povolenou množinou strojových inštrukcií, dostupnými registrami procesora a povolenými adresami v pamäti pre zápis a čítanie. Akýkoľvek iný prístup procesu do okolia sa môže uskutočniť len tak, že proces požiada jadro operačného systému o vykonanie určitej služby. Požiadanie o službu prebieha vykonaním jednej povolenej inštrukcie prerušenia, čo je tzv. volanie služby jadra systému (system call). Po takomto prerušení sa vykonáva taká činnosť jadra operačného systému, ktorá rozpozná druh požadovanej služby a (ak je to možné) vykoná pre ten proces požadovanú činnosť. Po jej skončení sa prepne kontext naspäť na vykonávanie toho procesu. Takéto vykonanávanie služby pre používateľský proces býva označované, že proces sa vykonáva v režime jadra. Jeden príklad volania služby: printf( helloworld ) táto procedúra v praxi znamená, že sa vykonajú inštrukcie, ktoré na dohodnuté miesto do pamäti uložia textový reťazec, ďalej na dohodnutom mieste uložia kód požadovanej služby operačného systému (výstup textu na určený terminál, do okna) a zavolajú službu jadra systému. Táto služba rozpozná požadovanú úlohu, vykoná ju, na dohodnutom mieste zanechá informáciu či sa úloha vykonala správne a vráti činnosť nazad z prerušenia do obsluhovaného procesu.

8 J.Štefanovič: Základy operačných systémov 1.8 Takéto volania služieb sa realizujú pri všetkých interakciách procesu s okolím vstup a výstup cez terminál, cez dátovú sieť, čítanie a zápis dát z/do súborov na disku a iných pamäťových zariadení, grafický výstup, zisťovanie času, komunikácia a synchronizácia medzi jednotlivými procesmi a podobne. Množina všetkých existujúcich volaní služieb tvorí tzv. používateľské rozhranie operačného systému pre procesy a je subjektom neustálej aktualizácie a zdokonaľovania. Zároveň však je aj subjektom snahy o normalizáciu (napríklad ANSI štandarty), pretože ak naprogramujeme aplikáciu využívajúcu služby určitého operačného systému, nemusí potom byť táto prenositeľná do prostredia iného systému (alebo inej verzie toho istého systému), ak niektorú službu druhý systém nepozná, alebo inak interpretuje. SPRÁVCA ÚLOH A PLÁNOVAČ PROCESOV Privilegovaný a neprivilegovaný režim procesora umožňujú programátorovi operačného systému zorganizovať a riadiť množinu paralelne bežiacich procesov tak, že v privilegovanom režime beží jeden riadiaci proces, ktorý má na starosti prepínanie kontextu všetkých ostatných procesov, ktoré bežia na neprivilegovanej úrovni. Tento riadiaci proces sa nazýva správca úloh (task manager) a informácie o procesoch spravuje v tabuľke procesov (process table), podľa ktorej môže prepínať procesy. Každá položka tabuľky procesov obsahuje informácie o stave jedného existujúceho používateľského procesu, predovšetkým údaje o kontexte procesu, aby bolo možné každý prerušený proces znova spustiť. Plánovač je schopný pomocou týchto informácií vykonávať prepínanie kontextu medzi procesmi tak, aby sa všetky paralelne prerušovane vykonávali. K tomu je ešte potrebné, aby sa vykonávalo automatické pravidelné spúšťanie plánovača, aby rozhodol o prerušení práve bežiaceho procesu a o spustení ďalšieho procesu. Spúšťanie sa deje prerušovaním pomocou hodinového signálu po konštantných časových kvantách, kedy na adrese prerušenia sú umiestnené privilegované inštrukcie na vykonanie akcie plánovača. Použitie správcu úloh na prepínanie všetkých ostatných procesov v systéme je metóda vyššie uvedeného tzv. preemptívneho multitaskingu. Správca sa v princípe nestará, čo robia procesy a či ich preruší a prepne vo chvíli, ktorá je pre ne vhodná, alebo nevhodná, keď ešte neskončili, resp. nedokončili, čo potrebovali vykonať (preemptívne plánovanie (=prepínanie) procesov). Na obr. 1.3 je naznačená schéma opakovaného spúšťania plánovača prepínajúceho procesy. Každý interval časového kvanta sa začína spustením plánovača, ktorý rozhodne o prepnutí na ďalší proces a vykoná toto prepnutie (okamih prepnutia je označený prerušovanou čiarou). Podiel času činnosti plánovača v rámci jedného časového kvanta sa označuje ako réžia, t. j. čas vynaložený na organizáciu a prepínanie procesov a teda nie na samotnú užitočnú činnosť. Časové kvantum má v technickej praxi veľkosť rádovo ms. Činnosť plánovača v princípe pozostáva z týchto dvoch samostatných krokov: najprv spravodlivý výber procesu

9 1 Paralelné procesy 1.9 ktorý sa v ďalšom kvante spustí (plánovanie procesov, scheduling) a potom operácia samotného prepnutia kontextu. Výber procesu, ktorý bude v ďalšom časovom kvante spustený, sa vykonáva programom, označovaným ako plánovač (scheduler). Programy vykonávajúce funkciu správcu úloh a plánovača sa zvyknú vytvárať čo najkratšie a najjednoduchšie, aby nezvyšovali réžiu, teda aby zbytočne nezaberali čas procesora. OBR PRAVIDELNÉ SPÚŠŤANIE PLÁNOVAČA PROCESOV, AKO NADRADENÉHO RIADIACEHO PROCESU SPÚŠŤANIE PROCESOV Na obr. 1.4 je základná schéma životného cyklu procesu (process life cycle), podľa ktorej plánovač procesov spravuje množinu paralelne bežiacich procesov. Skutočne bežiaci proces je v každom časovom okamihu len jeden, ktorý sa vyberá zo zoznamu aktívnych procesov. Pri vzniku nového procesu (operácia fork, v nasledujúcej kapitole) je tento zaradený do zoznamu aktívnych procesov (v tabuľke procesov) a čaká, až ho plánovač vyberie a vykoná spustenie procesu (launching or dispatching the process) na čas jedného kvanta. Po uplynutí časového kvanta vyberá plánovač na spustenie ďalší proces zo zoznamu aktívnych procesov (alebo môže ponechať bežať ten istý proces). Skončenie procesu (process exit) znamená zrušenie všetkých jeho aktivít a vymazanie väčšiny jeho údajov. Po skončenom procese však zostáva určitá množina údajov, kde sú uložené napríklad výstupné údaje, o ktorých sa predpokladá, že môžu byť neskôr vyžadované inými procesmi na prečítanie. Ak tieto údaje ešte existujú, proces sa nachádza v stave tzv. zombie. Procesy, ktoré čakajú na určitú udalosť a dovtedy je zbytočné ich periodicky spúšťať (plánovať), môžu byť uspané (sleep), t. j. dočasne zaradené do zoznamu spiacich procesov, aby nezaťažovali prácu celého systému spúšťaním naprázdno. Proces môže byť uspaný aj na vlastnú žiadosť, volaním príslušnej služby systému. Zobudenie procesu (process wakeup), teda jeho premiestnenie do zoznamu aktívnych procesov, vykoná jadro operačného systému pri výskyte udalosti definovanej na zobudenie daného procesu. Reálne operačné systémy majú životný cyklus procesu zvyčajne zložitejší, než je na nasledujúcom obrázku. Princíp je rovnaký, ale cyklus je rozdelený do viacerých fáz než na obr. 1.4, aby sa plánovanie a paralelný beh procesov realizovali

10 J.Štefanovič: Základy operačných systémov 1.10 optimálne. Plánovanie procesov môže byť rozdelené na dve hierarchicky samostatné plánovania: pre neprivilegované používateľské procesy a pre privilegované procesy, patriace k činnosti jadra operačného systému. OBR ŽIVOTNÝ CYKLUS PROCESU SLEEP / WAKEUP YIELD JADRO SYSTÉMU A SYSTÉMOVÉ PROCESY Operácia uspania a zobudenia (sleep/wakeup) je záležitosťou správcu úloh (procesov) a vykonáva sa na požiadanie. Požiadavku na uspanie/zobudenie procesu môže vygenerovať jadro operačného systému, alebo aj ľubovoľný proces. Proces môže požiadať aj o uspanie seba samého. Požiadať o uspanie iného procesu môže, len ak má k nemu právo prístupu. Ak proces požiadal o svoje vlastné uspanie, má to zmysel pokiaľ niektorý iný proces alebo akcia bude preňho v príhodnej chvíli požadovať zobudenie. Zvláštnosťou je v systémoch možnosť volať požiadavku yield, ktorou proces prenecháva svoj čas inému procesu: sám ňou požiada správcu úloh, aby ho predčasne zastavil a vybral iný proces a ten spustil. Keď procesy požívajú yield aby si vzájomne dávali vo vhodnej chvíli prednosť, tak situácia riadenia procesov začína mať charakter kooperatívneho multitaskingu. Doteraz bolo spomenuté, že v operačnom systéme existujú používateľské procesy, procesy patriace jadru systému a riadiace programy-procesy plánovač a správca úloh. Z hľadiska organizácie a spúšťania procesov je operačný systém množina prvkov softvéru, obvykle rozdelená na dve základné skupiny: procedúry, ktoré sa spúšťajú pri reakcii na prerušenia - tieto procedúry je potrebné umiestniť do pamäte spravidla už pri štarte operačného systému. Pri prerušení sa spustí program jadra vykonávajúci volanú procedúru pre požadovanú službu jadra. Samotný štart operačného systému (system booting) vykonáva spúšťacia procedúra (system loader), ktorá umiestni do pamäte všetky potrebné údaje a inštrukcie a potom spustí pravidelný chod plánovača procesov, systémové procesy, ktoré jadro spustí, aby pracovali pre potrebu

11 1 Paralelné procesy 1.11 samotného systému. Tieto procesy môžu, ale aj nemusia, pracovať v privilegovanom režime a je vecou plánovača, kedy ich bude spúšťať. Tieto procesy bežia buď trvale počas celej existencie operačného systému (napríklad zabezpečenie sieťovej komunikácie), alebo sa spúšťajú vo chvíli potreby (napríklad kontrola a správa súborov na disku). Procesy patriace operačnému systému spravidla nie sú spúšťané používateľom a ani jeho procesmi a označujú sa ako systémové procesy, alebo démoni (daemons). 1.2 VZNIK A ZÁNIK PROCESOV VYTVORENIE A ZRUŠENIE PROCESU Na základnom kurze programovania sa učíme, ako sa dá vytvoriť a spustiť jeden program - proces. V tej chvíli však máme pred sebou už hotový bežiaci operačný systém a vhodné programátorské prostredie, ktoré nám to zabezpečí, takže na začiatku ešte nevieme, odkiaľ sa to všetko vzalo. Aby bolo možné najprv vôbec vytvoriť celý systém paralelne bežiacich a vzájomne komunikujúcich procesov (napríklad operačný systém), je žiaduce vytvoriť pre programátora vhodné podmienky vo forme osobitných procedúr - služieb operačného systému, volaním ktorých sa dajú jednoducho automaticky vytvárať a rušiť paralelne bežiace procesy. Na umožnenie existencie paralelne bežiacich procesov v operačnom systéme je potrebné, aby systém poskytoval bežiacim procesom minimálne tieto tri základné služby, ktoré môžu byť procesmi volané: fork(), exec(), exit() (vytvorenie, vykonanie a zrušenie) Akonáhle sú tieto procedúry dané k dispozícii, možno ich použiť v programoch/procesoch a vytvárať tak systém paralelne bežiacich procesov bez toho, aby sa programátori starali o množstvo detailov. V tejto kapitole vysvetlíme funkciu týchto troch služieb systému a tým objasníme, odkiaľ prichádza množina paralelne bežiacich procesov v operačnom systéme.

12 J.Štefanovič: Základy operačných systémov 1.12 FORK Procedúra fork ( vidlička ) vytvára z bežiaceho procesu druhý identický proces, ktorý je naklonovanou kópiou prvého procesu. Kópia má rovnakú množinu inštrukcií programu a rovnaký obsah pamäte. Rozdiel je len v tom, že ide o dva nezávisle bežiace procesy. Jeden z nich je pôvodný a druhý je kópia, pričom ani jeden z nich v princípe nevie, ktorým sa stal. Túto informáciu sprostredkováva hodnota, ktorú vracia funkcia fork() v nasledovnom príklade: proces() { int pid; pid=fork(); // kto som odteraz? if(pid==0) printf("som potomok s číslom %d", getpid()); else printf("som rodič a mám nového potomka %d", pid); } RODIČ A POTOMOK, PID Na riadku programu označenom kto som odteraz? sa bežiaci proces dozvie, či je to ešte stále pôvodný proces, označovaný ako rodič (parent), alebo potomok (child, offspring) podľa hodnoty, ktorú nadobudne premenná pid. Rodičovský proces dostane túto premennú s hodnotou čísla procesu potomka, ktorý z neho vznikol a proces potomok ju dostane s hodnotou nula. Volanie procedúry fork znamená v podstate takú službu jadra operačného systému, ktorá vytvorí (naklonuje) presnú kópiu procesu volajúceho túto službu. Naklonovanie procesu tak znamená zdvojenie celého obsahu pamäti a informácií súvisiacich s procesom (Obr. 1.5) a zdvojenie položky v tabuľke procesov, ktorú používa plánovač. Po vykonaní služby fork pribudne plánovaču procesov v jeho správe jeden samostatný nezávislý proces navyše. V niektorých systémoch je procedúra fork odlišne vytvorená pre procesy patriace jadru operačného systému, vtedy sa alternatívne označuje ako clone (klonovanie procesov). Každý proces je pri svojom vzniku označený jedinečným číslom PID (Process Identificator). Tieto čísla spravuje jadro systému a poskytuje ich procesom (napríklad volaním getpid() sa proces dozvie svoje číslo). OBR VYKONANIE SYSTÉMOVEJ OBSLUHY FORK

13 1 Paralelné procesy 1.13 EXEC Samotná procedúra fork má však zmysel len v kombinácii s ďalšou službou jadra exec. Táto služba vymení obsah procesu za inú postupnosť inštrukcií, ktorú získa z vykonateľného súboru (executable file). Proces potomok teda vymení svoju postupnosť vykonávaných inštrukcií za iný program, ktorý sa takto rozbehne. Nasledujúci príklad je elementárnou ukážkou implementácie vykonávača príkazov (command interpreter), čo je vlastne princíp procesu typu shell (procesu, ktorý prijíma príkazy napísané používateľom na konzolu). V nasledujúcom jednoduchom príklade shell rozpoznáva len tri jednopísmenové príkazy: e (ukončenie činnosti), d (príkaz na výpis obsahu adresára) a t (príkaz na výpis času). Príkazy pre operačný systém môžu byť zadávané buď používateľom cez terminál (tiež sprostredkovane klikaním myšou v grafickom prostredí), alebo môžu byť napísané v textových súboroch (tzv. script files), ktoré slúžia na automatické načítavanie a vykonávanie príkazov. Bežiace procesy dávajú príkazy operačnému systému ako volania služieb jadra, takže nasledujúci program vlastne prijíma príkazy od používateľa a prekladá ich do volaní jadra systému. command_interpreter() { int pid; char príkaz[2]; while(1) { printf("\n% "); gets(príkaz); // vstup príkazu z klávesnice if(command[0]=='e')exit(); // príkaz ukončenia pid=fork(); // vidlička if(pid>0) if(command[1]!='&') waitpid(pid); // som rodič, čakám kým potomok skončí else // som potomok, volám program príkazu { if(command=='d') exec(dir.exe); //# // odovzdám riadenie programu dir if(command=='t') exec(time.exe); //# // odovzdám riadenie programu time printf("unrecognized command"); // neznámy príkaz, koniec } } BEH PROCESU NA POZADÍ Činnosť interpretera spočíva najprv vo vytvorení procesu potomka pomocou procedúry fork a potom v premene tohto potomka na proces zvoleného typu. Proces rodič zostáva čakať a proces potomok analyzuje príkaz a interpretuje ho: spustí procedúru exec, ktorá spôsobí, že sa potomok v tom okamihu premení na vykonávanie programu získaného z vykonateľného súboru dir.exe alebo time.exe. Horeuvedený zdrojový text programu treba chápať predovšetkým tak, že v okamihu označenom //# celý ten vykonávaný program zanikne proces potomka začne obsahovať iný program.

14 J.Štefanovič: Základy operačných systémov 1.14 Ak ako druhý znak nenapíšeme do príkazu &, tak rodič zavolá službu jadra operačného systému waitpid(), ktorá pozastaví vykonávanie procesu rodič po dobu, kedy beží proces potomka. Ak v príkaze uvedieme znak &, bude proces rodič neustále bežať a môžeme s jeho pomocou spustiť ďalší proces, aj keď medzitým ešte nedošlo k ukončeniu procesu potomka. Potomok teda zostal bežať nezávisle od činnosti interpretera, zostal bežať ako proces na pozadí rodičovského procesu. Na obr. 1.6 je schéma cyklickej činnosti interpretera príkazov. Hoci operácie fork() a exec() často po sebe nasledujú, sú v systémoch realizované ako samostatné operácie, pretože je medzi ne spravidla potrebné zaradiť iné operácie, na prípravu behu nového procesu (napríklad uzatvorenie a nové otvorenie súborov). OBR ČINNOSŤ INTERPRETERA PRÍKAZU EXIT PROCES INIT Posledná tu spomenutá služba systému exit je požiadaním o zrušenie procesu. Vtedy sa údaje procesu vymazávajú z pamäte a zruší sa položka v tabuľke procesov. Pri prirodzenom skončení programu sa služba exit vykoná automaticky. Ak po procese zostávajú zaznamenané údaje čakajúce na prevzatie inými procesmi alebo jadrom systému, proces je v stave označovanom ako zombie. Jadro operačného systému môže ukončiť ľubovoľný proces kedykoľvek, môže to urobiť aj používateľ vydaním príkazu pre procesy, pre ktoré má právomoc ukončiť ich. V systéme UNIX sa používa príkaz kill s parametrom číslo ukončovaného procesu pid, vo Windows možno prepnúť do správcu úloh a vybrať zo zoznamu proces, ktorý chceme zrušiť. Rozbeh činnosti pri štarte operačného systému je v princípe realizovaný tak, že najprv sa uložia do pamäte základné procedúry na obsluhu prerušení, potom sa vytvorí tabuľka procesov obsahujúca prvý proces zvyčajne nazývaný init a potom sa cyklickým prerušením spôsobovaným hodinami začne spúšťať plánovač procesov, ktorý na začiatku stále opakovane plánuje a spúšťa len ten jediný proces init. Tento proces sa pomocou volania služby fork začne množiť, tým vzniknú ďalšie procesy operačného systému a nakoniec vznikne proces, ktorý očakáva prihlásenie sa používateľa do systému. Ak používateľ zadá správne údaje (heslo), tak sa ten proces zmení na používateľský shell, ktorý

15 1 Paralelné procesy 1.15 VYKONATEĽNÝ SÚBOR očakáva príkazy z klávesnice. Ukončenie činnosti operačného systému je tzv. system shutdown, keď má byť počítač vypnutý (na príkaz človeka, alebo pri výpadku energie a podobne). Vtedy sa v systéme ukončia všetky procesy. Organizované ukončenie všetkých paralelne bežiacich procesov je dôležité na zamedzenie straty údajov, ktoré procesy spravujú v pamäti a pri ukončení potrebujú uložiť na disk. Okamžité prerušenie činnosti zložitých operačných systémov môže mať za následok stratu údajov pripojených používateľov a tiež nekonzistenciu informácií, ktoré si operačný systém ukladá pre svoju správu. Pri následnom spustení systému sa toto rozpoznáva a systém spúšťa procesy na kontrolu a opravu údajov. Vykonateľný súbor (executable file) je špeciálny súbor, ktorý obsahuje všetky informácie potrebné na spustenie programu ako bežiaceho procesu. Tento súbor sa podľa konvencie v operačných systémoch Windows označuje menom s príponou exe, klasický Unix ho pomenováva a.out, iné operačné systémy ho pomenovávajú ako ELF (Executable & Linkable object file Format). Obsah vykonateľného súboru je daný druhom operačného systému, pre ktorý bol vytvorený. V niektorých prípadoch (napríklad v Linuxe) možno spustiť vykonateľný súbor patriaci inému operačnému systému, ak je k dispozícii príslušné softvérové vybavenie. Vykonateľný súbor sa vytvára operáciou linkovania, ktorú vykonáva príslušný program (linker) a v princípe obsahuje tieto časti: Identifikačný kód, podľa ktorého operačný systém overuje, že je to naozaj súbor daného typu. V UNIXe sa tento kód nazýva magické číslo (magic number). Text programu, teda inštrukcie v strojovom kóde, získané kompiláciou zdrojového textu vytvoreného tvorcom programu. Inicializované a neinicializované dáta programu. Vložené (prilinkované) procedúry a pomocné programy, ktoré sú prevzaté z knižníc. Napríklad volanie funkcie printf( xyz ) sa pri linkovaní nahradí samotnou postupnosťou inštrukcií jej prekopírovaním z knižnice. Odkazy na iné zdroje, poskytujúce pre daný program inštrukcie a dáta. Pri spustení programu je vytvorený nový proces (vymenený, za pomoci horeuvedenej služby exec), pričom je čítaný obsah vykonateľného súboru, alokovaná pamäť a umiestňujú sa v nej dáta, prečítané z tohto súboru.

16 J.Štefanovič: Základy operačných systémov SPRÁVA PARALELNÝCH PROCESOV CIELE PLÁNOVANIA Operačné systémy používajúce organizáciu prepínania paralelných procesov na jednom zdieľanom procesore sa nazývajú systémy so zdieľaním času (time sharing). Pri prepínaní procesov je žiaduce vhodné plánovanie poradia, v ktorom sa procesy opakovane spúšťajú, pričom toto poradie môže byť priebežne aktualizované podľa situácie v systéme, aby optimálne v každom okamihu splnilo tieto základné ciele plánovania: zabezpečiť interaktívnosť používateľských procesov (človek očakáva minimálne oneskorenie pri ovládaní systému), odsunúť menej súrne úlohy na menej exponovaný čas (kontrola systému, zálohovanie, posielanie dát a podobne), zabezpečiť procesy bežiace v reálnom čase proti výpadku toku dát (audio a video projekcia).

17 1 Paralelné procesy 1.17 KRITÉRIÁ PLÁNOVANIA Kritériá na efektívne plánovanie procesov sú: spravodlivosť (fairness) - aby sa pre každý proces poskytlo zodpovedajúce percento času procesora, efektívnosť (efficiency) - aby sa procesor nezdržiaval častým spúšťaním procesu, čakajúceho na pomalý vstup, obrat (turnaround) - aby čas života každého procesu bol štatisticky čo najkratší (pri úspešnom vykonaní všetkých jeho úloh), čas čakania (waiting time) - priemerný čas čakania procesu na časové kvantum, v ktorom bude spustený, priepustnosť (throughput) - aby sa za časovú jednotku dokončilo čo najviac procesov, rýchla odozva (response time) - aby interaktívny používateľ nečakal dlho na odozvu, keď manipuluje so svojim softvérom.

18 J.Štefanovič: Základy operačných systémov 1.18 PREEMPTÍVNE PLÁNOVANIE Na udržanie priepustnosti celého systému paralelne bežiacich procesov je potrebné ustrážiť optimálny počet procesov, ktoré vznikajú aktivitou používateľov a ich procesov. Tabuľka procesov, ktorú spravuje plánovač, je často implementovaná len ako statická údajová štruktúra, pretože činnosť plánovača musí byť stručná jeho kód sa často spúšťa a nesmie zbytočne zdržiavať systém. Ak sa počet spustených procesov v systéme blíži k hraničnej kapacite, systém musí začať prinajmenšom odmietať vykonanie obsluhy fork, pretože zaplnenie celej kapacity prináša riziko zablokovania systému v sieti vzťahov medzi procesmi. Pre domáci počítač je to problém skôr akademický, pre komunikačný server zabezpečujúci spojenie tisícov mobilných klientov alebo bankové operácie v reálnom čase, je to už vážna vec. Pri plánovaní procesov existujú aj také procesy, ktoré nemožno prerušiť inými procesmi, kým svoju činnosť nedokončia. Nie je napríklad možné posielať na tlačiareň striedavo výstup z rôznych procesov, vždy sa musí dokončiť tlač z jedného zdroja. Taký proces, ktorý možno prerušiť pred dokončením jeho činnosti, je tzv. preemptívny proces (preemptive: pre-empty označuje prerušiteľnosť pred vyprázdnením množiny svojich úloh). Proces objektívne neprerušiteľný je nepreemptívny (non-preemptive). Také plánovanie procesov, pri ktorom je každý spustený proces ponechaný aby dokončil svoju požadovanú akciu, sa nazýva nepreemptívne plánovanie. Čítankovým príkladom je obsluha tlačiarne proces vykonávajúci tlačenie dokumentu na papier určite nemôže byť prerušený iným procesom tlačiacim dokument, prinajmenšom počas tlačenia jedného listu papiera. V predošlých kapitolách uvedený preemptívny multitasking je tiež prerušovanie procesov pri zdieľaní spoločného prostriedku, ktorým je v tom prípade procesor. Zdieľanie procesora procesmi znamená, že raz na ňom beží jeden proces, inokedy ďalší. Ak je činnosť jadra operačného systému, vyvolaná prerušením alebo volaním služby nepreemptívna, tak jadro nemôže byť vo svojej činnosti prerušené, kým nevykoná danú službu. Jadro má však privilégium zakázať prerušenie na procesore a podržať si procesor pre seba, kým nevykoná všetku svoju činnosť, bez ohľadu na čas jej trvania. Plánovanie a spustenie ďalšieho procesu je vtedy odložené. Pri snahe vytvoriť pohotovejší a rýchlejší systém sa jadro môže implementovať po častiach preemptívne, t. j. jeho činnosť môže byť prerušená, ak sa vykonávanie jeho kódu dostane na také definované miesto, v ktorom možno činnosť prerušiť bez straty alebo dezorganizácie dát. Ďalším zvláštnym prípadom je tok multimediálnych dát - keď je žiaduce, aby zvuk z reproduktorov a filmový obraz nebol prerušovaný pri väčšej záťaži procesora spúšťaním mnohých ďalších procesov. Multimediálne procesy teda vyžadujú osobitný prístup pri plánovaní.

19 1 Paralelné procesy 1.19 SPÔSOBY PLÁNOVANIA ZÁKLADNÝ SPÔSOB PRIORITA Plánovač určuje poradie spúšťania jednotlivých procesov podľa zvoleného spôsobu plánovania (scheduling policy). Tu uvádzame niekoľko základných metód plánovania, ktoré možno rôznymi spôsobmi modifikovať alebo kombinovať. Výber metódy plánovania pre konkrétny operačný systém závisí od potrieb systému a následne určuje jeho správanie sa. Vzhľadom na to, že prepínanie a plánovanie procesov prebieha v systéme cyklicky neustále, musí ísť o jednoduché rýchlo vykonateľné algoritmy, aby sa užitočný výkon systému zbytočne neznižoval. Metóda plánovania ide Pešek okolo (round Robin) ja taká, keď procesy sú usporiadané do zoznamu a spúšťajú sa cyklicky podľa poradia v zozname. Každý proces je periodicky spúšťaný na rovnaké časové kvantum. Čas činnosti plánovača a čas trvania prepnutia kontextu predstavuje režijné náklady, ktoré možno vyjadriť ako percentuálny podiel z trvania jedného kvanta. Ak je čas trvania jedného kvanta dlhší, potom režijné náklady klesajú, ale procesy dlho čakajúce v rade nie sú schopné dostatočne rýchlo reagovať na vonkajšie signály. Pri krátkom trvaní kvanta sa síce všetky procesy javia ako dostatočne pohotové, stúpajú však režijné náklady a procesor počítača venuje relatívne príliš veľa času prepínaniu procesov a činnosti plánovača. Predchádzajúca metóda je pre všetky procesy príliš demokratická a nerozlišuje medzi procesmi, ktoré si vyžadujú rýchlejšie spracovanie a procesmi, ktoré môžu čakať dlhšie v rade. Pri metóde plánovania podľa priority (priority scheduling) možno využiť tento jednoduchý algoritmus: na začiatku má každý proces pridelené číslo podľa svojej priority. Spúšťa sa vždy proces s najvyšším číslom, počas jeho behu sa po každom časovom kvante jeho číslo znižuje a akonáhle je nižšie ako číslo niektorého iného čakajúceho procesu, spustí sa ten čakajúci proces. Keď čísla všetkých procesov dosiahnu nulu, nastavia sa na pôvodné počiatočné hodnoty a pokračuje sa v ďalšom kole. Napríklad tri procesy A, B, C s číslami A (5), B (3), C (2) sa vykonajú v takomto poradí: A: (5 krát) B: (3 krát) C: (2 krát) Druhá varianta riešenia: po procese B môže tiež ísť znovu proces A, pričom počet časových kvánt pridelených jednotlivým procesom zostane rovnaký v rámci každého cyklu plánovania, určený prioritou. Ak je medzi čakajúcimi procesmi v jednom okamihu viac adeptov s rovnakým číslom, môžu sa napríklad vyberať podľa poradia v zozname procesov - podľa predošlej metódy round robin. Okrem pevne pridelenej statickej priority možno použiť dynamickú prioritu, keď je nastavovaná podľa momentálnej situácie. Napríklad keď proces A zo svojho vyhradeného času strávil určité percento nečinným čakaním na pomalú udalosť (napríklad komunikácia s pomalým pamäťovým diskom), jeho priorita sa v nasledujúcom kole zníži. Ak sa dá v systéme stanoviť percento času, ktoré proces v jemu vyhradenej dobe strávil užitočnou činnosťou, jeho číslo priority pre

20 J.Štefanovič: Základy operačných systémov 1.20 nasledujúce kolo sa nastavuje s prihliadnutím na tento údaj. Prepočítavanie dynamickej priority sa nemusí diať po uplynutí každého časového kvanta, pre urýchlenie činnosti systému môže postačovať občasné prepočítanie po uplynutí určitého počtu časových kvánt. V operačnom systéme UNIX môže používateľský proces dobrovoľne znížiť svoju prioritu (príkazom nice), nemá však možnosť priamo ovplyvniť jej zvýšenie. PRIORITNÉ RADY Metóda viaceré rady (multiple queues) - v tomto prípade čakajú procesy vo viacerých radoch, pričom čakatelia umiestnení v prvom rade majú najvyššiu (rovnakú) prioritu a čakatelia umiestnení v poslednom rade majú najnižšiu. Procesy vyznačujúce sa vyššou aktivitou môžu byť postupne dynamicky premiestňované do radov s vyššou prioritou a pri opačnej situácii sú postupne presunuté do radov s nižšou aktivitou. Plánovanie v operačnom systéme môže byť napríklad usporiadané tak, že určitý počet radov s najvyššou prioritou obsadzujú len procesy patriace jadru operačného systému a ich priorita je statická (nie sú premiestňované medzi radmi), zatiaľ čo rady s nižšou prioritou sú vyhradené pre používateľské procesy a ich priorita je dynamická. Metóda najkratšia úloha najprv (shortest job first): ak možno vopred zistiť alebo odhadnúť, koľko času budú procesy bežať, tak tie najkratšie sa spúšťajú najprv. Ak sa každý proces necháva bežať bez prerušenia (nepreemptívne plánovanie) tak napríklad zoznam procesov trvajúcich 8, 4, 4 a 4 časové jednotky má pri dodržaní poradia ich spúšťania časy ukončovania procesov 8, 12, 16, 20. Priemerný čas čakania procesov na spustenie je potom 14 časových jednotiek. Ak je proces trvajúci 8 jednotiek spúšťaný ako posledný, tak priemerný čas čakania procesov na spustenie je len 11 časových jednotiek. Zistenie koľko budú procesy trvať sa môže vykonávať odhadom podľa predošlej histórie procesov. Ak proces v minulosti bežal T0 časových jednotiek, predtým to bolo T1 jednotiek a ešte predtým T2, možno urobiť odhad napríklad váhovaným priemerom, kde dávnejšie pozorovania procesu majú nižšiu váhu: Tx = 1/2 T0 + 1/4 T1 + 1/4 T2. ZÁRUKY PRI PLÁNOVANÍ Metóda zaručené plánovanie (guaranteed scheduling): Keď v operačnom systéme bežia procesy kontrolujúce nejakú technologickú činnosť v reálnom čase, tak nie je prípustné, aby mal proces kontrolujúci napríklad režim chemického reaktora dlhý čas čakania na svoje opakované spustenie z toho dôvodu, že sa v reaktore dlhší čas nič nedialo. Vtedy je žiaduce rozlišovať a oddelene aplikovať dve rôzne veci: algoritmus plánovania (scheduling algorithm) a pravidlá plánovania (scheduling policy).

21 1 Paralelné procesy 1.21 LITTLEHO VZOREC SPOOLING PROBLÉMY PLÁNOVANIA SNAHA O VYLEPŠENIE Každé zariadenie v počítači (napríklad disk) môže mať osobitný vlastný rad požiadaviek, alebo procesov, čakajúcich na jeho obsluhu (device queue). Do tohoto radu sa dočasne umiestňujú tie procesy, ktoré chcú so zariadením komunikovať. Po obslúžení sú z tohto radu vybraté a vrátené do ich pôvodného mechanizmu plánovania. Dĺžku čakajúceho radu procesov (a nielen procesov) vyjadruje tzv. Littleho vzorec (Little s formula): L = A. W, kde L je priemerná dĺžka radu (počet čakateľov), A je priemerná frekvencia príchodu nových čakateľov (počet/čas) a W je priemerný čas čakania v rade. Pri obsluhe tlačiarne (nepreemptívne zariadenie) možno obísť použitie rady čakajúcich procesov pomocou metódy tzv. spooling, kedy je vytvorený špeciálny adresár, do ktorého môže ľubovoľný proces zapísať súbor dát určený na vytlačenie. Jeden osobitný paralelne bežiaci systémový proces (printer daemon) tieto súbory postupne číta, posiela ich dáta na tlačiareň a prečítané súbory vymazáva. Je to teda jediný proces, splnomocnený komunikovať s tlačiarňou. Klasické algoritmy plánovania procesov prinášajú tieto problémy: prepočítavanie priority všetkých procesov zaťažuje systém (zaberá čas), nie je vopred zaručený presný čas odozvy ani dokončenia procesu, aplikácie majú malý vplyv na nastavovanie svojej priority, nekontroluje sa veľmi riziko preťaženia systému (počet spustených procesov), aj proces s vysokou prioritou vždy musí čakať na ďalší taký podobný, systém môže byť zahltený príchodom množstva požiadaviek naraz. V operačných systémoch boli navrhnuté rôzne vylepšené algoritmy plánovania, s cieľom odstrániť problémy. Uvedieme niektoré príklady: metóda dve a viac tried plánovania - procesy sú rozdelené aspoň do dvoch skupín a v každej skupine je iný algoritmus plánovania. Skupiny sa striedajú podľa pevne stanovenej schémy; metóda požičanie priority (priority lending) - ak proces s vyššou prioritou čaká na prostriedok obsadený procesom s nižšou prioritou, môže tomu procesu požičať svoju prioritu, aby sa tento skoršie dokončil. Navyše, ak je čakajúci proces s vyššou prioritou zablokovaný, k prostriedku sa pri prepínaní plánovačom môže medzitým dostať aj ďalší proces s nižšou prioritou. Tento jav sa nazýva inverzia priority; metóda spravodlivé plánovanie (fair share scheduling) - konkrétna skupina procesov má spoločne prídelené určité množstvo časových kvánt procesora a toto množstvo si procesy rozdeľujú medzi sebou podľa aktuálnej potreby. Ak tento objem času nie sú schopné spotrebovať,

22 J.Štefanovič: Základy operačných systémov 1.22 zvyšok sa pridelí inej skupine; metóda hroziaceho termínu (deadline-driven scheduling) - používa sa napríklad pre procesy spracovávajúce dáta v reálnom čase, pre ktoré plánovač zaručí ich opakované spúšťanie s daným maximálnym oneskorením. Keď sa blíži hraničný termín a proces ešte nebol spustený, tak plánovač začne napríklad zvyšovať prioritu procesu a postupne vykonávať aj ďalšie opatrenia, smerujúce k spusteniu toho procesu; metóda stanovenia kapacity systému - Plánovač prijme ďalší proces na vykonávanie len vtedy, ak môže zaručiť požadované termíny jeho spúšťania. Kalkulácia záruky sa urobí vopred, podľa toho aká je kapacita systému a aké procesy práve bežia. URGENTNOSŤ PROCESU Druhy procesov z hľadiska voľby stratégie ich plánovania môžu byť rozlíšené napríklad takto: hard real time - musí byť dodržaný najneskorší čas pre štart činnosti, soft real time - väčšinou má byť dodržaný (take výpadky nevadia), isochronous - procesy s periodickou činnosťou v presne definovaných intervaloch, ktoré je žiadúce dodržať (napr. prenos obrazu/zvuku v reálnom čase), real-time - neperiodické procesy, občasné činnosti, ktoré ale vyžadujú rýchle spracovanie, time sharing - občasné spustenie procesu je vhodné, batch jobs procesy, ktoré sa neponáhľajú. 1.4 VLÁKNA PROCES POZOSTÁVA Z JEDNÉHO ALEBO VIACERÝCH VLÁKIEN Riadiaci bod procesu vyjadruje tá inštrukcia, ktorá sa v procese vykonáva v danom okamihu. V doterajšom texte sme predpokladali, že proces má jeden riadiaci bod, ktorý sa v čase premiestňuje pozdĺž vykonávanej postupnosti inštrukcií. V rámci jedného procesu však môže existovať viac ako jeden riadiaci bod. Znamená to, že jeden proces môže v sebe obsahovať viacero nezávisle vykonateľných postupností

23 1 Paralelné procesy 1.23 inštrukcií, ktoré môžu bežať paralelne, pričom spoločne zdieľajú dáta a prostredie v rámci jedného procesu. Takéto nezávislé paralelne bežiace aktivity v rámci jedného procesu sa nazývajú vlákna (threads). Vlákna možno definovať aj tak, že sú to procesy, ktoré zdieľajú podstatné zdroje svojej existencie (pamäť, premenné, otvorené súbory, údaje o procese). Pokiaľ konkrétny operačný systém podporuje použitie vlákien, tak jeho služba fork má dve podoby: buď požiadame jadro systému aby vytvorilo nový proces, alebo nové vlákno. Ak je jadro systému požiadané, aby vytvorilo nové vlákno, tak nevzniká žiadny nový proces. Zaznamenajú sa len informácie o vytvorení ďalšieho riadiaceho bodu pre existujúci proces a plánovač procesov pri spúšťaní procesu musí ešte navyše rozhodnúť, ktoré vlákno v tomto procese spustí. Keďže všetky paralelne bežiace vlákna zdieľajú v rámci procesu všetky jeho dáta a prostriedky a môžu s nimi vzájomne súčasne manipulovať, je vecou tvorcuprogramátora procesu, aby zabezpečil bezkolíznu existenciu všetkých vlákien pohromade. Výhodou rozdelenia úlohy na paralelne bežiace vlákna namiesto paralelne bežiacich procesov je jednoduchá komunikácia a zdieľanie dát medzi vláknami, čo by bolo menej efektívne pri nahradení vlákien samostatnými procesmi. Rozparalelnenie úlohy na samostatne bežiace procesy sa potom môže použiť len pri opodstatnených dôvodoch. Vytvorenie nového procesu je pre jadro operačného systému zložitejšia činnosť ako len vytvorenie nového vlákna. Predovšetkým sa pri novom vlákne nemusí alokovať pamäť počítača pre ďalší samostatne existujúci proces. PRÍKLAD S TROMA VLÁKNAMI int V nasledujúcom príklade sa proces rozdelí na tri vlákna, reprezentované funkciami main(), vlakno1(), vlakno2(). Pri behu tohto procesu sa striedavo spúšťajú všetky tri vlákna a výstupom procesu je postupnosť striedajúcich sa znakov A, B. Spôsob striedania určuje nezávislý plánovač. Ak predpokladáme takú konvenciu, že pri skončení hlavného vlákna main() sa automaticky nútene ukončia všetky ostatné vlákna (teda celý proces), potom hlavné vlákno musí počkať na dokončenie ostatných vlákien. Synchronizácia tohto čakania je realizovaná pomocou premennej count. Keďže všetky vlákna existujú v rámci jedného procesu, všetky majú prístup k tejto globálnej premennej a môžu zmeniť jej stav. count=0; void main(void) { vytvor_vlakno(vlakno1); vytvor_vlakno(vlakno2); while(count<2); // cakam na obidve vlakna return; // vlakno main zanikne, proces sa zrusi }

24 J.Štefanovič: Základy operačných systémov 1.24 void vlakno1(void) { // obsahom cinnosti vlakna je tato funkcia for(int x=0;x<10000;x++) printf("a"); count++; return; // tu sa cinnost skonci, vlakno1 zanikne } void vlakno2(void) { // obsahom cinnosti vlakna je tato funkcia for(int x=0;x<10000;x++) printf("b"); count++; return; // tu sa cinnost skonci, vlakno2 zanikne } VLÁKNA NEMÁ KAŽDÝ OPERAČNÝ SYSTÉM Možné vzťahy procesov a vlákien v operačnom systéme: a) Operačný systém vlákna nepozná, pracuje len s procesmi, takže každý proces v tomto systéme obsahuje formálne len jedno vlákno (má len jeden riadiaci bod). b) Pre používateľské procesy vlákna nejestvujú, jestvujú však pre procesy patriace jadru operačného systému, čím sa implementácia jadra zjednodušuje (bezkolíznosť existencie vlákien je vecou správnej implementácie jadra). c) Systém rozlišuje procesy aj vlákna. Použitie vlákien existuje aj pre jadro a aj pre používateľské procesy. d) Pre používateľské procesy vlákna nejestvujú, používateľ však môže využiť programátorskú knižnicu, ktorá umožňuje pracovať s vláknami. Plánovač síce spúšťa len procesy a nepozná vlákna, ale ním spustený proces obsahuje implementované prostriedky knižnice, ktoré spôsobujú výber niektorého z vlákien. e) Operačný systém pozná len vlákna a nepozná vôbec procesy. Jeho implementácia má potom odlišnú koncepciu, skupiny súvisiacich vlákien majú spoločnú identitu ako jedna úloha (task). Príkladom je operačný systém Mach. FIBERS Existuje ešte pojem fibers, keď systém umožňuje rozdeliť vlákno na viacero činností, vykonávaných v kooperatívnom multitaskingu v rámci jedného vlákna.

25 1 Paralelné procesy 1.25 CVIČENIA PRÍKLAD 1.1 V systéme s preemptívnym plánovaním procesov, ktorý používa na plánovanie algoritmus Round Robin, sa naraz začnú vykonávať dva procesy A, B. Proces A potrebuje na svoje dokončenie 1 sekundu času procesora, proces B potrebuje 2 sekundy. K preplánovaniu dochádza každých 100 ms. Réžia na preplánovanie je 5 ms a je súčasťou kvanta. V akom čase sa skončí vykonávanie každého z týchto procesov, keď sa obidva začnú vykonávať v čase 0 a okrem nich v systéme nie je žiadny iný proces? Uvažujte všetky možnosti. Odpoveď Jedno časové kvantum trvá 100 ms a pozostáva z 5 ms réžie a 95 ms užitočného času pre činnosť procesu. Proces A potrebuje na svoje dokončenie 1000/95 časových kvánt a proces B potrebuje 2000/95 časových kvánt, čo je po zaokrúhlení na celé kvantá 11, resp. 22. Plánovanie typu Round Robin znamená, že sa procesy jednoducho striedajú a počas behu budú ich kvantá v nasledujúcom poradí: A B A B A B A B A B A B A B A B A B A B A B B B B B B B B B B B B Proces A skončil po svojom 11. kvante, čo je celkovo po 21. kvante od začiatku. Proces B skončil po 33. kvante od začiatku. Ak máme uvažovať všetky možnosti, tak v úlohe nie je stanovené, ktorý proces bol naplánovaný ako prvý a druhá možnosť je potom: B A B A B A B A B A B A B A B A B A B A B A B B B B B B B B B B B PRÍKLAD 1.2 Statické priority procesov su nastavené takto: proces A má prioritu 1 (najnižšiu), proces B má prioritu 2 a proces C má prioritu 3 (najvyššiu). Nakreslite priebeh plánovania procesov pre dvanásť časových kvánt, pomocou uvedeného algoritmu plánovania podľa priority. Odpoveď Ak použijeme algoritmus spomenutý v texte, tak pri každom časovom kvante dekrementujeme prioritu bežiaceho procesu a v ďalšom kvante spúšťame vždy ten proces, ktorý ma prioritu najvyššiu. Ak sú priority zhodné, rozhoduje algoritmus Round Robin. Keď priority všetkých procesov dosiahnu hodnotu 0, tak sa znovu nastavia na počiatočnú hodnotu a cyklus sa opakuje. Proces C beží behom jedného cyklu plánovania 3-krát, proces B beží 2-krát a proces A prebehne jedenkrát.

26 J.Štefanovič: Základy operačných systémov cyklus 2. cyklus A B C

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto Tue Oct 3 22:05:51 CEST 2006 2. Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, ktoré si postupne rozoberieme: dátové typy príkazy bloky

Podrobnejšie

2

2 Modul Spájanie str. 1 Modul Spájanie Obsah: 1 Úvod 2 2 Prenos údajov spájanie 2 2.1.1 Generovanie údajov 3 2.1.2 Prenos údajov 4 2.1.3 Spájanie údajov 5 3 Poznámky 7 Modul Spájanie str. 2 1 Úvod Tento

Podrobnejšie

Resolution

Resolution Nastavenie rozlíšenia obrazovky Kvôli podstate technológie displeja z tekutých kryštálov (LCD) je rozlíšenie obrazu vždy pevne stanovené. Najlepší výkon zobrazenia dosiahnete nastavením rozlíšenia obrazovky

Podrobnejšie

Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Pra

Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Pra Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Praktické programovanie assemblerových funkcií Autor:

Podrobnejšie

Ponuka Štart

Ponuka Štart Mária Kostková Obsah Na čo slúži Umiestnenie ponuky Štart Základné časti ponuky Štart Prístup k priečinkom nastaveniam k programom Pri spustení Príslušenstvo Ovládací panel Na čo slúži vstup k programom,

Podrobnejšie

Architektúra OS

Architektúra OS Architektúra OS Komponenty OS Veľký a zložitý systém, akým je OS sa dá vytvoriť a spravovať, ak pozostáva z menších častí komponentov s dobre definovaným rozhraním a chovaním. Tieto komponenty je užitočné

Podrobnejšie

ŤAHÁK PRAKTICKÁ ČASŤ Prerekvizity: LINUX: WINDOWS: Inštalácia Oracle VirtualBoxu a vytvorenie virtuálneho stroja /návod nižšie/ Operačný system Window

ŤAHÁK PRAKTICKÁ ČASŤ Prerekvizity: LINUX: WINDOWS: Inštalácia Oracle VirtualBoxu a vytvorenie virtuálneho stroja /návod nižšie/ Operačný system Window ŤAHÁK PRAKTICKÁ ČASŤ Prerekvizity: LINUX: WINDOWS: Inštalácia Oracle VirtualBoxu a vytvorenie virtuálneho stroja /návod nižšie/ Operačný system Windows, na verzii nezáleží 1. Linux Návod na inštaláciu

Podrobnejšie

STRUČNÝ NÁVOD KU IP-COACHU

STRUČNÝ NÁVOD KU IP-COACHU STRUČNÝ NÁVOD KU COACHU 6 Otvorenie programu a voľba úlohy na meranie Otvorenie programu Program COACH na meranie otvoríme kliknutím na ikonu Autor na obrazovke, potom zvolíme Užívateľskú úroveň Pokročilý

Podrobnejšie

Matej Kendera - PDF, word, lucene, java

Matej Kendera - PDF, word, lucene, java Matej Kendera - PDF, word, lucene, java Indexovanie PDF a Word dokumentov na disku - Konvertovanie dokumentov do systému - Spracovanie dokumentov - Využitie Lucene, na indexáciu a vyhľadanie podobných

Podrobnejšie

Import absencí z ASC

Import absencí z ASC Import absencií z Triednej knihy ASC Agendy do programu Stravné Ako to funguje... 1. Učitelia musia v systéme ASC Agenda zapisovať neprítomných žiakov na vyučovacej hodine, tzn. je nutná elektronická evidencia

Podrobnejšie

Hardwarové prerušenie Nasledujúci kód ukazuje inštaláciu obsluhy časovača vrátane jeho inicializácie // inicializace časovače, přerušení každou milise

Hardwarové prerušenie Nasledujúci kód ukazuje inštaláciu obsluhy časovača vrátane jeho inicializácie // inicializace časovače, přerušení každou milise Hardwarové prerušenie Nasledujúci kód ukazuje inštaláciu obsluhy časovača vrátane jeho inicializácie // inicializace časovače, přerušení každou milisekundu mov r1, 0 st TMRPR, r1 mov r1, 3124 st TMRCTR,

Podrobnejšie

Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - C

Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - C Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - CREPČ 2 Manuál pre autorov (aktualizované dňa 18.3.2019)

Podrobnejšie

Microsoft Word - Priloha_1.docx

Microsoft Word - Priloha_1.docx Obsah 1 Úvod... 1 2 Hlavné menu verejnej časti ITMS2014+... 1 3 Zoznam ŽoNFP na verejnej časti ITMS2014+... 2 3.1 Vyhľadávanie ŽoNFP... 2 3.2 Horná lišta zoznamu ŽoNFP... 2 3.3 Stĺpce zoznamu ŽoNFP...

Podrobnejšie

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Ilkovičova 2, , Bratislava 4 Internet vecí v našich ž

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Ilkovičova 2, , Bratislava 4 Internet vecí v našich ž Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Ilkovičova 2, 842 16, Bratislava 4 Internet vecí v našich životoch [IoT] Používateľská príručka - Android Tím:

Podrobnejšie

Pomôcka Setup Používateľská príručka

Pomôcka Setup Používateľská príručka Pomôcka Setup Používateľská príručka Copyright 2007, 2008 Hewlett-Packard Development Company, L.P. Windows je ochranná známka spoločnosti Microsoft Corporation registrovaná v USA. Informácie obsiahnuté

Podrobnejšie

Prezentácia programu PowerPoint

Prezentácia programu PowerPoint Praktické skúsenosti s použitím rôznych metód sledovania teploty PharmDr Daniela Jenisová 6.12.2016 Conforum Workshop Monitorovanie teploty Podľa smerníc pre prepravu farmaceutických produktov je nutné

Podrobnejšie

STRUČNÝ NÁVOD KU IP-COACHU

STRUČNÝ NÁVOD KU IP-COACHU STRUČNÝ NÁVOD KU COACHU 5 Otvorenie programu a voľba úlohy na meranie Otvorenie programu Program IP- COACH na meranie otvoríme kliknutím na ikonu na obrazovke: Obr.1 Voľba úlohy na meranie Po kliknutí

Podrobnejšie

Microsoft PowerPoint - OOP_prednaska_10.pptx

Microsoft PowerPoint - OOP_prednaska_10.pptx Creational Design Patterns Lecture #10 doc. Ing. Martin Tomášek, PhD. Department of Computers and Informatics Faculty of Electrical Engineering and Informatics Technical University of Košice 2018/2019

Podrobnejšie

PAGER V3.0

PAGER V3.0 Strana č. 1 PAGER V4.2 Programový produkt PAGER V4.x je pokračovateľom programových produktov PAGER V1-3.x. Nový program zachováva komunikačný protokol počítač - modem M9600M,K a ponúka užívateľovi všetky

Podrobnejšie

Microsoft Word - 06b976f06a0Matice - Uzivatelska Dokumentacia

Microsoft Word - 06b976f06a0Matice - Uzivatelska Dokumentacia Matice Užívateľská dokumentácia k programu Autor: Miroslav Jakubík 2009 Obsah 1 Úvod... 2 1.1 Stručný popis programu... 2 1.2 Spustenie programu... 2 1.3 Otvorenie dokumentu... 3 1.4 Ovládanie programu...

Podrobnejšie

Matematický model činnosti sekvenčného obvodu 7 MATEMATICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčnéh

Matematický model činnosti sekvenčného obvodu 7 MATEMATICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčnéh 7 MTEMTICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčného obvodu. Konečný automat je usporiadaná pätica = (X, S, Y, δ, λ,) (7.) kde X je konečná neprázdna

Podrobnejšie

Ako si mám nainštalovať nový upgrade z Internetu?

Ako si mám nainštalovať nový upgrade z Internetu? Pri sťahovaní verzií z Internetu je možné postupovať nasledovnými spôsobmi: Inštalácia upgrade (aktualizácie) z internetu priamo cez program Olymp Ak máte počítač, na ktorom je nainštalovaný program Olymp,

Podrobnejšie

CitiManager - Migration Quick Reference Guide for Cardholders_Slovak_fin

CitiManager - Migration Quick Reference Guide for Cardholders_Slovak_fin Táto Rýchla referenčná príručka vám pomôže v týchto oblastiach: 1. Ako sa zaregistrovať na portáli CitiManager? a) Pre existujúcich držiteľov kariet s online výpismi b) Pre držiteľov kariet s papierovými

Podrobnejšie

2

2 Modul Formulár tlače MS WORD str. 1 Modul Formulár tlače MS WORD Obsah: 1 Úvod 2 2 Nastavenia 3 2.1 Nastavenie programu Herkules pre tlač 3 2.2 Nastavenie programu MS Word pre tlač 4 3 Tlač faktúry cez

Podrobnejšie

1 Portál pre odborné publikovanie ISSN Heuristický adaptívny PSD regulátor založený na miere kmitavosti Šlezárová Alexandra Elektrotechnika

1 Portál pre odborné publikovanie ISSN Heuristický adaptívny PSD regulátor založený na miere kmitavosti Šlezárová Alexandra Elektrotechnika 1 Portál pre odborné publikovanie ISSN 1338-0087 Heuristický adaptívny PSD regulátor založený na miere kmitavosti Šlezárová Alexandra Elektrotechnika 28.04.2010 Článok spočíva v predstavení a opísaní algoritmu

Podrobnejšie

Objektovo orientované programovanie

Objektovo orientované programovanie Objektovo orientované programovanie (Inštalácia prostredia a vytvorenie jednoduchého programu) Vladislav Novák FEI STU v Bratislave 23.9.2014 Obsah Úvod... 1 Java (Java Development Kit)... 1 Inštalácia

Podrobnejšie

Privátna zóna pre prevádzku Obsah Privátna zóna pre prevádzku 1 Obsah 1 Webová stránka 2 Úvodná stránka 2 Registrácia prevádzka/penzión

Privátna zóna pre prevádzku Obsah Privátna zóna pre prevádzku 1 Obsah 1 Webová stránka   2 Úvodná stránka 2 Registrácia prevádzka/penzión Privátna zóna pre prevádzku Obsah Privátna zóna pre prevádzku 1 Obsah 1 Webová stránka www.rekrepo.sk 2 Úvodná stránka 2 Registrácia prevádzka/penzión 3 Prihlásenie prevádzka/penzión 4 Prehľad 5 Nová platba

Podrobnejšie

Novinky programu MSklad

Novinky programu MSklad Novinky v programe MSklad 1.51 Poznámka v receptúre V receptúre je možné po novom pripísať ku každej položke poznámku, ktorá sa potom zobrazí pri tlači delenej žiadanky a voliteľne tiež pri tlači komplexnej

Podrobnejšie

Užívateľský manuál FULL HD LED stropný monitor (AUX/HDMI/USB/FM-TX)

Užívateľský manuál FULL HD LED stropný monitor (AUX/HDMI/USB/FM-TX) FULL (AUX/HDMI/USB/FM-TX) Používanie Používanie diaľkového ovládača Nasmerujte diaľkový ovládač na snímač do vzdialenosti približne 2m. Vystavenie snímača priamemu slnečnému žiareniu môže spôsobiť dočasnú

Podrobnejšie

Obsah tejto príručky Microsoft Prechod na program Access 2010 z programu Access 2003 Vzhľad programu Microsoft Access 2010 sa výrazne odlišuje od prog

Obsah tejto príručky Microsoft Prechod na program Access 2010 z programu Access 2003 Vzhľad programu Microsoft Access 2010 sa výrazne odlišuje od prog Obsah tejto príručky Vzhľad programu Microsoft Access 2010 sa výrazne odlišuje od programu Access 2003, preto sme vytvorili túto príručku, aby ste s novým rozhraním programu mohli začať pracovať čo najrýchlejšie.

Podrobnejšie

Manuál pre nastavenie tlače z VRP tlačiarní bluetooth Bluetooth Manuál pre nastavenie tlače z VRP tlačiarní -1-

Manuál pre nastavenie tlače z VRP tlačiarní bluetooth Bluetooth Manuál pre nastavenie tlače z VRP tlačiarní -1- Bluetooth Manuál pre nastavenie tlače z VRP tlačiarní -1- Návod pre užívateľa 1. Pripojenie tlačiarne cez bluetooth Prenosná tlačiareň môže byť pripojená k notebooku, mobilnému telefonu, tabletu a daľším

Podrobnejšie

Pracovný postup pre vypĺňanie údajov elektronického formulára IŠIS pre spravodajskú jednotku 1

Pracovný postup pre vypĺňanie údajov elektronického formulára IŠIS pre spravodajskú jednotku 1 Pracovný postup pre vypĺňanie údajov elektronického formulára IŠIS pre spravodajskú jednotku 1 Prihláste sa do aplikácie pomocou prihlasovacích údajov pre spravodajskú jednotku. Link na aplikáciu: http://isis.statistics.sk/

Podrobnejšie

Stravné - přecenění

Stravné - přecenění Vytvorenie a nastavenie novej kategórie pre Obedy zadarmo pre Materskú školu Platí pre verziu programu Stravné 4.61 a 4.62 POZOR! Postup pre jedálne ZÁKLADNÝCH ŠKÔL, ktoré majú povinnosť sledovať dotácie

Podrobnejšie

Úvodná prednáška z RaL

Úvodná prednáška z RaL Rozvrhovanie a logistika Základné informácie o predmete Logistika a jej ciele Štruktúra činností výrobnej logistiky Základné skupiny úloh výrobnej logistiky Metódy používané na riešenie úloh výrobnej logistiky

Podrobnejšie

Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, prič

Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, prič Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, pričom to je veľmi dôležitá súčasť úlohy. Body sa udeľovali

Podrobnejšie

Operačné systémy Prednáška č. 2 Windows 95 Windows 95 má povesť ľahko ovládateľného systému pre užívateľov a ťažkého systému pre programátorov. Začiat

Operačné systémy Prednáška č. 2 Windows 95 Windows 95 má povesť ľahko ovládateľného systému pre užívateľov a ťažkého systému pre programátorov. Začiat Operačné systémy Prednáška č. 2 Windows 95 Windows 95 má povesť ľahko ovládateľného systému pre užívateľov a ťažkého systému pre programátorov. Začiatočníci sú často zmätení architektúrou Windows a štruktúrou

Podrobnejšie

test z informatiky - hardvér Test vytvoril Stanislav Horváth Vstupno - výstupné zariadenia Otázka č.1: Aké zariadenie je na obrázku? (1 bod) a) vstupn

test z informatiky - hardvér Test vytvoril Stanislav Horváth Vstupno - výstupné zariadenia Otázka č.1: Aké zariadenie je na obrázku? (1 bod) a) vstupn test z informatiky - hardvér Test vytvoril Stanislav Horváth Vstupno - výstupné zariadenia Otázka č.1: Aké zariadenie je na obrázku? a) vstupno - výstupné b) vstupné c) výstupné Otázka č.2: Aké zariadenie

Podrobnejšie

Elektronický ukazovateľ polohy s batériou Návod na použitie

Elektronický ukazovateľ polohy s batériou Návod na použitie Elektronický ukazovateľ polohy s batériou Návod na použitie Mechanické a elektronické vlastnosti Napájanie Životnosť batérie Display Lithium battery CR2450 3.0 V 5 rokov 5-číslicové LCD s 8mm vysokým špeciálnym

Podrobnejšie

OPIdS - finančné riadenie

OPIdS - finančné riadenie Elektronizácia verejnej správy a rozvoja elektronických služieb Operačného programu Informatizácia spoločnosti Národný projekt: INFORMAČNÝ SYSTÉM CENTRÁLNEJ SPRÁVY REFERENČNÝCH ÚDAJOV Záverečná konferencia

Podrobnejšie

Quick Guide for Installing Nokia Connectivity Cable Drivers

Quick Guide for Installing Nokia Connectivity Cable Drivers KRÁTKA REFERENČNÁ PRÍRUČKA Inštalácia ovládačov Nokia Connectivity Cable Drivers Obsah 1. Úvod...1 2. Základné požiadavky...1 3. Inštalácia Ovládačov Nokia Connectivity Cable Drivers...2 3.1 Pred inštaláciou...2

Podrobnejšie

Microsoft PowerPoint - CONNECT_R&A_76_sk

Microsoft PowerPoint - CONNECT_R&A_76_sk ŠKODA CONNECT REGISTRÁCIA A AKTIVÁCIA Portál Connect Využívanie online služieb ŠKODA Connect vyžaduje predchádzajúcu registráciu používateľa a vozidla na internetovej stránke portálu Connect, ako aj aktiváciu

Podrobnejšie

Criss Cross je 3-valcový výherný prístroj, ktorý sa hrá až na 27 výherných líniách na všetkých pozíciách valcov. Hra je prístupná aj prostredníctvom m

Criss Cross je 3-valcový výherný prístroj, ktorý sa hrá až na 27 výherných líniách na všetkých pozíciách valcov. Hra je prístupná aj prostredníctvom m Criss Cross je 3-valcový výherný prístroj, ktorý sa hrá až na 27 výherných líniách na všetkých pozíciách valcov. Hra je prístupná aj prostredníctvom mobilnej verzie, pričom pravidlá hry, vklady a výhry

Podrobnejšie

Si Touch User Manual

Si Touch User Manual MK705 Mini klávesnica a lietajúca myš Manuál MK705 je kombinácia malej QWERTY klávesnice, lietajúcej myši a diaľkového ovládača. Obsah balenia Klávesnica USB prijímač USB nabíjací kábel Podporované operačné

Podrobnejšie

aplikácia do mobilého telefónu na stiahnutie digitálneho tachografu

aplikácia do mobilého telefónu na stiahnutie digitálneho tachografu aplikácia do mobilého telefónu na stiahnutie digitálneho tachografu 1. Ako zistiť či je mobil vhodný na používanie DigiDown GO Vzhľadom na rôznorodosť výrobcov mobilných telefónov, rôznorodosť systémov

Podrobnejšie

Snímka 1

Snímka 1 Počítačová sieť Komunikácia v sieti Vypracovala: Ing. Eva Gabonayová Predmet: Informatika Vzdelávacia oblasť: Matematika a práca s informáciami Úloha : Diskutujme o tom, čo si predstavujete, keď sa povie

Podrobnejšie

Paralelné algoritmy, cast c. 2

Paralelné algoritmy, cast c. 2 Paralelné algoritmy, čast č. 2 František Mráz Kabinet software a výuky informatiky, MFF UK, Praha Paralelné algoritmy, 2009/2010 František Mráz (KSVI MFF UK) Paralelné algoritmy, čast č. 2 Paralelné algoritmy,

Podrobnejšie

Ako hrat Burlesque Queen V 1.4

Ako hrat Burlesque Queen V 1.4 Burlesque Queen je 5-valcový, multi-líniový výherný video prístroj. Hrať možno na dvadsaťjeden fixných herných líniách. Hráč sa tu stretne s rôznymi hernými prvkami ako bonusová hra, voľné spiny. Hra je

Podrobnejšie

Spustenie skonvertovanej C-Image zálohy v MS Virtual PC

Spustenie skonvertovanej C-Image zálohy v MS Virtual PC Skonvertovanú zálohu Windows 7 x32 spustíme pomocou produktu Virutal PC. Vo Virtual PC vytvoríme novú virtuálnu mašinu s preddefinovanými parametrami a ako zdrojový disk použijeme našu skonvertovanú zálohu

Podrobnejšie

Modem a lokálna sieť LAN Používateľská príručka

Modem a lokálna sieť LAN Používateľská príručka Modem a lokálna sieť LAN Používateľská príručka Copyright 2007 Hewlett-Packard Development Company, L.P. Informácie obsiahnuté v tomto dokumente sa môžu zmeniť bez predchádzajúceho upozornenia. Jediné

Podrobnejšie

N desitka.indd

N desitka.indd DESIATKA Interakčná, taktická kartová hra od holandských autorov. Hra, v ktorej sa snažíte prekabátiť svojich súperov! Hra, v ktorej môže zvíťaziť aj ten, komu šťastie práve nepraje. Podmienkou sú pevné

Podrobnejšie

Inteligentné rozhodovacie systémy Heuristické prehľadávanie SP Október, 2018 Katedra kybernetiky

Inteligentné rozhodovacie systémy Heuristické prehľadávanie SP   Október, 2018 Katedra kybernetiky Inteligentné rozhodovacie systémy Heuristické prehľadávanie SP Marian.Mach@tuke.sk http://people.tuke.sk/marian.mach Október, 2018 Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 1 Best-first

Podrobnejšie

Obsah:

Obsah: Užívateľská príručka pre antidialer program OPTIMACCESS DIAL 3 1 OBSAH 1. PROGRAM OPTIMACCESS DIAL 3... 3 2. INŠTALÁCIA PROGRAMU OPTIMACCESS DIAL 3... 3 2.1. Postup inštalácie... 3 2.2. Možné problémy

Podrobnejšie

Prevádzka

Prevádzka Prevádzka Registrácia prevádzka/penzión - registrácia podnikateľského účtu - výber check box - prevádzka - pri podnikateľskom účte možnosť registrácie až piatich prevádzok naraz - uvedenie sprostredkovateľa

Podrobnejšie

VSDC Free Video Editor stručný návod na používanie Link na sťahovanie softvéru: K prog

VSDC Free Video Editor stručný návod na používanie Link na sťahovanie softvéru:   K prog VSDC Free Video Editor stručný návod na používanie Link na sťahovanie softvéru: http://www.videosoftdev.com/free-video-editor?avgaffiliate=3305 K programu je prístupný podrobný manuál doplnený s videotutoriálmi

Podrobnejšie

Pravidlá bezpečnosti pre majiteľov certifikátov certifikačnej autority DÔVERA zdravotná poisťovňa, a. s. Verzia 1.1 Platí od

Pravidlá bezpečnosti pre majiteľov certifikátov certifikačnej autority DÔVERA zdravotná poisťovňa, a. s. Verzia 1.1 Platí od Pravidlá bezpečnosti pre majiteľov certifikátov certifikačnej autority DÔVERA zdravotná poisťovňa, a. s. Verzia 1.1 Platí od 1.1. 2011 Obsah 1 Úvod... 3 2 Bezpečnostné pravidlá pre majiteľov certifikátov

Podrobnejšie

0022-vub-mobilne-tokeny-200x200-v03.indd

0022-vub-mobilne-tokeny-200x200-v03.indd MOBILNÝ TOKEN Sprievodca aktiváciou a používaním VŠETKO, ČO JE MOŽNÉ www.vub.sk, 0850 123 000 Bank of 1. ČO JE MOBILNÝ TOKEN Mobilný Token je aplikácia v mobilnom telefóne, ktorá umožňuje jednoducho potvrdzovať

Podrobnejšie

Microsoft Word - prirucka_katedry_nova

Microsoft Word - prirucka_katedry_nova Práca v systéme BUXUS Príručka pre katedrových redaktorov Michal Minarik michal.minarik@stuba.sk 2 Obsah Prihlásenie do systému BUXUS... 3 Prihlasovacie údaje... 3 Prihlasovacia obrazovka... 3 Úvodné menu...

Podrobnejšie

Návod na obsluhu FiskalPRO Mobile

Návod na obsluhu FiskalPRO Mobile Návod na obsluhu FiskalPRO Mobile Obsah Obsah 2 1. Inštalácia FiskalPRO Mobile 3 2. Prihlásenie do aplikácie a jej nastavenie 6 Nastavenie servera mobilný čašník 9 3. Predaj 10 4. Návrat 15 5. Finančné

Podrobnejšie

Sprievodný list SofComs.r.o., Priemyselná 1, Liptovský Mikuláš Program basic.sk Verzia ( ) Dátum Autor Ing. J. Malíček

Sprievodný list SofComs.r.o., Priemyselná 1, Liptovský Mikuláš Program basic.sk Verzia ( ) Dátum Autor Ing. J. Malíček Sprievodný list SofComs.r.o., Priemyselná 1, 031 01 Liptovský Mikuláš Program basic.sk Verzia 3.01.11 (3.02.01) Dátum 20.12.2017 Autor Ing. J. Malíček, Z. Patka Hot - line 044/562 41 97-8 Vážený používateľ

Podrobnejšie

PowerPoint Presentation

PowerPoint Presentation Využitie web služieb na vývoj online aplikácií Katarína Žáková Slovenská technická univerzita v Bratislave Fakulta elektrotechniky a informatiky Ústav automobilovej mechatroniky katarina.zakova@stuba.sk

Podrobnejšie

Stravné - přecenění

Stravné - přecenění Vytvorenie a nastavenie novej kategórie pre Obedy zadarmo Platí pre verziu programu Stravné 4.61 POZOR! Postup pre jedálne základných škôl, ktoré majú povinnosť sledovať dotácie od 1. 9. 2019 je uvedený

Podrobnejšie

Prezentace aplikace PowerPoint

Prezentace aplikace PowerPoint Komunikácia grafických zariadení s PC RNDr. Róbert R Bohdal, PhD. 1 Prehľad typov pripojení grafických zariadení s PC Sériový port (Serial Port) Paralelný port (Parallel Port) PS/2 (Personal System) USB

Podrobnejšie

enum

enum Objektovo orientované programovanie (enumeračné typy) 8. prednáška (3. časť) Vladislav Novák FEI STU v Bratislave 4.11.2014 (úprava 10.11. na str. 1, 3, 5) Enumeračné typy (Vymenované typy) Enumeračný

Podrobnejšie

Pripojenie sa na počítač a ovládanie vzdialenej obrazovky cez CM Remote

Pripojenie sa na počítač a ovládanie vzdialenej obrazovky cez CM Remote Pripojenie sa na vzdialenú plochu - podrobný popis, ako sa pripojiť k vzdialenej ploche. Ovládanie vzdialenej plochy - vysvetlenie všetkých funkcií, ktoré možno využiť pri ovládaní vzdialenej plochy. Pripojenie

Podrobnejšie

sutaz - Hodina s Ekostopou

sutaz - Hodina s Ekostopou Aktivita: POSVIEŤME SI (NIELEN) NA ELEKTRINU Autor: Mgr. Darina Bergmannová, ZŠ s MŠ, Tajovského ul. 2764/17, 058 01 Poprad Cesta na kurikulum: PREDMET ROČNÍK TEMATICKÝ CELOK Matematika 7. ročník ZŠ Percentá

Podrobnejšie

RAZER ABYSSUS ESSENTIAL Slovenská príručka Táto príručka slúži len ako návod základné vedomosti s hlavných funkcií a nastavení zariadenia. Podrobnejši

RAZER ABYSSUS ESSENTIAL Slovenská príručka Táto príručka slúži len ako návod základné vedomosti s hlavných funkcií a nastavení zariadenia. Podrobnejši RAZER ABYSSUS ESSENTIAL Slovenská príručka Táto príručka slúži len ako návod základné vedomosti s hlavných funkcií a nastavení zariadenia. Podrobnejšie informácie nájdete v pôvodnej anglickej príručky.

Podrobnejšie

eKasa

eKasa Virtuálna Registračná Pokladnica Modul OPD Android OBSAH Základné informácie o spoločnosti... Chyba! Záložka nie je definovaná. História zmien... Chyba! Záložka nie je definovaná. Obsah... 3 1 Systém e-kasa

Podrobnejšie

Komplexný informa ný a monitorovací systém Monitorovanie biotopov a druhov európskeho významu Používate ská dokumentácia KIMS modul Mobilná aplikácia

Komplexný informa ný a monitorovací systém Monitorovanie biotopov a druhov európskeho významu Používate ská dokumentácia KIMS modul Mobilná aplikácia Komplexný informa ný a monitorovací systém Monitorovanie biotopov a druhov európskeho významu Používate ská dokumentácia KIMS modul Mobilná aplikácia pre výkon výskytu Programový dokument: Životné prostredie

Podrobnejšie

PowerPoint-Präsentation

PowerPoint-Präsentation Global Payment Plus - phototan Návod na prechod z USB tokenu na phototan Vážení užívatelia, tento návod Vás prevedie niekoľkými jednoduchými krokmi nutnými pre úspešný prechod z USB tokenu na phototan.

Podrobnejšie

Manažment v Tvorbe Softvéru 2018/2019

Manažment v Tvorbe Softvéru 2018/2019 (dokonč.) MTS 2018/19 I. M. rozsahu projektu II. M. rozvrhu projektu III. M. nákladov projektu rozsahu rozvrhu Definovanie činností nákladov Získanie požiadaviek Zoradenie činností Odhad trvania činností

Podrobnejšie

Kartelove dohody

Kartelove dohody II. Dohody obmedzujúce hospodársku súťaž 1. Právna úprava 2. Formy dohôd 3. Typy dohôd 4. Narušenie súťaže 5. Dohody de minimis 6. Kartelové praktiky 7. Výnimky z kartelových dohôd 8. Program zhovievavosti

Podrobnejšie

Agenda záverečnej práce pedagóg Celá agenda týkajúca sa záverečnej práce je dostupná v obrazovke Záverečná práca (menu Agenda pedagóga -> Záverečné pr

Agenda záverečnej práce pedagóg Celá agenda týkajúca sa záverečnej práce je dostupná v obrazovke Záverečná práca (menu Agenda pedagóga -> Záverečné pr Agenda záverečnej práce pedagóg Celá agenda týkajúca sa záverečnej práce je dostupná v obrazovke Záverečná práca (menu Agenda pedagóga -> Záverečné práce). ZP1 odovzdanie záverečnej práce blok je prístupný

Podrobnejšie

Microsoft Word - Zmeny v dlhodobom majetku.docx

Microsoft Word - Zmeny v dlhodobom majetku.docx Zmeny v dlhodobom majetku s dopadom na DPPO A) Úprava základu dane pri osobných automobiloch so vstupnou cenou 48 000 Eur a viac Ak je v evidencii majetku osobný automobil so vstupnou cenou 48 000 Eur

Podrobnejšie

fm 2012 a predajňa.doc

fm 2012 a predajňa.doc WISP Predajňa a FM od 01.01.2012 Od verzie programu 165.2928 a DB 165.1079 sú v programe doplnené a doladené úpravy pre užívateľov WISPu, modulu Predajňa. Potrebné nastavenia modulu Predajňa a Fiškálneho

Podrobnejšie

Informačný systém pre externú časť a písomnú formu internej časti maturitnej skúšky Informačný systém pre EČ a PFIČ maturitnej skúšky Užívateľská prír

Informačný systém pre externú časť a písomnú formu internej časti maturitnej skúšky Informačný systém pre EČ a PFIČ maturitnej skúšky Užívateľská prír Informačný systém pre EČ a PFIČ maturitnej skúšky Užívateľská príručka pre opravný termín EČ a PFIČ Máj 2019 Obsah 1. ZÁKLADNÉ POKYNY... 3 2. ÚDAJE O ŠKOLE... 4 2.1 KONTROLA A ZMENA ÚDAJOV... 4 2.2 ZMENA

Podrobnejšie

7011

7011 Gypsy Rose, je 5-valcový, multi-líniový výherný video prístroj. Vyhrať možno v závislosti od rozhodnutia hráča na 1 až 30tich herných líniách. Hra je prístupná aj prostredníctvom mobilnej verzie, pričom

Podrobnejšie

SAEAUT SNMP OPC Server

SAEAUT SNMP OPC Server SAEAUT SNMP OPC Server Monitoring a riadenie s využitím SNMP protokolu a prepojenie s inými systémami cez OPC. SAE Automation, s.r.o., Nová Dubnica Interoperabilita pre Vaše zariadenia a softvérové aplikácie

Podrobnejšie

Microsoft Word Nextra_ADSLink.doc

Microsoft Word Nextra_ADSLink.doc Nextra ADSLink Nové služby Nextra ADSLink umožňujú zákazníkom pripojiť sa na internet prostredníctvom technológie ADSL. Technológia ADSL efektívne využíva existujúce telefónne siete, bez dramatických zásahov

Podrobnejšie

Navigácia po úvodnej stránke elektronickej schránky Dátum zverejnenia: Verzia: 10 Dátum aktualizácie: Navigácia po úvodnej st

Navigácia po úvodnej stránke elektronickej schránky Dátum zverejnenia: Verzia: 10 Dátum aktualizácie: Navigácia po úvodnej st Navigácia po úvodnej stránke elektronickej schránky UPOZORNENIE: Od 1. 1. 2019 sa mení názov odosielateľa správ z Úrad vlády Slovenskej republiky ÚPVS na Ústredný portál verejnej správy. Zoznam zmien:

Podrobnejšie

Slide 1

Slide 1 Programové zmeny v PS ODBYT ver. 1.230 1. Zápis dokladov 1.1. Výdaj externý 1.2. Zápis VS v hlavičke faktúry 1.3. Prenos daňovej povinnosti Novelou zákona s účinnosťou od 1.1.2018

Podrobnejšie

Prevodník USB/20mA

Prevodník USB/20mA PREVODNÍK USB / 20mA DX5220 obj. č. K4133 Návod na obsluhu Námestovo, september 2006 A0881.doc 06/2007 Obsah 1. ÚVOD...2 2. OBSLUHA ZARIADENIA...2 2.1. POPIS PREVODNÍKA... 2 2.2. INŠTALÁCIA OVLÁDAČA...

Podrobnejšie

PoĊítaĊová sieť

PoĊítaĊová sieť Počítačová sieť Def. 1: Systém vzájomne prepojených a spolupracujúcich PC Def. 2 Skupina PC (minimálne dvoch), ktoré sú navzájom prepojené takým spôsobom, že je možný prenos dát medzi nimi. Druhy počítačov

Podrobnejšie

NU_ _001_

NU_ _001_ Obj. kód: 0911330000 Ďakujeme Vám za kúpu a prejavenie dôvery našej novej rade produktov. je nezávislý klimatizačný systém, vhodný pre použitie pri vypnutom, ako aj zapnutom motore (nočné aj denné použitie)

Podrobnejšie

Microsoft Word - pouzivatelska_prirucka.doc

Microsoft Word - pouzivatelska_prirucka.doc ProFIIT 2007 - Používateľská príručka Tento dokument obsahuje používateľskú príručku systému na organizovanie súťaže ProFIIT 2007. Je rozdelená do 3 kapitol. Kapitola 1 obsahuje návod na vytvorenie používateľského

Podrobnejšie

Klasická metóda CPM

Klasická metóda CPM Operačná analýza 2-02a Klasická metóda CPM Úvod Je daná úloha časového plánovania U s množinou elementárnych činností E a reálnou funkciou c: E R ktorá každej činnosti A E priradí jej dobu trvania c(a).

Podrobnejšie

C-Monitor WIN klient pre verziu 2.8

C-Monitor WIN klient pre verziu 2.8 K CM Serveru verzie 2.8 uvoľňujeme Windows klienta. Balíček C-Monitor 2.8.690.0 obsahuje nasledovné opravy a zlepšenia: Nové šablóny pre Watches Internet Bandwidth Monitor pre WIN 8,2012, bezkonfliktná

Podrobnejšie

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE Fakulta informatiky a informačných technológií STU Ústav počítačových systémov a sietí ZADANIE SEMESTRÁLNE

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE Fakulta informatiky a informačných technológií STU Ústav počítačových systémov a sietí ZADANIE SEMESTRÁLNE Riešitelia: Bc. Michal Behúň Názov projektu: Napájací zdroj ovládaný cez sériové rozhranie počítača Navrhnite a zrealizujte zdroj napätia od 0 do 10 V ovládaný cez sériové rozhranie počítača na báze mikropočítača

Podrobnejšie

Katalóg služieb OTPdirekt-retail

Katalóg služieb OTPdirekt-retail ELEKTRONICKÉ BANKOVNÍCTVO Katalóg služieb systému OTPdirekt (individuálni klienti) OTP Banka Slovensko, a.s. poskytuje služby elektronického bankovníctva prostredníctvom systému OTPdirekt v moduloch: Call

Podrobnejšie

Automatizovaná údržba PC cez C-Monitor

Automatizovaná údržba PC cez C-Monitor Defragmentácia disku Mazanie Temp adresárov Plánované vypnutie zariadenia Plánovaný reštart Zobudenie počítača cez Wake on Lan Vypnutie / Zapnutie služby Kill procesu Podpora pre utilitu Trend Micro HijackThis

Podrobnejšie

gameDescription_bigApple

gameDescription_bigApple Big Apple Big Apple Popis a pravidlá Big Apple je hra s troma kotúčmi. Výsledky hry tvoria 3 3 výsledky, pričom každý kotúč zobrazuje časť s troma symbolmi. Snímky obrazovky Nasledujúci obrázok zobrazuje

Podrobnejšie

Príklad 5 - Benzén 3. Bilančná schéma 1. Zadanie príkladu n 1 = kmol/h Definovaný základ výpočtu. Na základe informácií zo zadania si ho bude v

Príklad 5 - Benzén 3. Bilančná schéma 1. Zadanie príkladu n 1 = kmol/h Definovaný základ výpočtu. Na základe informácií zo zadania si ho bude v Príklad 5 - enzén 3. ilančná schéma 1. Zadanie príkladu n 1 = 12.862 kmol/h efinovaný základ výpočtu. Na základe informácií zo zadania si ho bude vhodné prepočítať na hmotnostný tok. m 1 = n 1*M 1 enzén

Podrobnejšie

PowerPoint Presentation

PowerPoint Presentation 3. Biznis logika a používateľské rozhrania 30. 09. 2013 ÚINF/PAZ1c (Róbert Novotný) Plán na dnes 1. generátor náhodného citátu 1. o biznis logike 2. cesta k trojvrstvovým aplikáciám 2. ďalšie okná do aplikácie:

Podrobnejšie

2.5. Dotyčnica krivky, dotykový kužeľ. Nech f je krivka a nech P V (f) (t.j. m P (f) 1). Ak m P (f) = r a l je taká priamka, že I P (f, l) > r, potom

2.5. Dotyčnica krivky, dotykový kužeľ. Nech f je krivka a nech P V (f) (t.j. m P (f) 1). Ak m P (f) = r a l je taká priamka, že I P (f, l) > r, potom 2.5. Dotyčnica krivky, dotykový kužeľ. Nech f je krivka a nech P V (f) (t.j. m P (f) 1). Ak m P (f) = r a l je taká priamka, že I P (f, l) > r, potom l nazývame dotyčnicou krivky f v bode P. Pre daný bod

Podrobnejšie

NSK Karta PDF

NSK Karta PDF Názov kvalifikácie: Projektový manažér pre informačné technológie Kód kvalifikácie U2421003-01391 Úroveň SKKR 7 Sektorová rada IT a telekomunikácie SK ISCO-08 2421003 / Projektový špecialista (projektový

Podrobnejšie

Zasady ochrany osobnych udajov - HAGARA - JULINEK

Zasady ochrany osobnych udajov - HAGARA - JULINEK ZÁSADY OCHRANY OSOBNÝCH ÚDAJOV Informácia o ochrane osobných údajov na web ohľadom súhlasu so spracúvaním osobných údajov na marketingové účely spoločnosti V tomto informačnom memorande vám chceme poskytnúť

Podrobnejšie

DediĊnosť

DediĊnosť Gymnázium, Praha 10, Voděradská 2 Projekt OBZORY Dedičnosť v jazyku C# Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond OOP rekapitulácia Trieda je základná jednotka objektového programovania

Podrobnejšie

Manuál pre nastavenie tlače z VRP Bluetooth, USB tlačiarne Bluetooth, USB tlačiarne Manuál pre nastavenie tlače -1-

Manuál pre nastavenie tlače z VRP Bluetooth, USB tlačiarne Bluetooth, USB tlačiarne Manuál pre nastavenie tlače -1- Bluetooth, USB tlačiarne Manuál pre nastavenie tlače -1- Návod pre užívateľa Platnosť licencie: VRP licencia je viazaná na DKP firmy (daňový kód pokladnice pridelený finančnou správou). Jednu licenciu

Podrobnejšie

Tomáš Jelínek - včely vyhľadávanie

Tomáš Jelínek - včely vyhľadávanie Tomáš Jelínek - včely vyhľadávanie Včelí focused crawler Včelí focused crawler sa skladá z dvoch základných modelov správania sa včiel - správanie sa včely v úli (implementoval Tomáš Jelínek) a správanie

Podrobnejšie