Operatsioonisüsteemid

Seotud dokumendid
OPERATSIOONISÜSTEEMIDE EHITUS Ülevaade Protsessi mõiste Protsesside planeerimine Operatsioonid protsessidega Protsessihaldus Protsesside koostöö Prots

Operatsioonisüsteemide ehitus

MTAT Operatsioonisüsteemid - protsessid

HAJUSSÜSTEEMID HAJUSSÜSTEEMID Kaugprotseduurid IDL kompileerimine ONCIDLnäide CORBAIDLnäide MIDLnäide DCERPCmuidomadusi XML-RPC JSON-RPC REST document

(loeng3-ohtlikud_koodiloigud)

Juhend nutiterminali seadistamiseks ja kaardimaksete vastuvõtmiseks Ingenico Link/2500 ja icmp

Funktsionaalne Programmeerimine

Linux süsteemi administreerimine

SAF 7 demo paigaldus. 1.Eeldused SAF 7 demo vajab 32- või 64-bitist Windows 7, Window 8, Windows 10, Windows Server 2008 R2, Windows Server 2012, Wind

PowerPointi esitlus

MTAT Operatsioonisüsteemid - Turvalisus

MTAT Operatsioonisüsteemid - Turvalisus

Loeng03

Andmeturve

E-arvete juhend

HAJUSSÜSTEEMID HAJUSSÜSTEEMID SOAP ja veebiteenused Web Services Web Services SOAP WSDL Ühilduvus UDDI Kihiline arhitektuur masinsuhtluse jaoks erinev

Andmeturve

Andmeturve

Operatsioonisüsteemid Intelligentne arvutikasutus IFI6070 Tanel Toova

X Window System tuntud kui: X11, X, X-Windows akendussüsteem/akendesüsteem rastergraafikat toetavatele ekraanidele UNIX-maailmas väga levinud mitmesug

Elisa Ring Elisa Ringi mobiilirakendus Versioon

TARTU ÜLIKOOL LOODUS- JA TÄPPISTEADUSTE VALDKOND ARVUTITEADUSE INSTITUUT Lauri Kongas Turvaauk CVE Referaat aines Andmeturve MTAT Õpp

DNS teenus teoorias ja praktikas Autor Siim Adamson ITK Autor: Siim Adamson ITK

Tartu Ülikool Loodus- ja täppisteaduste valdkond Arvutiteaduse instituut Sandra Puusepp CVE Referaat Tartu 2018

GRUPI-SMS Veebirakenduse kasutamise juhend Rakendus Elisa grupi-smsi rakendus Väljaandja Elisa Eesti AS Juhendi koostamise kuupäev Versioon

Hajussüsteemid

Operatsioonisüsteemi ülesanded

SQL

Andmed arvuti mälus Bitid ja baidid

HAJUSSÜSTEEMID HAJUSSÜSTEEMID Veebiteenused ja SOAP Web Services Web Services SOAP WSDL Ühilduvus UDDI Kihiline arhitektuur masinsuhtluse jaoks erinev

Monitooring

B120_10 estonian.cdr

Operatsioonisüsteemide ehitus

Süsteemiintegratsioon

Skriptimiskeeli, mida ei käsitletud Perl Python Visual Basic Script Edition (VBScript) MS DOS/cmd skriptid Windows PowerShell midagi eksootilisemat: G

I Generaatori mõiste (Java) 1. Variantide läbivaatamine Generaator (ehk generaator-klass) on klass, milles leidub (vähemalt) isendimeetod next(). Kons

Microsoft Word - Vx610 EMV KASUTUSJUHEND.doc

Otsinguteavituse esitamine Kultuurimälestiste riiklikus registris 1. Mine aadressile: ja vajuta nuppu Kodanikule. 2. Sisene


HAJUSSÜSTEEMID HAJUSSÜSTEEMID Nimeteenuse näited DNS DNS NIS NIS+ LDAP JNDI Hierarhiline Interneti nimede süsteem Põhilised päringud: Arvuti nime järg

