Amadej Javornik SIMULATOR SINHRONIZACIJE PROCESOV Z MONITORJEM Diplomsko delo Maribor, april 2013

Velikost: px
Začni prikazovanje s strani:

Download "Amadej Javornik SIMULATOR SINHRONIZACIJE PROCESOV Z MONITORJEM Diplomsko delo Maribor, april 2013"

Transkripcija

1 Amadej Javornik SIMULATOR SINHRONIZACIJE PROCESOV Z MONITORJEM Diplomsko delo Maribor, april 2013

2 SIMULATOR SINHRONIZACIJE PROCESOV Z MONITORJEM Diplomsko delo Študent: Študijski program: Mentor: Amadej Javornik UN ŠP Računalništvo in informacijske tehnologije red. prof. dr. Damjan Zazula Maribor, april 2013 I

3 II

4 ZAHVALA Zahvaljujem se mentorju za pomoč in vodenje pri opravljanju diplomskega dela. Posebna zahvala gre staršem in partnerki, ki so me podpirali pri študiju III

5 SIMULATOR SINHRONIZACIJE PROCESOV Z MONITORJEM Ključne besede: monitor, sinhronizacija procesov, Hoare, Hansen, simulacija UDK: (043.2) Povzetek V diplomski nalogi preučujemo sinhronizacijo procesov z monitorjem, njegovo delovanje in uporabo pogojnih spremenljivk. Izdelali smo računalniški program, s katerim lahko simuliramo delovanje monitorja v različnih situacijah. Pri izdelavi programa smo se osredotočili na izvedbo algoritmov po Hansonu in Hoareu ter zasnovali uporabniški vmesnik, ki omogoča vnos parametrov in prikaz delovanja monitorja. Pregledali smo področje računalniških simulacij in na kratko opisujemo, na kakšen način lahko vrednotimo računalniške sisteme in analiziramo njihovo zmogljivost. Razložimo tri različne simulacijske tehnike, od katerih smo v našem programu uporabili tehniko naslednjega dogodka. Ilustrativno prikažemo pristope k sinhronizaciji procesov, zatem pa se osredotočimo na področje naše naloge, tj. delovanje monitorja in algoritmov po Hansenu in Hoareu. Simulator za sinhronizacijo procesov z monitorjem smo izdelali v programskem jeziku C#, zato v nalogi razložimo programsko rešitev in pristop k izdelavi simulatorja. Napisali smo še kratka uporabniška navodila. Delovanje monitorja simuliramo z vhodnim nizom potrošnikov in proizvajalcev, ki se morajo sinhronizirati pri odlaganju proizvodov v skupni vmesnik in jemanju proizvodov iz njega. Proizvodi so lahko različnih usklajenih velikosti, tako da je stanje v vmesniku pri dovolj velikem številu proizvajalcev in potrošnikov vedno uravnoteženo. Realizirali smo Hansonov in Hoareov algoritem. Za preverjanje učinkovitosti obeh algoritmov smo uporabili enak vhodni niz, saj so rezultati le tako med seboj primerljivi. Preverjanje smo ponovili z različnimi nizi proizvajalcev in potrošnikov pri obeh algoritmih, rezultate simulacij in delovanje algoritmov pa smo na koncu še statistično ocenili. IV

6 SIMULATION OF PROCESS SYNCHRONIZATION BY USING THE MONITOR Key words: monitor, process synchronization, Hoare, Hansen, simulation UDK: (043.2) Abstract In this thesis we studied synchronization of processes with monitor, its operation and use of condition variables. We developed a program to simulate the monitor operation under different conditions. We focused on the implementation of algorithms by Hanson and Hoare and user interface for inputting the simulation parameters and display the monitor s operation. We examined the scope of computer simulations and summarized the ways to evaluate systems and analyze their performance. We described the three most often used simulation techniques and we implemented the next event technique in our program. We illustrated approaches to the synchronization of processes and then we focused on the scope of our thesis, i.e. the monitor operation and the algorithms by Hansen and Hoare. The simulator of the process synchronization using a monitor was written in the C# programming language, a brief description of its implementation is given in the thesis along with a short user guide. We simulate the monitor operation by the input queue of consumers and producers, which must be synchronized when accessing the common buffer where their products are being stored or picked up. Products are available in different adjusted sizes, so that the utilization of the buffer is balanced if a sufficiently large number of producers and consumers are present at any moment. We implemented the algorithms by Hanson and Hoare. To verify the effectiveness of both algorithms, we used the same input queue of processes, which only guarantees the results to be comparable with each other. Simulations were repeated with different combinations of producers and consumers by using the two algorithms and, finally, the results were assessed statistically. V

7 KAZALO 1 UVOD SIMULACIJSKE TEHNIKE IN ZNAČILNOSTI SINHRONIZACIJE PROCESOV Simulacijske tehnike Sinhronizacija procesov Sinhronizacija procesov z monitrojem Hansnova rešitev za monitor Hoareova rešitev za monitor SIMULATOR SINHRONIZACIJE PROCESOV Z MONITORJEM Cilji in specifikacija Programske rešitve Izvedba simulatorja Uporabniški vmesnik Nastavitve simulacije Simulacija delovanja monitorja Prikaz rezultatov in statistik IZVEDBA SIMULACIJE IN PRIMERJAVA REZULTATOV Kratka uporabniška navodila Primer Primer Primer Primer Primer Primer SKLEP VIRI, LITERATURA PRILOGE Programska koda simulatorja Naslov študenta Kratek življenjepis VI

8 KAZALO SLIK Slika 1: Shematski prikaz monitorja in čakalnih vrst [7][4]... 5 Slika 2: Hierarhični diagram metod za simulacijski modul Slika 3: Struktura razreda monitor Slika 4: Struktura razreda process Slika 5: Uporabniški vmesnik, prikazan po modulih, ločenih z oranžno obrobo Slika 6: Okno, ki v uporabniškem vmesniku omogoča nastavitve parametrov za simulacijo Slika 7: Prikaz animacije Slika 8: Prikaz rezultatov in statistik Slika 9: Začetno stanje uporabniškega vmesnika Slika 10: Grafični prikaz rezultatov za proizvajalce, primer Slika 11: Grafični prikaz rezultatov za potrošnike, primer Slika 12: Grafični prikaz rezultatov za proizvajalce, primer Slika 13: Grafični prikaz rezultatov za potrošnike, primer Slika 14: Grafični prikaz rezultatov za proizvajalce, primer Slika 15: Grafični prikaz za potrošnike, primer Slika 17: Grafični prikaz rezultatov za potrošnike, primer Slika 16: Grafični prikaz rezultatov za proizvajalce, primer Slika 18: Grafični prikaz rezultatov za proizvajalce, primer Slika 19: Grafični prikaz rezultatov za potrošnike, primer Slika 20: Grafični prikaz rezultatov za proizvajalce, primer Slika 21: Grafični prikaz rezultatov za potrošnike, primer VII

9 KAZALO PREGLEDNIC Tabela 1: Pokazatelji zmogljivosti, merjeni pri preizkušanju algoritmov Tabela 2: Nastavitve za simulacijo v primeru Tabela 3: Rezultati za primer Tabela 4: Nastavitve za simulacijo v primeru Tabela 5: Rezultati za primer Tabela 6: Nastavitve za simulacijo v primeru Tabela 7: Rezultati za primer Tabela 8: Nastavitve za simulacijo v primeru Tabela 9: Rezultati za primer Tabela 10: Nastavitve za simulacijo v primeru Tabela 11: Rezultati za primer Tabela 12: Nastavitve za simulacijo v primeru Tabela 13: Rezultati za primer VIII

10 UPORABLJENE KRATICE RAID - standard povezovanja diskov in upravljanja z njimi (ang. redundant array of independent disks; originally redundant array of inexpensive disks) DOS - operacijski sistem podjetja Microsoft (ang. disk operating system) USB - univerzalno serijsko vodilo (ang. universal serial bus) LIFO - princip polnjenja vrste, prvi pride prvi melje (ang. last in first out) CSV - format zapisa števil, ki so ločena z vejico (ang. comma-separated values) IX

11 1 UVOD V računalništvu se pojem sinhronizacije navezuje na dva različna, a povezana koncepta: sinhronizacijo procesov in sinhronizacijo podatkov. Sinhronizacija procesov [4][6][7][15] se nanaša na uporabo mehanizmov, ki zagotavljajo, da dva sodelujoča procesa ne bosta hkrati izvajala kritičnih odsekov v programski kodi. Če je eden od procesov vstopil v kritični odsek, morajo vsi ostali procesi, ki bi prav tako radi izvajali svoje kritične odseke, počakati, da izvajanje konča proces, ki je že vstopil v kritični odsek kode. Sinhronizacija procesov [13] se uporablja tako v majhnih večopravilnih sistemih kot tudi v večprogramskih okoljih, prav tako pa se uporablja v okoljih z več računalniki, pri distribuiranih operacijskih sistemih, ki lahko nadzirajo več tisoč računalniških enot, v bančnih sistemih, pri spletnih strežnikih itd. pri sinhronizaciji podatkov pa gre za to, da vodimo več kopij podatkov tako, da se spremenijo vse kopije, če pride do sprememb v eni od njih. Primeri sinhronizacije podatkov [12] vključujejo datotečno sinhrnonizacijo, kot je npr. sinhronizacija podatkovnega USB-ključa z računalnikom, sinhronizacijo datotečnih sistemov, ki skrbijo, da datotečni sistemi vodijo podatke ali kazala usklajeno znotraj gruče računalnikov, sinhronizacijo podatkov v predpomnilniku, sinhronizacijo RAID, pri čemer so podatki zapisani na večih diskih, tako da izguba podatkov na enem disku ne vodi v njihovo izgubo, sinhrnonizacijo replike podatkovnih baz, ki skrbi, da so podartki usklajeni kljub fizični ločenosti sistemov, itd. Pri sinhronizaciji podatkov je potrebna tudi sinhronizacija procesov, ki sinhronizirajo podatke. Današnji operacijski sistemi so večinoma večprogramski. V preteklosti so obstajali enoprogramski operacijski sistemi, kot npr. DOS, ki je lahko naenkrat poganjal le en program oz. proces, kar pa je upočasnilo medsebojno izmenjavo podatkov med programi oz. procesi. Zato so se na tržišču kmalu pojavili večprogramski sistem, ki omogočajo souporabo računalniških virov. Večprogramskost podpira operacijski sistem, ki s pomočjo razvrščevalnih algoritmov omogoča hkratno uporabo virov. V večprogramskih in večopravilnih operacijskih sistemih je nujno treba poskrbeti za usklajeno delovanje vseh sodelujočih procesov. Višjenivojske sinhornizacijske postopke, kot jih uvaja monitor, je lažje razumeti, če si jih lahko nazorno prikažemo. Za to je potreben računalniški simulator, ki s pomočjo animacije nazorno prikaže delovanje algoritmov in rezultate, ki jih dosegajo. Cilj diplomske naloge je preučiti delovanje algoritmov, ki sta ju za sinhronizacijo procesov 1

12 z monitorjem predlagala Hoare in Hansen, ter izdelati preprost simulator, ki bo nazorno prikazal delovanje teh dveh algoritmov za različne nabore vhodnih parametrov. Prikazali bomo tudi rezultate, ki smo jih dobili pri simulaciji več različnih situacij. Naš program mora omogočati animacijo sinhroniziranih procesov, katerih tip in lastnosti so naključno generirani ali jih sami zapišemo v vhodno vrsto simulatorja. Animacija bo prikazovala vsa stanja procesov med izvajanjem monitorjevih funkcij. Vhodna vrsta procesov, ki želijo vstopiti v monitor, je lahko poljubno dolga. Prehjajanje med stanji procesov v monitorju bomo prikazovali z njihovim premikanjem skozi monitor. V nalogi si bomo najprej pogledali simulacijske tehnike, nato pa bomo na kratko opisali zahteve pri sinhronizaciji procesov. Sledi podroben opis preučevanih algoritmov, njihove prednosti in slabosti, zatem pa bomo na kratko opisali uporabniški vmesnik in zasnovo simulatroja. Osrednji del naloge je posvečen zasnovi in izdelavi računalniškega simulatorja in njegovega animacijskega delovanja. Napisali bomo tudi kratka uporabniška navodila. Diplomsko nalogo končujemo z nekaj testnimi simulacijami, prikazi njihovih rezultatov in razpravo o uspešnosti izdelane aplikacije. 2

13 2 SIMULACIJSKE TEHNIKE IN ZNAČILNOSTI SINHRONIZACIJE PROCESOV 2.1 Simulacijske tehnike Simulacijske tehnike [5] se uporabljajo za posnemanje obnašanja nekega realnega sistema. Model računalniškega sistema, kateremu pravimo tudi simulacijski model oz. kar simulator, poganjamo z modelom vhodnih podatkov, kot jih sicer uporablja realni sistem, in tako dobimo numerične rezultate, ki nam pomagajo pri vrednotenju zmogljivosti sistema. Seveda je pri vrednotenju sistemov s pomočjo simulatorja pomembno, da so pridobljeni rezultati pristni, prav tako pa je pomembna tudi natančnost simulatorja. Cilj simulatorja je čimbolj se približati rezultatom, ki nam jih daje resnični sistem. Da bi lahko ocenili dejansko natančnost sistema, posredujemo resničnemu sistemu in simulatorju popolnoma enake vhodne parametre in ju poženemo pod enakimi pogoji. Tako dobimo rezultate iz izvajanja realnega sistema in iz simulatorja. Primerjamo jih in tako določimo natančnost simulatorja. V našem primeru ponazarjamo poleg časovnega obnašanja tudi zgradbo in sestavo modeliranega sistema. Tak model tako izdelamo s pomočjo podobnostnih pravil. Simulatorji računalniških sistemov so ponavadi izvedeni kot računalniški programi, katerih interni parametri predstavljajo strukturo simuliranega sistema, vhodni parametri predstavljajo podatke, ki jih mora sistem obdelati, izhodni podatki pa ustrezajo kazalcem zmogljivosti sistema. Tako lahko s prilagajanjem vhodnih parametrov simuliramo različne situacije, ki se pojavljajo v realnem sistemu. Pri simulacijah poznamo tri različne pristope. Prvi pristop temelji na tehniki naslednjega dogodka (ang. next event technique). Ta tehnika temelji na spisku dogodkov in dogodkovnih rutinah, kjer čas napreduje tako, kot je to zapisano v spisku dogodkov v različno dolgih skokih. Druga tehnika je tehnika stalnih korakov (ang. fixed-step technique), kjer čas povečujemo enakomerno in nato nenehno pregledujemo, ali je pogoj za nadaljevanje izpolnjen ali ne. Pri tej tehniki so zato v ospredju aktivnosti, ki jih z vsakim korakom pregledamo. Zadnja tehnika temelji na kombiniranju pogojnih in brezpogojnih dogodkov, vključenih v soodvisne procese (ang. preocess interaction approach). S to tehniko na neki način spremljamo procese, ki se ob istem času znajdejo v 3

14 istem sistemu. Vsak dogodek, ki bi se moral zgoditi za opazovani proces, steče šele takrat, ko so zanj izpolnjeni vsi pogoji, saj se mora v nasprotnem primeru umakniti in počakati, da se pogoji spremenijo. 2.2 Sinhronizacija procesov V današnjih operacijskih sistemih teče mnogo soodvisnih procesov, ki zaradi izmenjave informacij potrebujejo sinhronizacijske mehanizme, da izmenjava poteka usklajeno. Izmenjava informacij lahko poteka preko vmesne zbirke ali pa kar s pomočjo skupnega pomnilnika (ang. shared memory). Skupni pomnilnik uporabljajo predvsem niti. Sinhronizacija procesov [4][7] je potrebna tudi pri izvajanju določenih delov programske kode, katere izvajanje je kritično. Takšnemu odseku pravimo kritični odsek (ang. critical section). V računalniških sistemih imamo več procesov in predvidimo, da ima vsak od njih kritični odsek kode, v katerem bo spreminjal globalne spremenljivke, skupne tabele, skupne podatkovne zbirke itd. Če želimo zagotoviti pravilno spreminjanje teh skupnih podatkov, moramo zagotoviti, da se v svojem kritičnem odseku izvaja le en proces hkrati. To dosežemo s t. i. medsebojnim izključevanjem (ang. mutual exclusion), kar mora podpirati protokol, ki je vgrajen v vsak proces, da ne pride do hkratnih vstopov v več kritičnih odsekov. Ta protokol mora vsebovati vstopni in izstopni del. Vstopni del poskrbi, da proces vstopi v kritični odsek, če nobeden od sodelujočih procesov takrat ne izvaja svojega kritičnega odseka. Nato izvede svoj del kode in ko konča, vstopi v izstopni del sinhronizacijskega protokola in omogoči naslednjemu procesu, ki čaka pred svojim kritičnim odsekom kode. Vsak postopek reševanja problema s kritičnem odsekom mora izpolnjevati naslednje tri pogoje. Kot smo že prej omenili, mora izpolnjevati pogoj medsebojnega izključevanja, ki določa, da nobeden od sodelujočih procesov ne sme vstopiti v kritični odsek, če svojega že izvaja eden od sočasno tekočih procesov. Prav tako mora izpolnjevati pogoj napredovanja (ang. progress); če je kritični odsek prost, lahko vsi sodelujoči, ki se ne izvajajo v ostalih sekcijah kode, tekmujejo za dovoljenje za izvajanje vsak svojega kritičnega odseka. Zadnji pogoj je omejeno čakanje (ang. bounded waiting), ki narekuje, da mora biti določeno mejno število vstopov v kritične odseke, medtem ko eden od procesov čaka na dovoljenje, da vstopi v kritični odsek. 4

15 2.3 Sinhronizacija procesov z monitrojem Monitor [4][11] je visokonivojski gradnik, ki se uporablja za sinhronizacijo procesov, ko želijo dostopati do kritičnega odseka kode, s katero se spreminjajo globalne spremenljivke, skupne tabele, skupne podatkovne zbirke itd. Kritični odsek lahko v določenem trenutku izvaja samo eden od sodelujočih procesov, saj bi v nasprotnem primeru lahko prišlo do hkratnega spreminjanja podatkov in do njihove nekonsistentnosti. Monitor lahko kliče več procesov hkrati, izvajanje pa je dovoljeno le enemu. Proces, ki kliče monitor, naleti na začetku na sinhronizacijski del kode, ki skrbi za pravilno medsebojno izključevanje. Sinhronizacija je realizirana s pomočjo pogojnih spremenljivk, s čimer dosežemo, da pri uporabi virov ne pride do navzkrižnega blokiranja. Uporaba pogojnih spremenljivk je dovoljena le v ukazih čakaj in signaliziraj. Ko je vir, ki ga želi trenutni proces uporabljati, zaseden, se izvede ukaz čakaj, če pa želi proces vir, ki ga zaseda, vrniti, spet pokliče monitor za ta poseg. Monitor s pomočjo procedure signaliziraj nato omogoči dostop do vira naslednjemu procesu iz čakalne vrste. Če je v monitorju več procesov, morajo vsi razen enega biti v stanju spanja. Slika 1: Shematski prikaz monitorja in čakalnih vrst [7][4] 5

16 Izvedba algoritma proizvajalec-potrošnik z monitorjem [4]: type pro_pot = monitor var poln, prazen : condition init false; števec : integer init 1; procedure vnos begin {N je dolžina vmesnika} if števec = N then čakaj(poln); vnos novega proizvoda; števec := števec + 1; if števec = 0 then signaliziraj(prazen); end; procedure odstrani begin if števec = 0 then čakaj(prazen); odstrani proizvod; števec := števec - 1; if števec = N then signaliziraj(poln); end; end monitor; procedure proizvajalec begin while true do begin proizvedi nov proizvod; pro_pot.vnos; end end procedure proizvajalec begin while true do begin proizvedi nov proizvod; pro_pot.odstrani; end end 6

17 2.3.1 Hansnova rešitev za monitor Hansen [4] je predlagal preprosto rešitev, po kateri se mora proces v monitorju izvesti do konca, čeprav je med svojim izvajanjem morda že odprl pogoj za nadaljevanje enega od čakajočih procesov v monitorju. Temu procesu signalizira šele čisto na koncu kritičnega odseka in takoj za tem zapusti monitor. Seveda je to le najosnovnejša situacija obnašanja procesov, ki jih sinhroniziramo po Hansnovem algoritmu. Do drugačne situacije lahko pride v primeru, ko za neki proces v vmesnuku ali nimamo dovolj prostora, da bi odložil svoje podatke, ali pa je v vmesniku premalo podatkov, da bi se lahko izvedel do konca. Zato v tem primeru proces opravi svoje delo, kolikor ga lahko, in nato gre spat ter omogoči izvajanje monitorja naslednjemu, ki čaka. V tem primeru lahko gre za proces, ki je že v monitorju in spi, saj je bil postavljen v spanje, ker ni imel pogojev za dokončanje svojega dela, ali pa je to proces, ki čaka v vrsti za prvo izvajanje monitorja. Proces, ki mu je bilo signalizirano, da lahko opravi svoje delo, to stori in ob izstopu iz monitorja signalizira naslenjemu procesu, za katerega je izpolnjen pogoj. Primer: Imejmo situacijo, ko v monitorju spi en potrošnik, saj je bil ob njegovem vstopu v monitor vmesnik prazen, zato je izvedel ukaz čakaj(prazen) in se postavil v vrsto za pogojno spremenljivko prazen. Nato je prišel še en potrošnik, ki je prav tako moraj izvesti preverjanje vmesnika z ukazom čakaj(prazen). Ker je vmesnik še vedno prazen, se mora tudi ta proces pripeti ob pogojno spremenljivko prazen. Tako imamo v monitorju dva speča potrošnika, ki čakata na proizvajalca, da napolni vmesnik. Nato v monitor vstopi proizvajalec, ki odloži v vmesnik dovolj podatkov, potrebnih za oba speča potrošnika. Ta proizvajalec takoj zapusti monitor in izvede ukaz signaliziraj(prazen), s čimer omogoči prvemu spečemu potrošniku, da opravi svoje delo. Ko ta potrošnik delno izprazni vmesnik, takoj zapusti monitor. Ker imamo v monitorju še enega potrošnika, se ponovno izvede ukaz signaliziraj(prazen). Potrošnik, ki čaka, se zbudi, opravi delo in takoj zapusti monitor. Tako je sedaj monitor prazen in sedaj ga lahko zasede naslednji proces, ki čaka v vhodni vrsti, saj je vhodni semafor odprt. Podobna situacija bi nastala, če bi bil vmesnik poln in bi v monitor drug za drugim prišla dva proizvajalca, ki ne bi mogla opraviti svojega dela. Oba bi izvedla ukaz čakaj(poln) in se postavila v vrsto za pogojno spremenljivko poln. Nato bi prišel potrošnik, ki bi izpraznil vmesnik in bi, ko bi 7