Hoia oma arvuti turvaline ja kiire 1.Leia start nupust alustades Juhtpaneel 2.Juhtpaneeli aadressiribalt leia Kõik juhtpaneeli üksused 3.Avanenud tööa

Microsoft Word - TallinnLV_lihtsustatud_manual_asutuse_juhataja_ doc

StandardBooks_versiooni_uuendusWin

Häälestusutiliit Kasutusjuhend

DE_loeng5

KOTKAS AVE kasutajakeskne juhend Loomise Muutmise kuupäev: kuupäev: Versioon: 2.0 Klient: Keskkonnaministeeriumi Infotehno

Document number:

Operatsioonisüsteemid 1. loeng

Microsoft Word - HOTSEC kasutusjuhend v1.900.docx

Tarkvaraline raadio Software defined radio (SDR) Jaanus Kalde 2017

Pealkiri

P2P süsteemid

Microsoft Word - ref - Romet Piho - Tutorial D.doc

Outlookist dokumendi registreerimine Plugina seadistamine Dokumendi registreerimine Outlookist Vastusdokumendi registreerimine Outlookist Outlooki plu

Operatsioonisüsteemid

Microsoft PowerPoint - BPP_MLHvaade_juuni2012 (2)

Loeng12

1. Üliõpilased 1.1 Tõendid Vali menüüst: Üliõpilased tõendid tõendite trükkimine. Avaneb vorm Tõendite trükkimine, vali tõendi liik Tõend õppim

HAJUSSÜSTEEMID HAJUSSÜSTEEMID Peer-to-peer süsteemid Peer-to-peer süsteemide liigitus Liigitus Ründed Anonüümsus Puuräsi DHT Näide: Kazaa Näide: Kadem

Microsoft Word - EHR.docx

Microsoft Word - Toetuste veebikaardi juhend

Operatsioonisüsteemi ülesanded

Rahulolu_uuring_2010.pdf

PowerPoint Presentation

Failiotsing: find paljude võimalustega otsingukäsk find kataloog tingimused kataloog - otsitakse sellest kataloogist ja tema alamkataloogidest tingimu

Pangalingi spetsifikatsioon Pocopay pangalingilt makse algatamiseks tuleb kasutada teenust Kaupmees teeb päringu Pocopayle aadressile

untitled

EE-macbook-retina-12-early2015-qs.indd

Slide 1

VOIP121 estonian.cdr

Esitlusslaidide kujundusest

KASUTUSJUHEND

Microsoft Word - Referaat.docx

CPA4164 USB 2.0 kõrgekvaliteediline videoadapter KASUTUSJUHEND 1. PEATÜKK - Ülevaade 1.1 Tutvustus CPA4164 USB 2.0 videoadapter võimaldab teil arvutis

SK-3MD

Rühmatöö Moodle is Triin Marandi 2017 oktoober

Microsoft Word - EVS_ISO_IEC_27001;2014_et_esilehed.doc

ITI Loogika arvutiteaduses

PRESENTATION HEADER IN GREY CAPITALS Subheader in orange Presented by Date Columbus is a part of the registered trademark Columbus IT

VKE definitsioon

TELE2 SEADMEKINDLUSTUSE tingimused TH-TELE Vaata lisaks TELE2 SEADMEKINDLUSTUSE TINGIMUSED TH-TELE

Programmi AnimatorDV Simple+ lühike kasutajajuhend

Microsoft PowerPoint - EMCS13

Pealkiri

Infix Operaatorid I Infix operaatorid (näiteks +) ja tüübid (näiteks ->) kirjutatakse argumentide vahele, mitte argumentide ette. Näiteks: 5 + 2, 2*pi

Directo ja Omniva arvekeskuse (endine EAK ehk Eesti E-arvete Keskus) liidestamine

Töökoha kaotuse kindlustuse tingimused TTK indd

Väljaandja: Regionaalminister Akti liik: määrus Teksti liik: algtekst-terviktekst Redaktsiooni jõustumise kp: Redaktsiooni kehtivuse lõpp:

(Microsoft PowerPoint - seminar_6_n\365uded-ainemudel tagasiside.ppt [Compatibility Mode])

SQL