18 zapustil monitor, izvedel signaliziraj(poln) ter tako omogočil izvajanje procesu iz vrste pogojne spremenljivke poln. Ko bi ta proces opravil svoje delo, bi zapustil monitor in če bi bili izpolnjeni pogoji za proces, ki spi v vrsti pogojne spremenljivke poln, bi izvedel ukaz signaliziraj(poln) Hoareova rešitev za monitor Hoare [4] je predlagal, da se da pri izvajanju vedno prednost tistemu, ki čaka v monitorju, pa je ravno bil izpolnjen pogoj za njegovo nadaljevanje. V tem primeru proces, ki opravi svoje delo, pogleda, ali v monitorju slučajno spi kateri od procesov, za katerega se je pravkar izpolnil pogoj za nadaljevanje. Če v monitoju imamo tak proces, za katerega je izpolnjen pogoj, mu proces, ki se je ravnokar izvajal, da prednost. To naredi tako, da izvede ukaz signaliziraj, ki signalizira procesu, ki čaka ob ustrezni pogojni spremenljivki, da lahko začne z izvajanjem monitorja. Ko proces, ki mu je predhodni signaliziral, konča svoje delo, takoj zapusti monitor. Če je pogoj za procese, ki čakajo v vrsti za to pogojno spremenljivko, še vedno izpolnjen, lahko naslednji od teh procesov izvajanje svoje opravilo v monitorju in takoj nato zapusti monitor. Tako vsi procesi, ki čakajo za to pogojno spremenljivko, izvedejo svoje posege, dokler ne pride do situacije, ko pogoj ni več izpolnjen. Ko pride do takšne situacije, lahko proces, ki je dal prednost, zapusti monitor in omogoči naslednjemu, ki čaka v čakalni vrsti pred monitorjem, da vstopi v monitor. Primer: Imejmo primer, ko v monitorju spita dva potrošnika, saj je bil ob njunem prihodu vmesnik prazen in sta morala oba počakati in izvesti ukaz čakaj(prazen). Nato v monitor pride proizvajalec, ki proizvede ravno dovolj podatkov, da lahko svoje delo opravita tudi potrošnika, ki spita v monitorju. Zato proces, ki je ravnokar prišel v monitor, odloži vse svoje podatke, s čimer vzpostavi pogoje za nadaljevanje prvega procesa v vrsti za spremenljivko prazen. Izvede signaliziraj(prazen) in da prednost tistemu, ki mu je bilo signalizirano. Ta opravi svoje delo in preveri, ali je pogoj za potrošnike še kar izpolnjen. V tem našem primeru je seveda pogoj izpolnjen, zato se izvede signaliziraj(prazen) in tako je zbujen tudi drugi proces, ki čaka v vrsti za pogojno spremenljivko prazen. Ko ta opravi svoje delo, preveri, kateri od procesov, ki je v monitorju in spi, lahko opravi svoje delo. To je proces, ki je dal prednost, zato se izvede 8

19 ukaz signaliziraj(naslednji), če je semafor naslednji uporabljen za začetek vrste vseh procesov, ki ostanejo v monitorju, ker so dali prednost drugim. Proces se zbudi in zapusti monitor ter sprosti vhodni semafor, tako da lahko sedaj monitor zasede naslednji proces, ki čaka v vhodni vrsti. Do podobne situacije bi prišlo, če bi bil vmesnik poln in prihajajoči proizvajalci ne bi mogli odložti svojih podatkov. Zato bi izvedli ukaz čakaj(poln) in se postavili v vrsto za pogojno spremenljivko poln. Nato bi prišel potrošnik, ki bi delno izpraznil vmesnik. Ker bi zaradi tega sprostil tudi pogoj za prvi proces, ki čaka v vrsti pogojne spremenljivke poln, bi izvedel ukaz signaliziraj(poln) in dal prednost, tako da bi zaspal ob semaforji naslednji. Tako bi lahko prvi proizvajalec odložil svoje podatke in nato takoj zapustil monitor, še prej pa preveril, ali je še vedno izponjen pogoj za napredovanje procesa, ki je bil za njim v vrsti za pogojno spremenljivko poln. Če bi bil, bi ga zbudil in nato zapusti monitor. Ko pogoj ne bi bil več izpolnjen, bi proces, ki bi tedaj zapuščal monitor, zbudil proces, ki je dal prednost, in mu omogočil, da tudi on zapusti monitor. 9

20 3 SIMULATOR SINHRONIZACIJE PROCESOV Z MONITORJEM 3.1 Cilji in specifikacija Namen diplomske naloge je preučiti sinhronizacijo procesov z monitorjem, njegovo delovanje in uporabo pogojnih spremenljivk. Izdelali smo učni program, s katerim je mogoče simulirati delovanje monitorja v različnih situacijah. Pri izdelavi programa smo se osredotočili na izvedbo algoritmov po Hansonu in Hoareu ter zasnovali uporabniški vmesnik, ki omogoča vnos parametrov in prikaz delovanja monitorja. V operacijskih sistemih poznamo mnogo različnih načinov, kako sinhronizirati procese, vendar bomo tukaj obravnavamo samo monitor. Njegovo delovanje animiramo na računalniškem zaslonu. Procesi za vhodno vrsto pri monitorju so tvorjeni ali avtomatično ali pa ročno z izbrano porazdelitvijo lastnosti. Vhodna vrsta je omejena. Razmerje simuliranega in dejanskega časa se da nastavljati samo po vnaprej izbranih stopnjah. Lastnosti procesov so omejene z izbiro dveh tipov, ki ustrezata definiciji za proizvajalce in potrošnike. Pri raziskovanju rešitev za simuliranje delovanja monitorja smo se zgledovali po strokovnih objavah in virih, ki so dostopni na svetovnem spletu [3][8][10]. Za animacijo v uporabniškem vmesniku smo uporabili standardno grafično okolje Visual Studio 2010, simulator pa smo napisali v višjem programskem jeziku C [8]. Simulacijo izvajamo s tehniko naslednjega dogodka. Preizkuse smo opravili na nivoju funkcionalnosti, rezultati pa so prikazani grafično in numerično, hkrati pa smo jih še statistično ovrednotili. 3.2 Programske rešitve Programske rešitve v nadaljevanju naloge predstavimo z diagrami poteka, nato razložimo delovanje posameznih modulov in uporabniški vmesnik. Simulacijski program omogoča nastavitve parametrov animacije, kjer lahko izberemo želeni algoritem za sinhronizacijo procesov. Prav tako simulator omogoča avtomatično tvorbo procesov za vhodno vrsto, ki pa jo lahko sestavimo tudi ročno. Če izberemo ročno sestavljanje vhodne vrste, nam uporabniški vmesnik ponudi vnos potrošnikov in proizvajalcev, ki jim je moč nastaviti količino enot za predali ali odvzemanje iz skupnega 10

21 skladišča oz. vmesnika. Za sinhronizacijo poskrbi monitor. Možno je tudi uvoziti vnaprej pripravljeno vhodno vrsto iz datoteke, ki mora biti zapisana v točno določenem formatu. Vhodna vrsta se polni po principu LIFO in v takšnem vrstnem redu nato procesi kličejo monitor. Animacija je prikazana kot pomikanje krožcev, ki predstavljajo procese. Za animacijo je namenjenem osrednji del uporabniškega vmesnika. Proizvajalci in potrošniki so predstavljeni z različnima barvama, ki si ju lahko tudi sami izberemo. Animacijo nadzorujemo s pomočjo gumbov za začetek animacije, za začasno ustavljanje med izvajanjem, ali pa za resetiranje, kar pomeni, da se vhodna vrsta izprazni, uporabniški vmesnik pa se postavi v začetno stanje. Uporabniški vmesnik ponuja statistične izračune ves čas med simulacijo. Ti se spreminjajo v odvisnosti od testnih primerov in z njimi določamo zmogljivost algoritmov. Seveda nam program po končni simulaciji vrne tudi statistiko, ki vsebuje čase čakanj in obdelave v monitorju. 3.3 Izvedba simulatorja Simulacijski modul skrbi za prikaz animacije, zato bomo tudi podrobneje opisali princip za izvedbo simulacije. Kot smo že omenili, se okno izrisuje v časovnih presledkih, ki jih odreja nastavljeni časovnik. Ta osvežuje modul v razmiku 10 ms. Diagram na sliki 2 prikazuje razdelitev modula na metode, ki skrbijo za izris animacije. Slika 2: Hierarhični diagram metod za simulacijski modul 11

22 Kot je razvidno iz diagrama, je glavna metoda za izris modula timer_tick, ki se proži vsakih 10 ms. S pomočjo metode Invalidate sproži metodo Form_paint, v kateri pregledujemo vrsto generiranih procesov. Glede na njihove lastnosti se nato izrišejo na pravem mestu na zaslonu. S pomočjo metod movement, workwithdata, moveemptyqueue, movefullqueue in moveenterencequeue se izrisujejo oznake za procese znotraj odprtega okna. Metoda movement skrbi za pomik procesov po oknu: pomikajo se glede na svoj status in izračunano pozicijo v pikslih. Hitrost pomikanja je odvisna od predhodno nastavljene hitrosti animacije, pri čemer so možne tri stopnje. Za ustrezen pomik čakalnih vrst služijo metode move*queue, za pravilen prikaz vmesnika pa skrbi metoda workwithdata. V simulacijskem modulu se uporabljata tudi razreda monitor in process. Razred monitor, ki ga kot celoto uporabimo pri obravnavi vsakega procesa, skrbi za simulacijo delovanja monitorja po izbranem algoritmu. Vsebuje metode, ki proces usmerjajo skozi monitor. Diagram s slike 4 prikazuje, kako je sestavljen objekt monitor. Slika 3: Struktura razreda monitor Vsak proces, ki želi uporabiti monitor, najprej naleti na sinhronizacijski del, za kar skrbi metoda monitorsynchcode. Ta metoda dodaja procese v vhodno čakalno vrsto in jih jemlje iz nje ter inicializira vstopni semafor. Sledijo metode, ki so vezane na pogojno spremenljivko. Če proces ne more opraviti svojega dela, pokliče metodo wait. Ta simulira 12

23 klic čakaj in poskrbi, da se proces glede na svoj tip ustrezno razvrsti v čakalno vrsto za svojo pogojno spremenljivko. Z metodo signal, ki simulira klic signaliziraj, proces sporoči naslednjemu procesu, da lahko opravi svoje delo, s katerim je povezana pogojna spremenljivka. Hoareov postopek potrebuje tudi metodo giveadvantage, ki jo kličejo procesi, če hočejo kateremu od čakajočih v monitorju dati prednost. To storijo, če se je ob njihovi aktivnosti izpolnil pogoj, na katerega čakajo procesi v vrsti pri ustrezni pogojni spremenljivki. Ta metoda postavi proces, ki jo je klical, v vrsto za čakajoče, ki so drugim procesom dali prednost. Ko v monitorju ni več čakajočih procesov, za katere bi bili izpolnjeni pogoji za nadaljevanje dela, se izvede metoda restartprocess, ki prav tako ponazarja klic signaliziraj ter tudi izvede klic signaliziraj, vendar smo jo zaradi njene specifičnosti in berljivosti kode drugače poimenovali. Razred process služi shranjevanju ustvarjenih procesov. Objekt vsebuje spremenljivke, v katere shranimo podatke o procesu. V diagramu na sliki 5 so prikazane vse uporabljene spremenljivke in metode v tem objektu. Slika 4: Struktura razreda process Razred je sestavljen iz spremenljivk metod in podobjektov. Spremenljivke služijo za inicializacijo posameznih parametrov procesa. Možno je nastaviti in dostopati do: 13