KOOLITUSTE HALDAMINE E-TÖÖTUKASSA KASUTAJAJUHEND 1

Veebipõhised andmebaasid ja otsi(ngu)mootorid Internet on Oluline, peagi peamine andmeallikas! 2/3 Eesti aktiivsest elanikkonnast kasutab;! 90% arvuti

G aiasoft Programmi VERP ja Omniva Arvekeskuse liidese häälestamine ja arvete saatmine-lugemine VERP 6.3 ja VERP 6.3E Versioon ja hilisemad K

DJI GOGGLES Kiirjuhend V1.0

Microsoft Word - essee_CVE ___KASVANDIK_MARKKO.docx

Võrguregistripõhine võrguplaneerimine Jaanus Kokk AS Eesti Telekom

normaali

Antennide vastastikune takistus

MAKSETERMINALI KASUTUSJUHEND

Müügiarvete juhend VEP_

Väljavõte:

Protsessihaldus Protsessi mõiste Protsesside planeerimine Operatsioonid protsessidega Protsesside koostöö Protsessidevaheline side Side klient-serversüsteemides MEELIS ROOS 1

Protsessi mõiste Opsüsteem võib täita mitmesuguseid töid: Pakktööd (batch jobs) Aega jagavad tööd (time-sharing tasks) Protsess täitmisel olev programm Programmi täidetakse järjest (programm kui käsujada, retsept) Protsess koosneb: Koodisektsioonist Käsuloendurist (program counter, instruction pointer) Magasinist (stack) Andmesektsioonist Protsessori seisust (registrid) MEELIS ROOS 2

Protsessi olek Täitmise käigus satub protsess järgmistesse olekutesse: Uus (new) protsess luuakse Töös (running) selle protsessi käske täidetakse Ootel (waiting) protsess ootab mingi sündmuse toimumist Valmis (ready) protsess ootab, et tema käske täitma hakataks Lõpetatud (terminated) protsessis olev programm on täidetud (edukalt või ebaedukalt) MEELIS ROOS 3

Protsessi olekudiagramm new admitted interrupt exit terminated ready running IO/event completion sheduler dispatch waiting IO/event wait MEELIS ROOS 4

Protsessi andmed operatsioonisüsteemis Iga protsessiga on seotud protsessi juhtplokk (PCB Process Control Block) Protsessi juhtplokk koosneb: (Protsessi number) Protsessi olek Käsuloendur Protsessori registrite seis Protsessoriaja planeerimise info Mäluhaldusinfo Arvepidamisinfo I/O staatus Omanikuinfo... MEELIS ROOS 5

Planeerimisjärjekorrad Operatsioonisüsteem haldab kõigi protsesside juhtplokke erinevates järjekordades: Tööde järjekord kõik süsteemi protsessid Töövalmis tööde järjekord kõik protsessid, mis on mälus ning valmis täitmiseks Seadmete järjekorrad protsessid, mis ootavad antud seadme taga I/O lõppemist Protsesse liigutatakse vastavalt vajadusele järjekordade vahel Erinevate järjekordade jaoks võib opsüsteem kasutada erinevat halduspoliitikat Load average töövalmis tööde järjekorra keskmine pikkus MEELIS ROOS 6

Planeerimisjärjekorrad Ready Queue head ptr tail ptr PCB 1 PCB 2 PCB 3 registers registers registers... Wait Queue head ptr tail ptr PCB 4 PCB 5 registers. registers. MEELIS ROOS 7

Planeerijad Lühiajaline planeerija Valmis protsesside hulgast sobiva tööks valimine Töötab tihti, peab olema kiire Pikaajaline planeerija Uute protsesside loomine Hoolitseb multiprogrammeerimise astme eest Käivitub harva, pole kiirusekriitiline Õige protsessisegu hoidmine (I/O taga ootavad ja protsessori taga ootavad protsessid) Vahepealne planeerija protsesside välja ja sisse saalimine (swapping) MEELIS ROOS 8

Kontekstivahetus Context switch Ühelt protsessilt teisele lülitumisel tuleb salvestada vana protsessi olek ja laadida uue protsessi salvestatud olek See aeg on lisakulu, vähendab rakendustele jäävat protsessoriaega Kuluv aeg sõltub protsessori võimalustest MEELIS ROOS 9