24 - identifikatorja procesa (pid); - binarne spremenljivke inmonitor za označevanje, ali je proces že v monitorju ali ne; - binarne spremenljivke animationstopped za označevanje, ali se proces pomika ali stoji; - spremenljivke status, ki pove, v kakšnem stanju je proces. Možna stanja so: 0 izven monitorja, 1 čakanje v čakalni vrsti za vstop v monitor, 2 čakanje po prepuščanju prednosti (samo pri Hoareovem algoritmu), 3 - čakanje na pogojno spremenljivko in 4 - delo z vmesnikom; - spremenljivke data za količino podatkov; - spremenljivke za izris procesa (pozicija, barva, velikost) in - spremenljivke za zbiranje statistik za procese (časi čakanja, čas dela z vmesnikom). Metodi draw in renderobject rišeta procese v okna. Ti dve metodi uporabljata podobjekt circle, ki ob zahtevi za izris postavita proces na pravilno lokacijo ter mu določita izbrano barvo in velikost. Podrazred proccollection pa poskrbi za shranjevanje procesov v zbirko, kar se uporabi pri vseh čakalnih vrstah, zato smo definirali metode za dodajanje, odstranjevanje in indeksiranje procesov v zbirki. 3.4 Uporabniški vmesnik Simulator je izveden v programskem jeziku C# [8], ki je objektno orientiran programski jezik, zato smo našo aplikacijo sestavili iz treh različnih modulov, kot je prikazano na sliki 2. 14

25 Slika 5: Uporabniški vmesnik, prikazan po modulih, ločenih z oranžno obrobo Glavni modul aplikacije je Simulacijski modul, ki prikazuje delovanje monitorja. Okno modula se izrisuje na podlagi predhodno nastavljenega časovnika, ki proži metodo za izris posameznih gradnikov simulatorja. Glavni gradniki simulacije so procesi, ki so prikazani v obliki barvnih krožcev. Barva krožca je odvisna od tega, ali je proces potrošnik ali proizvajalec. Modul skrbi tudi za animiranje skupnega vmesnika, s katerim razpolagajo procesi, ki uporabljajo monitor. Vmesnik se ob prihodu proizvajalca polni, ob prihodu potrošnika pa prazni [1][9][14]. Časi za odlaganje proizvodov v vmesnik ali jemanje iz njega so različni, saj procesi za svoje izvajanje potrebujejo različno število proizvodov. Prav tako pa modul skrbi za izris izključujočega semaforja, ki glede na situacijo zapre vhod v monitor ali ga odpre. V tem modulu je možno tudi nadzorovati simulacijo, saj so nam ponujeni gumbi za začasno zaustavitev, resetiranje, kar pomeni, da se izpraznijo vse vrste, uporabniški vmesnik pa se postavi v začetno stanje in zagon/zaustavitev simulacije. Drugi najpomembnejši modul je Nastavitveni modul, v katerem lahko uporabnik nastavi parametre za simulacijo. Izbira lahko med naključno tvorbo vhodne vrste, kjer nastavi tudi, koliko naključnih procesov bo ustvarjenih. Metoda, ki naključno tvori procese, je omejena tako, da naenkrat ne more tvoriti več kot pet procesov istega tipa. Prav tako so procesi ustvarjeni z naključnimi časovnimi razmiki, če v nastavitvah ni izbran točno določen razmik, saj se lahko v realnem primeru pojavita isti trenutek dva procesa, ki bosta istočasno želela priti do monitorja. Ob izbiri katerega koli tipa vhodne vrste je možno 15

26 izbrati tudi algoritem, hitrost animacije ter časovni razmik med klici monitorja, uporabnik pa lahko nastavi tudi barvni prikaz proizvajalcev in potrošnikov. Ob izbiri ročnega vnosa vhodne vrste pa aplikacija uporabniku ponudi, da sestavi svoj učni primer za simulacijo. Ustvari lahko potrošnike in proizvajalce, katerim tudi določi število proizvodov. Ročni vnos vhodne vrste omogoča tudi uvoz predhodno ustvarjene vhodne vrste, ki smo jo ali tvorili naključno in shranili ali pa smo jo napisali sami v formatu csv. Tako lahko simulator poženemo večkrat z različnima algoritmoma, vendar ob istih vhodnih podatkih, kar omogoča neposredno primerjanje uspešnosti posameznih algoritmov. Tretji modul služi prikazu nekaterih statističnih podatkov. Prikazuje stolpčne grafe za povprečni čas čakanja procesov pri pogojni spremenljivki, povprečni čas odlaganja ali jemanja proizvodov, povprečni čas čakanja za vstop v monitor in pri Hoareovem algoritmu tudi povprečni čakalni čas zaradi odstopanja prednosti v monitorju. Grafi prikazujejo povprečne čase za vsak tip procesa posebej razen grafa, ki prikazuje povprečni čas čakanja na vstop v monitor. Modul vsebuje tudi števce, koliko procesov je že opravilo svoje delo v monitorju, koliko jih je bilo za posamezni tip procesa, kolikšen je bil čas izvajanja simulacije, koliko proizvodov je bilo odloženih v vmesnik in koliko iz njega vzetih Nastavitve simulacije Desno okno v uporabniškem vmesniku (slika 7) omogoča nastavitve parametrov. Izberemo lahko naključno ustvarjeno vhodno vrsto procesov in pa vrsto, ki jo tvorimo sami. Ob izbiri Definiraj vhodno vrsto nam uporabniški vmesnik ponudi kreiranje procesov, za katere določimo, ali gre za proizvajalca ali potrošnika in koliko proizvodov bo odložil v vmesnik ali pa jih vzel iz njega. Število proizvodov, ki jih dodelimo procesom, je omejeno na največ 5. Definiramo lahko poljubno dolgo vrsto procesov. Če imamo vhodno vrsto zapisano v datoteki v csv formatu, jo lahko uvozimo. Ta možnost nam olajša testiranje različnih algoritmov z istimi vhodnimi podatki. Tako lahko izberemo naključno tvorbo in vhodno vrsto, če želimo, shranimo, kasneje pa jo uvozimo in ponovno uporabimo. Prav tako nam področje Nastavitve simulacije omogoča, da izberemo enega od preučevanih algoritmov, nastavimo hitrost animacije, določimo časovno razmejitev med klici monitorja in nastavimo barve potrošnika in proizvajalca. Časovne intervale med klici monitorja lahko določimo ročno ali pa z naključnim generatorjem. 16

27 Slika 6: Okno, ki v uporabniškem vmesniku omogoča nastavitve parametrov za simulacijo Simulacija delovanja monitorja Osrednji del uporabniškega vmesnika prikazuje animacija monitorja (slika 8). Ob kliku na gumb»začni simulacijo«se začne simulacija, napis na gumbu se spremeni v»končaj simulacijo«, kakor jo opredeljujejo nastavljeni parametri. Po vodilu prihajajo procesi, ki nato kličejo monitor in se ustavijo v vrsti pred semaforjem za vstop v monitor, če ni odprt. Procesi se v območju monitorja premikajo glede na nastavljeno hitrost. Za lažje razumevanje simulacije je primerna počasna animacija, če pa merimo zmogljivost in računamo statistične pokazatelje, je primernejša hitra animacija. Med simulacijo potujejo procesi, ki imajo obliko krožcev dveh barv, med različnimi vrstami. Simulator monitor prikazuje tri vrste: vhodno vrsto, kjer so procesi, ki so klicali monitor in čakajo na vstop vanj, in dve vrsti za pogojni spremenljivki, kamor se postavijo procesi, ki za svoje delovanje nimajo izpolnjenih pogojev. Hoareov algoritem določa tudi četrto vrsto, kamor se postavi proces, ki daje prednost drugemu procesu, čakajočem ob pogojni spremenljivki v monitorju. V oknu za animacijo je vrisan še vmesnik, kamor 17

28 procesi odlagajo proizvode in od koder jih jemljejo. Vmesnik vsebuje tudi izpis o zasedenosti, zaradi preglednosti pa smo ga omejili, tako da nudi prostor največ 11 proizvodom. Slika 7: Prikaz animacije Prikaz rezultatov in statistik Kot je razvidno iz slike 9, so nekateri rezultati grafično prikazani [2]. Prikazujemo povprečni čas čakanja na pogojno spremenljivko za vsak tip procesa posebej, prikazujemo tudi povprečni čas čakanja procesov na vstop v monitor. Slika 8: Prikaz rezultatov in statistik 18

29 Stolpčni grafi prikazujejo povprečni čas, ki so ga procesi porabili za odlaganje proizvodov v vmesnik in jemanje iz vmesnika, če pa poganjamo simulacijo s Hoareovim algoritmom, prikažemo še povprečni čas za čakanje, ko je proces dal prednost drugemu procesu. Po končani simulaciji dobimo končno statistiko za vse procese, ki so opravili svoje delo v monitorju (slika 9). 19

30 4 IZVEDBA SIMULACIJE IN PRIMERJAVA REZULTATOV V tem poglavju najprej podamo kartka uporabniška navodila, nato pa opisujemo nekaj tesnih primerov, na podlagi katerih smo preverili pravilno delovanje obeh preučevanih algoritmov in izmerili njuno zmogljivost. Teste smo izvajali s tremi različno dolgimi vhodnimi vrstami, za katere smo procese generirali naključno. Naključno generirano vrsto smo shranili, tako da smo jo lahko testirali tudi z drugim algoritmom. Merjene rezultate smo za vsak proces zbrali na koncu, ko zapusti monitor. Pri prikazu grafičnih rezultatov smo se osredotočili na rezultate povprečnega skupnega časa čakanja na vstop v monitor, čakanja na pogojno spremenljivko in povprečen čas zadrževanja monitorja, tj. od klica monitorja do izstopa iz njega. Merili smo tudi povprečen čas odlaganja proizvodov, ki pa na primerjavo zmogljivosti algoritmov nima vpliva, prav tako grafično nismo prikazali povprečnih časov čakanja, kadar proces odstopi prednost, saj tega merimo le pri algoritmu po Hoareu. V nadaljevanju uporabljamo naslednje okrajšave, ki smo jih uporabili za prikaz rezultatov: Kratica Sč. izvajanja Pč čak. na vstop v M Pč čak. na pog. sprem. Pč odstopa prednosti Pomen Celoten čas izvajanja zahtev v milisekundah Povprečen čas čakanja procesa na vstop v monitor (čakanje pred vhodnim semaforjem) Povprečen čas čakanja na pripadajočo pogjno spremenljivko Povpračen čas pri odstopanju prednosti (samo pri algoritmu po Hoareu) Pč dela z vm. Povprečen čas odlaganja ali jemanja proizvodov iz vmesnika Pč zadrževanja v M Povprečen čas zadrževanja v monitorju (od klica do izstopa) Tabela 1: Pokazatelji zmogljivosti, merjeni pri preizkušanju algoritmov 20

31 4.1 Kratka uporabniška navodila Za lažjo uporabo našega simulatorja ponujamo kratka uporabniška navodila, v katerih se sklicujemo na uporabniški vmesnik (slika 10). Slika 9: Začetno stanje uporabniškega vmesnika Ko poženemo simulator, se odpre okno, ki ponudi izvedbo simulacije po dveh principih delovanja monitorja, in sicer po Hoareovem in po Hansenovem algoritmu. Algoritem izberemo v padajočem meniju»izbrani algoritem«. Hitrost animacije določimo v padajočem meniju»hitrost animacije«. Hitra animacija je primerna za izvajanje testov, medtem ko ostali dve hitrosti služita predvsem preučevanju delovanja. Uporabniški vmesnik ponuja tudi izbiro časovnega intervala med klici monitorja procesov. Ponujene so naključna razporeditev klicev ali fiksen čas med klici. Izbiramo lahko tudi, kako se tvori vhodna vrsta. Na voljo imamo možnost»naključno generiranje vhodne vrste«, kjer lahko izberemo število procesov, ki jih naj generira program, ali»definiraj vhodno vrsto«, kjer lahko sami definiramo potrošnike in proizvajalce ter jim določimo količino proizvodov, ki jih bojo potrebovali za svoje izvajanje. Ob izbiri možnosti»definiraj vhodno vrsto«lahko tudi uvozimo vhodno vrsto iz CSV-datoteke, ki jo je predhodno tvoril program pri izvajanju z naključno tvorbo vhodne vrste. Simulacijo poženemo s pritiskom na gumb»začni simulacijo«, ki takoj zatem spremeni napis v»končaj simulacijo«in z njim lahko zaključimo simulacijo. Z gumbom»začasno ustavi«začasno ustavimo simulacijo, z gumbom»resetiraj simulacijo«pa uporabniški vmesnik postavimo v začetno stanje. 21

32 4.2 Primer 1 Pri testiranju smo uporabili naslednje nastavitve: Št. generiranig procesov 50 Način generiranja naključno Tabela 2: Nastavitve za simulacijo v primeru 1 Prvi preizkus smo naredili s 50 naključno generiranimi procesi. V tem testnem primeru po končani simulaciji ni ostal nobeden od procesov v monitorju, saj so bili izpolnjeni vsi pogoji za njihovo izvedbo. Po končanem preizkusu pa je v vmesniku ostalo 5 proizvodov. Rezultati: Št. proizvajalcev: 26 Št. potrošnikov: 24 Hoare Hansen Hoare Hansen Pč zadrževanja v M 1492, , , ,17 Pč čak. na vstop v M 1256, , , ,67 Pč čak. na pog. Sprem. 20,65 24,5 134,38 146,71 Pč odstopa prednosti ,5 0 Pč dela z vm. 26,15 26, ,04 Sč. izvajanja Tabela 3: Rezultati za primer 1 Slika 10: Grafični prikaz rezultatov za proizvajalce, primer 1 22

33 4.3 Primer 2 Pri testiranju smo uporabili naslednje nastavitve: Št. generiranig procesov 100 Način generiranja naključno Tabela 4: Nastavitve za simulacijo v primeru 2 Ta preizkus smo opravili s 100 naključno generiranimi procesi. V tem testnem primeru so v monitorju, ostali 3 potrošniki, ker zanje niso bili neizpolnjeni pogoji za napredovanje. Pokazatelji zmogljivosti so tako bili izračunani samo za preostalih 97 procesov, ki so opravili svoje delo v monitorju. Rezultati: Slika 11: Grafični prikaz rezultatov za potrošnike, primer 1 Št. proizvajalcev: 52 Št. potrošnikov: 45 Hoare Hansen Hoare Hansen Pč zadrževanja v M 1842, , , ,53 Pč čak. na vstop v M 1191, , , ,38 Pč čak. na pog. sprem. 443,38 464,04 48,60 51,91 Pč odstopa prednosti 4,67 0,00 33,16 0,00 Pč dela z vm. 30,12 30,15 24,67 24,71 Sč. izvajanja

34 Tabela 5: Rezultati za primer 2 Slika 12: Grafični prikaz rezultatov za proizvajalce, primer 2 Slika 13: Grafični prikaz rezultatov za potrošnike, primer 2 24

35 4.4 Primer 3 Pri testiranju smo uporabili naslednje nastavitve: Št. generiranig procesov 150 Način generiranja naključno Tabela 6: Nastavitve za simulacijo v primeru 3 Pri tretjem poskusu smo naključno generirali 150 procesov. V tem testnem primeru so vsi procesi lahko zapustili monitor, vendar pa je v vmesniku ostalo 7 proizvodov. Rezultati: Št. proizvajalcev: 77 Št. potrošnikov: 73 Hoare Hansen Hoare Hansen Pč zadrževanja v M 1736, , , ,63 Pč čak. na vstop v M 1490, , , ,99 Pč čak. na pog. sprem. 21,08 54,05 621,89 525,59 Pč odstopa prednosti 34,91 0,00 8,21 0,00 Pč dela z vm. 24,52 25,78 32,78 32,68 Sč. izvajanja Tabela 7: Rezultati za primer 3 Slika 14: Grafični prikaz rezultatov za proizvajalce, primer 3 25

36 4.5 Primer 4 Pri testiranju smo uporabili naslednje nastavitve: Št. generiranig procesov 50 Način generiranja naključno Tabela 8: Nastavitve za simulacijo v primeru 4 Četrti preizkus smo opravili s 50 naključno generiranimi procesi. V tem testnem primeru so v monitor ostali 4 potrošniki, ker zanje niso bili izpolnjeni pogoji, saj je bil vmesnik prazen. Pokazatelji zmogljivosti so tako izračunani samo za preostalih 46 procesov, ki so opravili svoje delo v monitorju. Rezultati: Slika 15: Grafični prikaz za potrošnike, primer 3 Št. proizvajalcev: 27 Št. potrošnikov: 19 Hoare Hansen Hoare Hansen Pč zadrževanja v M 1582, , , ,79 Pč čak. na vstop v M 988,15 987,67 907,95 907,26 Pč čak. na pog. sprem. 385,70 398,26 4,84 7,47 Pč odstopa prednosti 2,26 0,00 25,63 0,00 Pč dela z vm. 26,26 26,26 23,53 23,53 Sč. izvajanja Tabela 9: Rezultati za primer 4 26

37 Slika 17: Grafični prikaz rezultatov za proizvajalce, primer 4 Slika 16: Grafični prikaz rezultatov za potrošnike, primer 4 27

38 4.6 Primer 5 Pri testiranju smo uporabili naslednje nastavitve: Št. generiranig procesov 100 Način generiranja naključno Tabela 10: Nastavitve za simulacijo v primeru 5 Peti preizkus vključuje 100 naključno generiranih procesov. V tem testnem primeru so v monitorju ostali 4 procesi, saj za njihovo napredovanje niso bili izpolnjeni pogoji, ne glede na to, da je v vmesniku ostal en proizvod. Pokazatelje zmogljivosti smo tako izračunali samo za preostalih 96 procesov, ki so opravili svoje delo v monitorju. Rezultati: Št. proizvajalcev: 49 Št. potrošnikov: 47 Hoare Hansen Hoare Hansen Pč zadrževanja v M 1697, , , ,19 Pč čak. na vstop v M 1181, , , ,77 Pč čak. na pog. sprem. 288,59 176,80 155,57 299,57 Pč odstopa prednosti 18,84 0,00 25,02 0,00 Pč dela z vm. 32,84 28,86 29,26 31,72 Sč. izvajanja Tabela 11: Rezultati za primer 5 Slika 18: Grafični prikaz rezultatov za proizvajalce, primer 5 28

39 4.7 Primer 6 Slika 19: Grafični prikaz rezultatov za potrošnike, primer 5 Pri testiranju smo uporabili naslednje nastavitve: Št. generiranig procesov 150 Način generiranja naključno Tabela 12: Nastavitve za simulacijo v primeru 6 Šesti preizkus smo opravili s 150 naključno generiranimi procesi. V tem testnem primeru so v monitorju ostali 3 potrošniki, saj se je vmesnik izpraznil in tako je ostala njihova pogojna spremenljivka zaprta. Pokazatelje zmogljivosti smo tako izračunali samo za preostalih 147 procesov, ki so opravili svoje delo v monitorju. Rezultati: Št proizvajalcev: 75 Št potrošnikov: 72 Hoare Hansen Hoare Hansen Pč zadrževanja v M 1740, , , ,47 Pč čak. Na vstop v M 1380, , , ,99 Pč čak. Na pog. Sprem. 156,05 169,87 15,36 19,51 Pč odstopa prednosti 5,81 0,00 20,57 0,00 Pč dela z Vm. 30,45 30,48 25,81 25,81 Sč. izvajanja Tabela 13: Rezultati za primer 6 29

40 Slika 20: Grafični prikaz rezultatov za proizvajalce, primer 6 Slika 21: Grafični prikaz rezultatov za potrošnike, primer 6 30

41 5 SKLEP V diplomskem delu smo izdelali simulator, ki kaže sinhronizacijo procesov po algoritmih Hoarea in Hansena. Na podlagi literature smo opisali simulacijske tehnike in predstavili pomen sinhronizacije procesov ter podatkov v računalniških sistemih. Opisali smo zasnovo simulatorja in programske rešitve, nato pa smo izvedli nekaj simulacij, pri čemer smo spremljali sinhronizacijo procesov pri dostopanju do kritičnega odseka. Ponazorili smo delovanje preučevanih algoritmov ter pokazali na njihove slabosti in prednosti. Rezultate, ki smo jih dobili po izvedbi testov, smo ovrednotili numerično in grafično. Iz testnih primerov lahko ugotovimo, da sta oba sinhronizacijska algoritma zelo učinkovita. V določenih primerih je bil algoritem po Hoareu boljša izbira, saj algoritem deluje tako, da procesi, za katere je bila izpolnjena pogojna spremenljivka, dobijo takoj možnost za izvajanje. To je seveda dobro za vse procese, ki bi bili sicer dalj časa blokirani v monitorju. Slabost tega algoritma pa je, da mora proces, ki da prednost, počakati, da procesi, ki so v monitorju blokirani pa se je zanje izpolnil pogoj za nadaljevanje, opravijo svoje delo in zapustijo monitor. Če bi se moral proces izvesti v določenem času, lahko to predstavlja problem pri nadaljnjem izvajanu. Naši testi so pokazali, da je algoritem po Hansnu malenkost hitrejši v primerih, ko so čakalne vrste na pogojno spremenljivko daljše in je posledično pri algoritmu po Hoareu več odstopanja prednosti. Simulacijski rezultati hkrati kažejo, da je algoritem po Hoareu hitrejši, če ne pride prepogosto do odstopanja prednosti. Ker je naša zasnova simulatorja zelo kompleksna, smo se pri opisu v diplomski nalogi omejili le na osnovne nastavitve in prikaz delovanja. Simulator služi kot učni program, s pomočjo katerega je moč laže razumeti delovanje preučevanih algoritmov. Ob izvajanju simulacij se je pokazalo, da bi bilo mogoče izboljšati prikaz animacije, ki je sedaj čisto osnoven, prav tako pa bi lahko na uporabniški vmesnik dodali še gradnik, v katerem bi prikazovali trenutno izvedene ukaze, kar bi olajšalo razumevanje sinhronizacijskega postopka. Naslednja izboljšava, ki jo predlagamo, je razširitev programa tako, da bi lahko hkrati opazovali delovanje obeh algoritmov, kar bi omogočilo takojšnje razumevanje prednosti in slabosti enega ali drugega. Prav tako bi lahko preuredili in olepšali uporabniški vmesnik, tako da bi bil bolj uporabniku prijazen, izboljšali pa bi lahko tudi prikaz statistike ter 31

42 ponudili uporabniku še kakšen statistični podatek več za lažje razumevanje zmogljivosti algoritmov. S testi smo ugotovili, da simulator izpolnjuje postavljene zahteve in pričakovanja. Omogočili smo simuliranje dveh različnih principov delovanja monitorja ter opazovanje dogajanja med simulacijo. Nastavljamo lahko osnovne parametre simulacije procesov z monitorjem in različne parametre, ki definirajo vhodno vrsto. Simulator nam tako služi kot učni program, s katerim opazujemo sinhronizacijo procesov po Hoareu in Hansenu. 32

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefonih. Obstaja precej različic, sam pa sem sestavil meni

Prikaži več

Delavnica Načrtovanje digitalnih vezij

Delavnica Načrtovanje digitalnih vezij Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Digitalni Elektronski Sistemi Osnove jezika VHDL Strukturno načrtovanje in testiranje Struktura vezja s komponentami

Prikaži več

BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površine, pri tem pa zbrati čim več točk. Podobno ig

BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površine, pri tem pa zbrati čim več točk. Podobno ig BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površe, pri tem pa zbrati čim več točk. Podobno igro najdemo tudi v knjigi Scratch (Lajovic, 2011), vendar

Prikaži več

ISOFT , računalniški inženiring