Protsesside loomine Vanemprotsessid võivad luua lapsprotsesse Iga lapsprotsess võib olla teistele protsessidele omakorda vanemaks Nii tekib protsesside puu Ressursside jagamine Vanem ja laps jagavad kõiki ressursse Laps saab alamhulga vanema ressurssidest Vanem ja laps ei jaga mingeid ressursse Töötamine Vanem ja laps töötavad paralleelselt Vanem ootab, kuni laps töö lõpetab Eri mudelid: fork+exec, CreateProcess MEELIS ROOS 10

Protsesside loomine: näide main () { int parentid = getpid(); char prgname[1024]; fgets(prgname, 1024, stdin); /* input new program name */ int cid = fork(); if (cid == 0) { /* I m the child process */ execlp(prgname, prgname, 0); /* Load the program */ perror("can t execute program %s", prgname); } else { /* I m the parent process */ waitpid(cid, 0, 0); /* Wait the child to terminate */ printf("program %s finished\n", prgname); } } MEELIS ROOS 11

Protsessi lõpetamine Protsess võib lõppeda vabatahtlikult (exit) Vanemale antakse tagasi väljundinfo (wait) Operatsioonisüsteem vabastab protsessiga seotud ressursid Sunniviisiliselt vanemprotsess tapab (kill), opsüsteem tapab, vanemprotsess sureb ja opsüsteem tapab seetõttu MEELIS ROOS 12

Protsesside lõpetamine: näide main () { int cid = fork(); if (cid == 0) { /* I m the child process */ sleep(5); /* I ll exit myself after 5 seconds */ printf("quitting child.\n"); exit(0); printf("oops! Shouldn t be here!\n"); } else { /* I m the parent process */ printf("type any character to kill the child.\n"); char c = getchar(); if (!kill(cid, SIGKILL)) printf("killed the child.\n"); } } MEELIS ROOS 13

Koostööd tegevad protsessid Sõltumatud protsessid ei saa teisi protsesse mõjutada ega teiste protsesside poolt mõjutatud saada Koostööd tegevad protsessid saavad teisi protsesse mõjutada ja/või teiste protsesside poolt mõjutatud saada Miks protsesside koostööd vaja on? Info jagamine Töö kiirendamine Modulaarsus Mugavus MEELIS ROOS 14

Tootja-tarbija probleem Tootja producer, tarbija consumer Protsesside koostöö paradigma Tootjaprotsess toodab mingit infot ja tarbijaprotsess saab selle kätte ja kasutab Puhverdamine Piiramata puhvriga praktiliselt pole piire kahe protsessi vahelisel puhvril Piiratud puhvriga sidepuhvri(te)l on fikseeritud suurus MEELIS ROOS 15

Näide piiratud puhvrist: jagatud mälu #define BUFFER_SIZE 10 typedef struct {... } item; item buffer[buffer_size]; int in = 0; int out = 0; Töötab, aga kasutada saab kuni BUFFERSIZE - 1 elementi MEELIS ROOS 16

Piiratud puhver: tootja ja tarbija Tootja protsess item nextproduced; while (1) { while (((in + 1) % BUFFER_SIZE) == out) ; /* do nothing */ buffer[in] = nextproduced; in = (in + 1) % BUFFER_SIZE; } MEELIS ROOS 17

Piiratud puhver: tootja ja tarbija Tarbija protsess item nextconsumed; while (1) { while (in == out) ; /* do nothing */ nextconsumed = buffer[out]; out = (out + 1) % BUFFER_SIZE; } MEELIS ROOS 18

Protsessidevaheline side IPC Interprocess Communication Operatsioonisüsteemi poolt pakutav mehhanism protsesside vahel side pidamiseks ja tegevuste sünkroniseerimiseks Jagatud mälu või teadete edastamine Näide: System V IPC jagatud mälu, semaforid, teadete järjekorrad Näide: UNIXi torud (pipe) Näide: Windowsi aknateated (window messages) MEELIS ROOS 19