ISOFT , računalniški inženiring ISOFT, računalniški inženiring Marko Kastelic s.p. Sad 2, 1296 Šentvid pri stični Spletna stran podjetja:http://www.isoft.si podjetja ISOFT Spletna stran sistema sledenja vozil track.si: http://www.track.si

Prikaži več

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX 3.5 1. Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nastavitve strežnika ESX 3. Namestitev in nastavitve VM

Prikaži več

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni RAM stroj Nataša Naglič 4. junij 2009 1 RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni trak, pomnilnik ter program. Bralni trak- zaporedje

Prikaži več

Navodila za uporabo programske opreme OTRS verzija Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte

Navodila za uporabo programske opreme OTRS verzija Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte Navodila za uporabo programske opreme OTRS verzija 2.2.3 Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte kode Slovenije Spletna stran: http://www.coks.si/ Elektronski

Prikaži več

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna stran: http://www.coks.si/ Elektronski naslov: podpora@coks.si

Prikaži več

Diapozitiv 1

Diapozitiv 1 9. Funkcije 1 9. 1. F U N K C I J A m a i n () 9.2. D E F I N I C I J A F U N K C I J E 9.3. S T A V E K r e t u r n 9.4. K L I C F U N K C I J E I N P R E N O S P A R A M E T R O V 9.5. P R E K R I V

Prikaži več

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: +386 1 729 6 460 Faks.: +386 1 729 6 466 www.nevtrin.si info@elektrina.si USB RFID READER Navodila za uporabo?

Prikaži več

Microsoft Word - CNC obdelava kazalo vsebine.doc

Microsoft Word - CNC obdelava kazalo vsebine.doc ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo mesto, april 2008 Ime in priimek študenta ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo

Prikaži več

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov Gospodarski subjekti Definicija: V skladu z 2. členom Izvedbene uredbe Komisije (EU) 2018/574

Prikaži več

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje priročno programsko okolje tolmač interpreter (ne prevajalnik)

Prikaži več

DES

DES Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Digitalni Elektronski Sistemi Model vezja Računalniški model in realno vezje Model logičnega negatorja Načini

Prikaži več

Microsoft Word - A-3-Dezelak-SLO.doc

Microsoft Word - A-3-Dezelak-SLO.doc 20. posvetovanje "KOMUNALNA ENERGETIKA / POWER ENGINEERING", Maribor, 2011 1 ANALIZA OBRATOVANJA HIDROELEKTRARNE S ŠKOLJČNIM DIAGRAMOM Klemen DEŽELAK POVZETEK V prispevku je predstavljena možnost izvedbe

Prikaži več

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk 1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatkov in njihov prenos med spletnimi mesti. Obrazec v

Prikaži več

Poskusi s kondenzatorji

Poskusi s kondenzatorji Poskusi s kondenzatorji Samo Lasič, Fakulteta za Matematiko in Fiziko, Oddelek za fiziko, Ljubljana Povzetek Opisani so nekateri poskusi s kondenzatorji, ki smo jih izvedli z merilnim vmesnikom LabPro.

Prikaži več

Microsoft Word - avd_vaje_ars1_1.doc

Microsoft Word - avd_vaje_ars1_1.doc ARS I Avditorne vaje Pri nekem programu je potrebno izvršiti N=1620 ukazov. Pogostost in trajanje posameznih vrst ukazov računalnika sta naslednja: Vrsta ukaza Štev. urinih period Pogostost Prenosi podatkov

Prikaži več

Microsoft Word - UP_Lekcija04_2014.docx

Microsoft Word - UP_Lekcija04_2014.docx 4. Zanka while Zanke pri programiranju uporabljamo, kadar moramo stavek ali skupino stavkov izvršiti večkrat zaporedoma. Namesto, da iste (ali podobne) stavke pišemo n-krat, jih napišemo samo enkrat in

Prikaži več

Microsoft Word - M docx

Microsoft Word - M docx Š i f r a k a n d i d a t a : ržavni izpitni center *M15178112* SPOMLNSKI IZPITNI ROK Izpitna pola 2 Četrtek, 4. junij 2015 / 90 minut ovoljeno gradivo in pripomočki: Kandidat prinese nalivno pero ali

Prikaži več

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo Turingov stroj in programiranje Barbara Strniša 12. 4. 2010 1 Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolov (običajno Σ 2) Σ n = {s 1 s 2... s n ; s i Σ, i =

Prikaži več

INFORMATOR BIROKRAT 1/2011

INFORMATOR BIROKRAT 1/2011 ta Veleprodaja Maloprodaja Storitve Računovodstvo Proizvodnja Gostinstvo Turizem Hotelirstvo Ticketing CRM Internetna trgovina Izdelava internetnih strani Grafično oblikovanje NOVOSTI IN NASVETI ZA DELO

Prikaži več

Navodila za uporabo Mini snemalnik

Navodila za uporabo Mini snemalnik Navodila za uporabo Mini snemalnik www.spyshop.eu Pred vami so navodila za pravilno uporabo mini snemalnika in opis funkcionalnosti. Lastnosti snemalnika: Naziv Mere Teža Kapaciteta spomina Snemanje Format

Prikaži več

Microsoft Word - SI_vaja5.doc

Microsoft Word - SI_vaja5.doc Univerza v Ljubljani, Zdravstvena fakulteta Sanitarno inženirstvo Statistika Inštitut za biostatistiko in medicinsko informatiko Š.l. 2011/2012, 3. letnik (1. stopnja), Vaja 5 Naloge 1. del: t test za

Prikaži več

Strojna oprema

Strojna oprema Asistenta: Mira Trebar, Miha Moškon UIKTNT 2 Uvod v programiranje Začeti moramo razmišljati algoritmično sestaviti recept = napisati algoritem Algoritem za uporabo poljubnega okenskega programa. UIKTNT

Prikaži več

COBISS3/Medknjižnična izposoja

COBISS3/Medknjižnična izposoja 3/Medknjižnična izposoja 2.2 KATALOG Katalog nam omogoča: iskanje gradiva prikaz izbranih bibliografskih zapisov ali pripadajočih podatkov o zalogi iz lokalne baze podatkov v formatu COMARC vpogled v stanje

Prikaži več

Navodila Trgovina iCenter

Navodila Trgovina iCenter Napredovanja v plačne razrede javnih uslužbencev 2019 S pomočjo SAOP programa Kadrovska evidenca lahko ob dokupljeni kodi vodimo napredovanja javnih uslužbencev. Za napredovanja v letu 2019 je potrebno

Prikaži več

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega)

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega) GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega) in za vsako napisati svojo kodo. Dve ikoni imata isto

Prikaži več

Navodila za študente

Navodila za študente Moodle UM Verzija 3.5.1 Navodila za študente RCUM, Služba za IS Maribor, 2019 Kazalo 1 Prijava v Moodle UM... 3 2 Odjava iz Moodla UM... 3 3 Seznam učnih enot... 4 4 Navigacijski trak... 4 5 Bloki... 5

Prikaži več

EVROPSKA KOMISIJA Bruselj, C(2018) 6665 final IZVEDBENI SKLEP KOMISIJE (EU).../ z dne o določitvi ukrepov za pripravo seznama os

EVROPSKA KOMISIJA Bruselj, C(2018) 6665 final IZVEDBENI SKLEP KOMISIJE (EU).../ z dne o določitvi ukrepov za pripravo seznama os EVROPSKA KOMISIJA Bruselj, 15.10.2018 C(2018) 6665 final IZVEDBENI SKLEP KOMISIJE (EU).../ z dne 15.10.2018 o določitvi ukrepov za pripravo seznama oseb, ki so v sistemu vstopa/izstopa (SVI) identificirane

Prikaži več

Analiza vpliva materiala, maziva in aktuatorja na dinamiko pnevmatičnega ventila

Analiza vpliva materiala, maziva in aktuatorja na dinamiko pnevmatičnega ventila Programsko orodje LabVIEW za kreiranje, zajem in obdelavo signalov (statične in dinamične karakteristike hidravličnih proporcionalnih ventilov) Marko Šimic Telefon: +386 1 4771 727 e-mail: marko.simic@fs.uni-lj.si

Prikaži več

Vprašanja za 2. izpitno enoto poklicne mature Strokovni predmet NPA Vprašanja Visual C# (4. letnik) 1. Uporabniški vmesnik razvojnega okolja Visual C#

Vprašanja za 2. izpitno enoto poklicne mature Strokovni predmet NPA Vprašanja Visual C# (4. letnik) 1. Uporabniški vmesnik razvojnega okolja Visual C# Vprašanja za 2. izpitno enoto poklicne mature Strokovni predmet NPA Vprašanja Visual C# (4. letnik) 1. Uporabniški vmesnik razvojnega okolja Visual C# Pomen posameznih oken uporabniškega vmesnika, urejevalnik

Prikaži več

Vaja04_Ver02

Vaja04_Ver02 Vaja 04 Varnost: Zaščita aplikacije, omejitev dostopa 1. Uredite prijavo in odjavo uporabnika brez uporabe menuja Special/Security. Nadgradite aplikacijo iz vaje 2. Kreirajte okno tipa Replace Začetno

Prikaži več

Chapter 1

Chapter 1 - 1 - Poglavje 1 Uvod v podatkovne baze - 2 - Poglavje 1 Cilji (Teme).. Nekatere domene, kjer se uporabljajo podatkovne baze Značilnosti datotečnih sistemov Problemi vezani na datotečne sisteme Pomen izraza

Prikaži več

NAVODILA ZA UPORABO SPLETNE APLIKACIJE

NAVODILA ZA UPORABO SPLETNE APLIKACIJE NAVODILA ZA UPORABO SPLETNE APLIKACIJE Kazalo 1. Namen spletne aplikacije... 3 2. Prijava v sistem... 3 3. Sprememba gesla... 3 4. Izbira časovnega obdobja... 4 4.1. Način je preko grafičnega koledarja...

Prikaži več

Navodila za uporabo aplikacije mlist - neposredni mentorji za Zdravniško zbornico Slovenije pripravila Gooya, interaktivni mediji, d.o.o. Ljubljana, m

Navodila za uporabo aplikacije mlist - neposredni mentorji za Zdravniško zbornico Slovenije pripravila Gooya, interaktivni mediji, d.o.o. Ljubljana, m Navodila za uporabo aplikacije mlist - neposredni mentorji za Zdravniško zbornico Slovenije pripravila Gooya, interaktivni mediji, d.o.o. Ljubljana, marec 2019 Vsebina 1 Dostop do aplikacije... 3 1.1 Android...

Prikaži več

CODEKS IP KAMERA

CODEKS IP KAMERA CODEKS IP KAMERA uporabniška navodila Vse pravice pridržane. Noben del uporabniških navodil se ne sme reproducirati v kakršnikoli obliki ali na kakršen koli način - grafični, elektronski ali mehanski,

Prikaži več

Delavnica Načrtovanje digitalnih vezij

Delavnica Načrtovanje digitalnih vezij Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Programirljivi Digitalni Sistemi Digitalni sistem Digitalni sistemi na integriranem vezju Digitalni sistem

Prikaži več

Prekinitveni način delovanja PLK Glavni program (OB1; MAIN) se izvaja ciklično Prekinitev začasno ustavi izvajanje glavnega programa in zažene izvajan

Prekinitveni način delovanja PLK Glavni program (OB1; MAIN) se izvaja ciklično Prekinitev začasno ustavi izvajanje glavnega programa in zažene izvajan Prekinitveni način delovanja PLK Glavni program (OB1; MAIN) se izvaja ciklično Prekinitev začasno ustavi izvajanje glavnega programa in zažene izvajanje prekinitvene rutine Dogodek GLAVNI PROGRAM (MAIN-OB1)

Prikaži več

Microsoft Word - SI_vaja1.doc

Microsoft Word - SI_vaja1.doc Univerza v Ljubljani, Zdravstvena fakulteta Sanitarno inženirstvo Statistika Inštitut za biostatistiko in medicinsko informatiko Š.l. 2011/2012, 3. letnik (1. stopnja), Vaja 1 Naloge 1. del: Opisna statistika

Prikaži več

DES11_realno

DES11_realno Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Digitalni Elektronski Sistemi Delovanje realnega vezja Omejitve modela vezja 1 Model v VHDLu je poenostavljeno

Prikaži več

Microsoft Word - vprasalnik_AZU2007.doc

Microsoft Word - vprasalnik_AZU2007.doc REPUBLIKA SLOVENIJA Anketa o zadovoljstvu uporabnikov statističnih podatkov in informacij Statističnega urada RS 1. Kako pogosto ste v zadnjem letu uporabljali statistične podatke in informacije SURS-a?

Prikaži več

Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje:

Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje: Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje: 17.07.2013 Ver. 2.9.1.2 Spletni portal članov uporabniška navodila

Prikaži več

(Microsoft Word - U\350enje telegrafije po Kochovi metodi.doc)

(Microsoft Word - U\350enje telegrafije po Kochovi metodi.doc) MORSE UČENJE PO KOCHOVI METODI Računalniški program za učenje skupaj z nekaterimi dodatnimi datotekami dobite na spletni strani avtorja: http://www.g4fon.net/. Zanimive strani so tudi: - http://www.qsl.net/n1irz/finley.morse.html

Prikaži več

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA Navdih Poizvedovanje po BD podatkovnih virih, ki imajo časovno dimenzijo in so dostopni. Večji promet pomeni večje število dobrin in močnejšo

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev TIK terminal nima povezave s strežnikom Ob vpisu v TIK Admin se pojavi napis ni povezave s strežnikom Na terminalu je ikona 1. preverimo ali je pravilno nastavljen IP strežnika 1. Preverimo datoteko TIKSAdmin.INI

Prikaži več

Področje uporabe

Področje uporabe Regulator Področja uporabe Regulator DIALOG EQ je namenjen predvsem vodenju in nadziranju sistemov ogrevanja in hlajenja, lahko pa se uporabi tudi na različnih področjih avtomatizacije in inteligentnih

Prikaži več

Microsoft Word - M docx

Microsoft Word - M docx Š i f r a k a n d i d a t a : Državni izpitni center *M17178111* SPOMLADANSKI IZPITNI ROK Izpitna pola 1 Četrtek, 1. junij 2017 / 90 minut Dovoljeno gradivo in pripomočki: Kandidat prinese nalivno pero