Teadete saatmine IPC mehhanism pakub kahte operatsiooni: send(message) teate suurus fikseeritud või vaba receive(message) Kui protsessid P ja Q tahavad suhelda, siis peavad nad Omavahel mingi ühenduse looma Vahetama teateidsend/receive abil Ühenduse omadusi: Otsene või kaudne suhtlus? Sümmeetriline või asümmeetriline suhtlus? Automaatne või käsitsi toimuv puhverdamine? Koopia või viida saatmine? Kindla või suvalise pikkusega teated? MEELIS ROOS 20

Otsene suhtlus Protsessid saadavad teateid otse üksteisele Peavad üksteise nimesid teadma: send(p, message) teate saatmine protsessile P receive(q, message) teate vastuvõtt protsessilt Q Sidakanali omadused Ühendused luuakse automaatselt Ühendus on seotud täpselt ühe paari protsessidega Iga protsessipaari vahel on täpselt üks ühendus Ühendus võib olla ühesuunaline, enamasti on kahesuunaline MEELIS ROOS 21

Kaudne suhtlus Teated saadetakse postkastidesse ja võetakse vastu postkastidest (mailbox, tihti ka port) Igal postkastil oma ID Protsessid saavad suhelda ainult siis, kui nad jagavad mingit postkasti Postkast võib kuuluda nii rakendusele kui operatsioonisüsteemile Sidakanali omadused Ühendus luuakse ainult siis, kui protsessid jagavad postkasti Ühendus võib olla paljude protsesside vahel Iga protsesside paar võib jagada mitut postkasti Ühendus võib olla nii ühe- kui kahesuunaline MEELIS ROOS 22

Postkastide kasutamine Operatsioonid postkastidega: send(a, message) teate saatmine postkasti A receive(a, message) teate vastuvõtt postkastist A Kui postkastid kuuluvad opsüsteemile, on olemas primitiivid ka postkastide loomiseks ja kustutamiseks Postkastil on omanik (protsess) Lugeda saab kas ainult omanik või ka omaniku poolt lubatud teised protsessid Omanikuõigust ja lugemisõigust saab edasi saata Mis juhtub, kui postkasti tuleb teade ja lugejaid on mitu? Näited: Mach, Windows 2000 MEELIS ROOS 23

Sünkroniseerimine Teadete saatmine võib olla nii blokeeruv kui mitteblokeeruv Blokeerumine annab sünkroonse suhtluse Mitteblokeerumine annab asünkroonse suhtluse Saatmine ja vastuvõtt võivad teineteisest sõltumatult olla blokeeruvad või mitteblokeeruvad MEELIS ROOS 24

Puhverdamine Ühendusega on seotud teadete järjekord Järjekorra pikkuse jaoks mitu võimalust: Null mitte ühtegi teadet, käsitsi puhverdamine Piiratud maht etteantud arv teateid, kui saatmisel on järjekord täis, siis sünkroonne saatja blokeerub ruumi vabanemiseni Piiramatu maht saatja ei blokeeru kunagi MEELIS ROOS 25

Klient-server mudel: soklid Sokkel side otspunkt Side toimib kahe sokli vahel Sokli aadressiks on masina aadressi ja protsessi identifikaatori komplekt Näiteks TCP/IP puhul IP aadress + pordi number Näide: sokkel 161.25.19.8:1625 ühes otsas ja sokkel 193.40.5.125:80 teises otsas. MEELIS ROOS 26

Klient-server mudel: kaugprotseduurid Kaugprotseduuri väljakutse (RPC Remote Procedure Call) üldistab protseduuride väljakutseid erinevate arvutite protsesside vahel Tüügas (stub) kliendipoolne proksi, mida kutsutakse välja tegeliku protseduuri asemel Tüügas otsib serveri ja kodeerib parameetrid õiges formaadis Serveripoolne tüügas saab teate, kodeerib parameetrid lahti ja kutsub tegeliku protseduuri välja Näide: SunRPC (+XDR), DCE RPC Portmapper (ka matchmaker, rendezvous daemon) MEELIS ROOS 27