Prikaži več

Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj n

Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj n Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj novosti na področju SCADA sistemov (ifix Productivity

Prikaži več

Poročilo projekta : Učinkovita raba energije Primerjava klasične sončne elektrarne z sončno elektrarno ki sledi soncu. Cilj projekta: Cilj našega proj

Poročilo projekta : Učinkovita raba energije Primerjava klasične sončne elektrarne z sončno elektrarno ki sledi soncu. Cilj projekta: Cilj našega proj Poročilo projekta : Učinkovita raba energije Primerjava klasične sončne elektrarne z sončno elektrarno ki sledi soncu. Cilj projekta: Cilj našega projekta je bil izdelati učilo napravo za prikaz delovanja

Prikaži več

ARS1

ARS1 Nepredznačena in predznačena cela števila Dvojiški zapis Nepredznačeno Predznačeno 0000 0 0 0001 1 1 0010 2 2 0011 3 3 Pri odštevanju je stanje C obratno (posebnost ARM)! - če ne prekoračimo 0 => C=1 -

Prikaži več

STAVKI _5_

STAVKI _5_ 5. Stavki (Teoremi) Vsebina: Stavek superpozicije, stavek Thévenina in Nortona, maksimalna moč na bremenu (drugič), stavek Tellegena. 1. Stavek superpozicije Ta stavek določa, da lahko poljubno vezje sestavljeno

Prikaži več

INDUSTRIJA 4.0: PRILOŽNOSTI DIGITALNE PREOBRAZBE PROCESA RAZVOJA BARV IN PREMAZOV TOMAŽ KERN, BENJAMIN URH, MARJAN SENEGAČNIK, EVA KRHAČ

INDUSTRIJA 4.0:  PRILOŽNOSTI DIGITALNE PREOBRAZBE PROCESA RAZVOJA BARV IN PREMAZOV TOMAŽ KERN, BENJAMIN URH, MARJAN SENEGAČNIK, EVA KRHAČ INDUSTRIJA 4.0: PRILOŽNOSTI DIGITALNE PREOBRAZBE PROCESA RAZVOJA BARV IN PREMAZOV TOMAŽ KERN, BENJAMIN URH, MARJAN SENEGAČNIK, EVA KRHAČ AGENDA IZZIV OZADJE RAZISKAVE POSNETEK STANJA ANALIZA STANJA in

Prikaži več

Slide 1

Slide 1 Tehnike programiranja PREDAVANJE 10 Uvod v binarni svet in računalništvo (nadaljevanje) Logične operacije Ponovitev in ilustracija Logične operacije Negacija (eniški komplement) Negiramo vse bite v besedi

Prikaži več

Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX Dodajanje uporabnikov vajexx v skupino Vaje

Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX Dodajanje uporabnikov vajexx v skupino Vaje Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX 3.5 1. Dodajanje uporabnikov vajexx v skupino Vaje 2. Kopiranje Win2003 strežnika in registracija na

Prikaži več

Macoma katalog copy

Macoma katalog copy POSLOVNE APLIKACIJE PO ŽELJAH NAROČNIKA Poročilni sistem Finance in kontroling Poprodaja Podatkovna skladišča Prodaja Proizvodnja Obstoječi ERP Partnerji Implementacija rešitev prilagojena po željah naročnika

Prikaži več

Microsoft PowerPoint - MSPO_4_DiagramiVpliva.pptx

Microsoft PowerPoint - MSPO_4_DiagramiVpliva.pptx 8. Diagrami vpliva Odločitveno drevo alternative status quo razširitev gradnja povezovanje izidi 28 30 24 42 16 44 30 34, Univerza v Novi Gorici, Poslovno-tehniška fakulteta 1 Slabosti odločitvenih dreves

Prikaži več

2. Model multiple regresije

2. Model multiple regresije 2. Model multiple regresije doc. dr. Miroslav Verbič miroslav.verbic@ef.uni-lj.si www.miroslav-verbic.si Ljubljana, februar 2014 2.1 Populacijski regresijski model in regresijski model vzorčnih podatkov

Prikaži več

AKCIJSKO RAZISKOVANJE INOVACIJSKI PROJEKT ZA ZNANJE IN SPOŠTOVANJE Udeleženci: Učenci 2. c Razredničarka: Irena Železnik, prof. Učni predmet: MAT Učna

AKCIJSKO RAZISKOVANJE INOVACIJSKI PROJEKT ZA ZNANJE IN SPOŠTOVANJE Udeleženci: Učenci 2. c Razredničarka: Irena Železnik, prof. Učni predmet: MAT Učna AKCIJSKO RAZISKOVANJE INOVACIJSKI PROJEKT ZA ZNANJE IN SPOŠTOVANJE Udeleženci: Učenci 2. c Razredničarka: Irena Železnik, prof. Učni predmet: MAT Učna vsebina: Ustno seštevanje in odštevanje do 20 sprehodom

Prikaži več

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar 2009 1 Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero velja 0 f(e) u(e) za e E(G). Za v V (G) definiramo presežek

Prikaži več

Računalniški praktikum Projektna naloga - Izdelava spletne strani Avtor: Matej Tekavčič Skupina: Matej Tekavčič - koordinator Simon Vrhovnik Tine Kavč

Računalniški praktikum Projektna naloga - Izdelava spletne strani Avtor: Matej Tekavčič Skupina: Matej Tekavčič - koordinator Simon Vrhovnik Tine Kavč Računalniški praktikum Projektna naloga - Izdelava spletne strani Avtor: Matej Tekavčič Skupina: Matej Tekavčič - koordinator Simon Vrhovnik Tine Kavčič Matjaž Jerman 8. februar 2006 Kazalo 1 Uvod 2 2

Prikaži več

LABORATORIJSKE VAJE IZ FIZIKE

LABORATORIJSKE VAJE IZ FIZIKE UVOD LABORATORIJSKE VAJE IZ FIZIKE V tem šolskem letu ste se odločili za fiziko kot izbirni predmet. Laboratorijske vaje boste opravljali med poukom od začetka oktobra do konca aprila. Zunanji kandidati

Prikaži več

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in računalništvo Enopredmetna matematika IZPIT IZ VERJETNOSTI IN STA

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in računalništvo Enopredmetna matematika IZPIT IZ VERJETNOSTI IN STA Enopredmetna matematika IN STATISTIKE Maribor, 31. 01. 2012 1. Na voljo imamo kovanca tipa K 1 in K 2, katerih verjetnost, da pade grb, je p 1 in p 2. (a) Istočasno vržemo oba kovanca. Verjetnost, da je

Prikaži več

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA KATALOG ZNANJA 1. IME PREDMETA OPERACIJSKI SISTEMI I OPERACIJSKI SISTEMI II 2. SPLOŠNI CILJI Splošni cilji predmeta so: ustvarjanje zmožnosti za vključevanje v procese skupin in organizacij (identifikacije

Prikaži več

Podatkovni model ER

Podatkovni model ER Podatkovni model Entiteta- Razmerje Iztok Savnik, FAMNIT 2018/19 Pregled: Načrtovanje podatkovnih baz Konceptualno načtrovanje: (ER Model) Kaj so entite in razmerja v aplikacijskem okolju? Katere podatke

Prikaži več

INFORMATOR BIROKRAT 1/2011

INFORMATOR BIROKRAT 1/2011 ta Veleprodaja Maloprodaja Storitve Računovodstvo Proizvodnja Gostinstvo Turizem Hotelirstvo Ticketing CRM Internetna trgovina Izdelava internetnih strani Grafično oblikovanje NOVOSTI IN NASVETI ZA DELO

Prikaži več

Space Invaders Opis igre: Originalna igra: Space Invaders je arkadna igra, ki so jo ustvarili leta Bila je ena izmed prvih streljaških iger, v k

Space Invaders Opis igre: Originalna igra: Space Invaders je arkadna igra, ki so jo ustvarili leta Bila je ena izmed prvih streljaških iger, v k Space Invaders Opis igre: Originalna igra: Space Invaders je arkadna igra, ki so jo ustvarili leta 1978. Bila je ena izmed prvih streljaških iger, v kateri je igralec vodil laserski top ali vesoljsko ladjo,

Prikaži več

PKP projekt SMART WaterNet_Opis

PKP projekt SMART WaterNet_Opis PKP projekt SMART WaterNet Po kreativni poti do znanja (PKP) opis programa Program Po kreativni poti do znanja omogoča povezovanje visokošolskih zavodov s trgom dela in tako daje možnost študentom za pridobitev

Prikaži več

Slide 1

Slide 1 Projektno vodenje PREDAVANJE 7 doc. dr. M. Zajc matej.zajc@fe.uni-lj.si Projektno vodenje z orodjem Excel Predstavitev Najbolj razširjeno orodje za delo s preglednicami Dva sklopa funkcij: Obdelava številk

Prikaži več

Navodila Trgovina iCenter

Navodila Trgovina iCenter Knjiženje izdanih računov iz modula Fakturiranje glede na način plačila V navodilih, ki sledijo obravnavamo tematiko priprave temeljnice izdanih računov, ki smo jih fakturirali v modulu Fakturiranje. Glede

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev INTRANET - DETEKTIV Detektivska zbornica Republike Slovenije Pozdravljeni, v kratki predstaviti in navodilih za delo z intranet sistemom Detektiv. Intranet članom Detektivske zbornice RS omogoča, da: -

Prikaži več

Orodje za izvoz podatkov

Orodje za izvoz podatkov Pomoč uporabnikom -NA-SI-200, V6.13-00 IZUM, 2018 COBISS, COMARC, COBIB, COLIB, IZUM so zaščitene znamke v lasti javnega zavoda IZUM. KAZALO VSEBINE 1 Uvod... 1 2 Predstavitev orodja za izvoz podatkov...

Prikaži več

Elektronska pošta

Elektronska pošta Elektronska pošta ZGODOVINA Prvo sporočilo je bilo poslano leta 1971. Besedilo, ki ga je vsebovalo, je bilo QWERTYUIOP. Pošiljatelj je bil Ray Tomlinson, računalnika med katerima je bilo sporočilo poslano

Prikaži več

IJS EDS IJS Elektronski Dokumentni Sistem Osnovna uporaba sistema uporabniška navodila Institut "Jožef Stefan" Ljubljana

IJS EDS IJS Elektronski Dokumentni Sistem Osnovna uporaba sistema uporabniška navodila Institut Jožef Stefan Ljubljana IJS Elektronski Dokumentni Sistem Osnovna uporaba sistema uporabniška navodila Institut "Jožef Stefan" Ljubljana Projekt: (RD JN19 16) Naročnik projekta: Institut "Jožef Stefan" Izvajalec projekta: BuyITC

Prikaži več

3. Preizkušanje domnev

3. Preizkušanje domnev 3. Preizkušanje domnev doc. dr. Miroslav Verbič miroslav.verbic@ef.uni-lj.si www.miroslav-verbic.si Ljubljana, februar 2014 3.1 Izračunavanje intervala zaupanja za vrednosti regresijskih koeficientov Motivacija

Prikaži več

Diapozitiv 1

Diapozitiv 1 Vhodno izhodne naprave Laboratorijska vaja 4 - AV 4 Linije LTSpice, simulacija elektronskih vezij VIN - LV 1 Rozman,Škraba, FRI LTSpice LTSpice: http://www.linear.com/designtools/software/ https://www.analog.com/en/design-center/design-tools-andcalculators/ltspice-simulator.html

Prikaži več

NAVODILA ZA UPORABO K01-WIFI Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shr

NAVODILA ZA UPORABO K01-WIFI Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shr NAVODILA ZA UPORABO Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta in jih shranite za prihodnjo rabo Vsebina 1. Pregled 2. Sistem 3. Prednosti 4. Upravljanje

Prikaži več

Avtomatizirano modeliranje pri celostnem upravljanju z vodnimi viri

Avtomatizirano modeliranje pri celostnem upravljanju z vodnimi viri Univerza v Ljubljani Fakulteta za gradbeništvo in geodezijo 36. Goljevščkov spominski dan Modeliranje kroženja vode in spiranja hranil v porečju reke Pesnice Mateja Škerjanec 1 Tjaša Kanduč 2 David Kocman

Prikaži več

EVROPSKA KOMISIJA Bruselj, C(2018) 7597 final IZVEDBENA UREDBA KOMISIJE (EU) / z dne o vzpostavitvi začasnega neposrednega stati

EVROPSKA KOMISIJA Bruselj, C(2018) 7597 final IZVEDBENA UREDBA KOMISIJE (EU) / z dne o vzpostavitvi začasnega neposrednega stati EVROPSKA KOMISIJA Bruselj, 21.11.2018 C(2018) 7597 final IZVEDBENA UREDBA KOMISIJE (EU) / z dne 21.11.2018 o vzpostavitvi začasnega neposrednega statističnega ukrepa za izkazovanje izbranih vsebin popisa

Prikaži več

Upravljanje sistema COBISS Navodila za uporabo tiskalnika CITIZEN S310II V1.0 VIF-NA-27-SI

Upravljanje sistema COBISS Navodila za uporabo tiskalnika CITIZEN S310II V1.0 VIF-NA-27-SI Navodila za uporabo tiskalnika CITIZEN S310II V1.0 VIF-NA-27-SI IZUM, 2015 COBISS, COMARC, COBIB, COLIB, IZUM so zaščitene znamke v lasti javnega zavoda IZUM. KAZALO VSEBINE 1 Uvod... 1 2 Uporaba tiskalnika...

Prikaži več

Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan

Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvantnih celičnih avtomatov SEMINARSKA NALOGA Univerzitetna

Prikaži več

Navodila za uporabo Mini prenosna HD kamera s snemalnikom

Navodila za uporabo Mini prenosna HD kamera s snemalnikom Navodila za uporabo Mini prenosna HD kamera s snemalnikom www.spyshop.eu Izdelku so priložena navodila v angleščini, ki poleg teksta prikazujejo tudi slikovni prikaz sestave in delovanja izdelka. Lastnosti

Prikaži več

Priloga II Modul A: Izjava o skladnosti na podlagi notranje kontrole proizvodnje 1. Izjava o skladnosti na podlagi notranje kontrole proizvodnje je po

Priloga II Modul A: Izjava o skladnosti na podlagi notranje kontrole proizvodnje 1. Izjava o skladnosti na podlagi notranje kontrole proizvodnje je po Priloga II Modul A: Izjava o skladnosti na podlagi notranje kontrole proizvodnje 1. Izjava o skladnosti na podlagi notranje kontrole proizvodnje je postopek ugotavljanja skladnosti, s katerim proizvajalec

Prikaži več

DES

DES Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Digitalni Elektronski Sistemi Digitalni sistemi Vgrajeni digitalni sistemi Digitalni sistem: osebni računalnik

Prikaži več

CT_SLO_White Paper_ENG

CT_SLO_White Paper_ENG UPORABNIŠKI PRIROČNIK //COMTRADE/ UPORABNIŠKI PRIROČNIK ZA PORTAL IN VARNOSTNO SHEMO MIZKŠ Priročnik za ravnatelje Priročnik pokriva glavne akcije, ki jih ravnatelji opravljajo v Varnostni shemi: upravljanje

Prikaži več

NAVODILA ZA UPORABO Smart watch JW018 POZOR! Ura vsebuje magnetne sestavine. Osebe z vgrajenim srčnim spodbujevalnikom (pacemaker) ali kakršnimi drugi

NAVODILA ZA UPORABO Smart watch JW018 POZOR! Ura vsebuje magnetne sestavine. Osebe z vgrajenim srčnim spodbujevalnikom (pacemaker) ali kakršnimi drugi NAVODILA ZA UPORABO Smart watch JW018 POZOR! Ura vsebuje magnetne sestavine. Osebe z vgrajenim srčnim spodbujevalnikom (pacemaker) ali kakršnimi drugimi elektromagnetnimi aparati ne smejo uporabljati tega

Prikaži več

Microsoft Word - CN-BTU4 Quick Guide_SI

Microsoft Word - CN-BTU4 Quick Guide_SI Bluetooth Dongle Artikel: CN-BTU4 NAVODILA v1.0 Sistemske zahteve Zahteve za PC: - Proc.: Intel Pentium III 500MHz or above. - Ram: 256MB ali več. - Disk: vsaj 50MB. - OS: Windows 98SE/Me/2000/XP - Prost

Prikaži več

Osnove statistike v fizični geografiji 2

Osnove statistike v fizični geografiji 2 Osnove statistike v geografiji - Metodologija geografskega raziskovanja - dr. Gregor Kovačič, doc. Bivariantna analiza Lastnosti so med sabo odvisne (vzročnoposledično povezane), kadar ena lastnost (spremenljivka

Prikaži več

innbox_f60_navodila.indd

innbox_f60_navodila.indd Osnovna navodila Komunikacijski prehod Innbox F60 SFP AC Varnostna opozorila Pri uporabi opreme upoštevajte naslednja opozorila in varnostne ukrepe. Da bi v največji meri izkoristili najnovejšo tehnologijo

Prikaži več

2

2 LETNO POROČILO O KAKOVOSTI ZA RAZISKOVANJE ČETRTLETNO STATISTIČNO RAZISKOVANJE O ELEKTRONSKIH KOMUNIKACIJSKIH STORITVAH (KO-TEL/ČL) IN LETNO STATISTIČNO RAZISKOVANJE O ELEKTRONSKIH KOMUNIKACIJSKIH STORITVAH

Prikaži več

ACAD-BAU-Analiza-prostorov

ACAD-BAU-Analiza-prostorov ANALIZA PROSTOROV Ko obdelujemo večje projekte, je analiza prostorov zelo pomembna v vseh fazah projektiranja. Pri idejnem snovanju moramo npr. za določeno površino trgovske namembnosti zagotoviti primerno

Prikaži več

RAČUNALNIŠTVO VARNOSTNA KOPIJA IN SLIKA DISKA Aleš Ovsenek Uvajanje novih izobraževalnih programov v srednjem poklicnem in strokovnem izobraževanju s

RAČUNALNIŠTVO VARNOSTNA KOPIJA IN SLIKA DISKA Aleš Ovsenek Uvajanje novih izobraževalnih programov v srednjem poklicnem in strokovnem izobraževanju s RAČUNALNIŠTVO VARNOSTNA KOPIJA IN SLIKA DISKA Aleš Ovsenek Uvajanje novih izobraževalnih programov v srednjem poklicnem in strokovnem izobraževanju s področja tehnike za obdobje 2008-2012. Operacijo delno

Prikaži več

No Slide Title

No Slide Title Glavne napake-pomoč KRONOS 1 Diagnostika in dostop do sistema PEČICA NAPAKA NAPAKA PRIKAZANA Z KODO NAPAKE NAPAKA BREZ INDIKACIJE KODE NAPAKE 2 Diagnostika in dostop do sistema Prikaz kode napake Informacije

Prikaži več

UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete

UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete ELEKTRONSKI PODATKI, KI JIH ORGANIZACIJA USTVARJA IN POTREBUJE ZA DOSTOP, SE KAŽEJO V RAZLIČNIH

Prikaži več

Postopek poracuna 2007 za JU

Postopek poracuna 2007 za JU POSTOPEK PORAČUNA PLAČ V JAVNEM SEKTORJU ZA OBDOBJE JANUAR-JUNIJ 2007 Ljubljana, julij 2007 verzija 1.00 Stran - 1 Skladno z objavo Zakona o spremembah in dopolnitvah zakona o sistemu plač v javnem sektorju

Prikaži več

Delavnica Načrtovanje digitalnih vezij

Delavnica Načrtovanje digitalnih vezij Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Digitalni Elektronski Sistemi Zaporedni vmesniki Zaporedni (serijski) vmesniki Zaporedni (serijski) vmesniki

Prikaži več

Datum in kraj

Datum in kraj Ljubljana, 5. 4. 2017 Katalog znanj in vzorci nalog za izbirni izpit za vpis na magistrski študij Pedagoško računalništvo in informatika 2017/2018 0 KATALOG ZNANJ ZA IZBIRNI IZPIT ZA VPIS NA MAGISTRSKI

Prikaži več

Microsoft Word - ELEKTROTEHNIKA2_ junij 2013_pola1 in 2

Microsoft Word - ELEKTROTEHNIKA2_ junij 2013_pola1 in 2 Šifra kandidata: Srednja elektro šola in tehniška gimnazija ELEKTROTEHNIKA PISNA IZPITNA POLA 1 12. junij 2013 Čas pisanja 40 minut Dovoljeno dodatno gradivo in pripomočki: Kandidat prinese nalivno pero

Prikaži več

Spoznajmo PowerPoint 2013

Spoznajmo PowerPoint 2013 Spoznajmo PowerPoint 2013 13 Nova predstavitev Besedilo v predstavitvi Besedilo, ki se pojavlja v predstavitvah lahko premaknemo kamorkoli v diapozitivu. Kadar izdelamo diapozitiv z že ustvarjenimi okvirji

Prikaži več