Operatsioonisüsteemide ehitus

Seotud dokumendid
MTAT Operatsioonisüsteemid - protsessid

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

Linux süsteemi administreerimine

Funktsionaalne Programmeerimine

Operatsioonisüsteemid Intelligentne arvutikasutus IFI6070 Tanel Toova

Operatsioonisüsteemide ehitus

Andmeturve

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

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

loeng2

Operatsioonisüsteemid

Hajussüsteemid

MTAT Operatsioonisüsteemid - Turvalisus

Loeng03

Funktsionaalne Programmeerimine

Operatsioonisüsteemid 1. loeng

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

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

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

Microsoft Word - installation-guide.doc

Microsoft Word - Referaat.docx

Microsoft Word - essee_CVE ___KASVANDIK_MARKKO.docx

MTAT Operatsioonisüsteemid - Turvalisus

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

EIK-OSadmin-Edmund

Operatsioonisüsteemi ülesanded

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

Andmeturve

Excel Valemite koostamine (HARJUTUS 3) Selles peatükis vaatame millistest osadest koosnevad valemid ning kuidas panna need Excelis kirja nii, et


Estonian_TBW-106UB(V1).cdr

Mida räägivad logid programmeerimisülesande lahendamise kohta? Heidi Meier

Microsoft Word - EHR.docx

RIIGIPILVE TEENUSE TOOTETINGIMUSED ÜLDINE JA MÕISTED KINNITATUD WD nr 2017/1-11.2/ Riigipilve Teenuse Tootetingimused (edaspidi Ting

1 E-hääletamine & nutiseadmed Tarvi Martens E-hääletamise juht

Andmed arvuti mälus Bitid ja baidid

KIIRJUHEND Lugege kiirjuhend enne seadme kasutamist hoolikalt läbi. Kõik tärniga (*) märgitud juhised kehtivad WLAN + 3G mudelitele (Lenovo B6000-H(V)

Operatsioonisüsteemi ülesanded

Rühmatöö Moodle is Triin Marandi 2017 oktoober

loeng7.key

Süsteemiintegratsioon

Elisa Ring Elisa Ringi mobiilirakendus Versioon

Kfloppy vormindamistööriista käsiraamat

Microsoft PowerPoint - IRZ0050_13L.pptx

StandardBooks_versiooni_uuendusWin

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

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

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

TALLINNA TEHNIKA ÜLIKOOL Infotehnoloogia teaduskond Arvutiteaduse instituut Võrgutarkvara Androidi rakenduse loomine Apache Cordova platvormil bakalau

Tarkvaraline raadio Software defined radio (SDR) Jaanus Kalde 2017

Monitooring

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

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

P2P süsteemid

praktikumidesse.pdf

Tartu Ülikool Matemaatika-informaatikateaduskond Matemaatilise statistika instituut Võrgupeo külastaja uurimine Andmeanalüüs I projekt Koostajad: Urma

(loeng3-ohtlikud_koodiloigud)

EESTIKEELNE Kiirjuhend Selles juhendis on toodud juhised digitaalse fotoaparaadi esmakordse kasutamise, otseprintimise funktsiooni kasutamise, tarkvar

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

BIM360 ja RealityCapture

EESTIKEELNE Kiirjuhend Selles juhendis on toodud juhised digitaalse fotoaparaadi esmakordse kasutamise, otseprintimise funktsiooni kasutamise, tarkvar

Programmi AnimatorDV Simple+ lühike kasutajajuhend

Lenovo IdeaPad Kasutusjuhend Tutvuge enne arvuti kasutamist oluliste ohutus- ning kasutusjuhistega.

B120_10 estonian.cdr

SQL

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

Eesti Ettevõtluskõrgkool Mainor rakenduskõrghariduse õppekava ROBOOTIKATARKVARA ARENDUS Õppekava nimetus Õppekava nimetus inglise keeles Kõrgharidusta

SINU UKS DIGITAALSESSE MAAILMA Ruuter Zyxel LTE3302 JUHEND INTERNETI ÜHENDAMISEKS

Justiitsministri määrus nr 10 Euroopa tõkendi tunnistuse vormi kehtestamine Lisa EUROOPA TÕKENDI TUNNISTUS 1 Viidatud nõukogu raamotsuse 20

Programmeerimiskeel APL Raivo Laanemets 17. mai a.

ITI Loogika arvutiteaduses

Tiia Salm 2011 Online kirjastus CALAMÉO Calameo kujutab endast on-line kirjastust, mis võimaldab oma dokumente avaldada e-raamatuna tasuta. Failid (Pd

EID TARKVARA (v.1812 baasil)

Image segmentation

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

Microsoft Word - requirements.doc

SPORTident Air+

PowerPoint-præsentation

Document number:

Slide 1

Relatsiooniline andmebaaside teooria II. 6. Loeng

Projekti sõltuvuste andmebaas

Neurovõrgud. Praktikum aprill a. 1 Stohhastilised võrgud Selles praktikumis vaatleme põhilisi stohhastilisi võrke ning nende rakendust k

B660 Kiirjuhend Märkus: Selles juhendis olevad joonised on ainult teabeks. Oma konkreetse mudeli kohta käivate üksikasjade teada saamiseks pöörduge om

Häälestusutiliit Kasutusjuhend

VOIP121 estonian.cdr

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

Andmeturve

Müük (Microsoft Dynamics AX (Axapta) tarkvara) Paigaldusjuhend bifree.ee qlik.com

Lenvo ideapad IKB

Automaatne programmeerimisülesannete kontrollija Tartu Ülikooli kursuse “Algoritmid ja andmestruktuurid” jaoks

Pealkiri

Süsteemide modelleerimine: praktikum Klassiskeemid Oleg Mürk

MTAT Operatsioonisüsteemid - Failisüsteemid

Devilink PR Pistikuga relee Paigaldusjuhend EE

Voxel-World – maailm kuubikutest

Väljavõte:

Lõimed

Ülevaade Lõime mõiste Lõimede mudelid Probleemid lõimedega seoses Pthreads Solarise lõimed Windows 2000 lõimed Linuxi lõimed Java lõimed VARMO VENE & MEELIS ROOS 2

Ühe- ja mitmelõimelised protsessid code data files code data files registers stack registers registers registers stack stack stack VARMO VENE & MEELIS ROOS 3

Lõimed: kolm vaatepunkti Abstraktsioon algoritmide esitamiseks Programmeerimisliides Operatsioonisüsteemi ajajaotusühik VARMO VENE & MEELIS ROOS 4

Lõimed milleks? Reageerimiskiirus parema interaktiivsuse saamiseks võib kasutajaliidese ja muu töö eraldi lõimedesse panna Ressursside jagamine aadressipiirkond programmi mitme täitja poolt kasutatav Kokkuhoid hoiame kokku jagatud ressursside, uute protsesside loomise ning kontekstivahetuste pealt Mitme protsessori ära kasutamine ühe programmi poolt VARMO VENE & MEELIS ROOS 5

Kasutaja taseme lõimed Lõimede haldus realiseeritud kasutaja tasemel teegina Tuum ei tea midagi, tema jaoks üks ühelõimeline protsess Haldus kiire, kuna toimub kasutaja tasemel Näiteks POSIXi Pthreads Mach i C-threads Solarise lõimed (UI-threads) FreeBSD oma lõimed Windows NT fiibrid (kiud - osa lõimest) VARMO VENE & MEELIS ROOS 6

Tuuma lõimed Toetatud tuuma poolt, tuum jagab nende lõimede vahel aega Haldus kulukam kui kasutaja tasemel Näiteks Windows 95/98/NT/2000 Solaris Tru64 UNIX BeOS Linux VARMO VENE & MEELIS ROOS 7

Lõimede mudelid Mitu-ühele protsessi kõigi kasutaja tasemel lõimede jaoks on üks tuuma lõim user thread kernel thread Haldus kiire, kuna toimub kasutaja tasemel Korraga saab töötada kuni üks lõim Blokeeruva süsteemifunktsiooni kasutamisel blokeerub kogu protsess VARMO VENE & MEELIS ROOS 8

Lõimede mudelid Üks-ühele igale kasutaja taseme lõimele vastab tuuma lõim user thread kernel thread Haldus kulukam Saab kasutada mitut protsessorit Saab korraga teha mitut blokeeruvat operatsiooni Ei maksa liiga palju lõimi teha VARMO VENE & MEELIS ROOS 9

Lõimede mudelid Mitu-mitmele protsessi paljudele kasutaja taseme lõimedele vastab palju (kuni samapalju, võib ka vähem) tuuma lõimesid user thread kernel thread Kombineerib eelmiste head küljed Keerukam VARMO VENE & MEELIS ROOS 10

Probleemid lõimedega seoses fork() semantika muutus kas alamprotsess tehakse paljulõimeline või kopeeritakse üks lõim? exec() semantika muutus kas asendatakse kogu protsess või üks lõim? Signaalide püüdmine missugune lõim saab mitmelõimelise protsessi signaalid? Lõimede tekitamine ja loomine lõimevaru (thread pool) Lõimede lõpetamine (cancellation): asünkroonne ja sünkroonne Lõime kohalikud andmed VARMO VENE & MEELIS ROOS 11

Pthreads POSIXi standard (IEEE 1003.1c, POSIX 1c) Defineerib programmeerimisliidese lõimedele (C tasemel) Kasutaja tasemel, tuuma lõimedega soetud ainult konkreetse implementatsiooni detailide kaudu pthread.h, pthread_* funktsioonid De facto standard UNIXites Signaalitöötlus kohmakas, muidu normaalne API VARMO VENE & MEELIS ROOS 12

Solarise lõimed Läbi ja lõhki lõimeline :) LWP (lightweight process) kergprotsess (lõimede liides kasutaja ja tuuma tasemete vahel) Igale LWP-le vastab tuuma lõim, tuumas võib lõimesid veel olla Kasutajataseme lõimesid saab vajadusel LWP-dega siduda (LWP-sid läheb vaja siis, kui on vaja tuuma teenuseid kasutada) Sidumata lõimed jagavad omavahel mingit hulka LWP-sid Protsessi poolt kasutatavate LWP-de arvu reguleerib lõimede teek automaatselt (saab ka käsitsi) VARMO VENE & MEELIS ROOS 13

Solarise lõimed protsess 1 protsess 2 protsess 3 kasutaja taseme lõim kerg protsess tuuma lõim tuum protsessorid VARMO VENE & MEELIS ROOS 14

Teised Windows 2000 lõimed Üks-ühele mudel, ThreadFiberi teegi abil ka mitu-mitmele Igal lõimel on ka privaatne andmeala (data, DLL-id jms) Kaks magasini (kasutajataseme ja tuuma taseme jaoks) Linuxi lõimed Tuum toetab lõimede tegemist clone() abil luuakse protsessid, mis jagavad rohkem kui fork() abil tehtud protsessid (aadressiruum, failipidemed, nimeruumid,... ) clone() abil saadud lõimed on nagu protsessid, kontekstivahetus sama, igal oma PID jne. Ei eristata protsessi ja lõime, kõik on üks task Eksisteerib Pthreads i realisatsioon LinuxThreads (üks-ühele), signaalide töötlemiseks oma lõim VARMO VENE & MEELIS ROOS 15

Java lõimed Mitte tuumas ega kasutajatasemel, vaid keele tasemel JVM reliseerib kuidas tahab (green threads kasutaja tasemel, native threads kasutab tuuma lõimesid) Lõimed päritakse klassist Thread (või realiseerivad liidese Runnable), defineeritakse oma meetod run ja käivitatakse meetodiga start Funktsiooni main võib vaadata kui ühelõimelise programmi run-meetodit Massiline lõimede kasutamine ainult blokeeruva I/O olemasolu tõttu tuleb enamasti iga postkast (soklid jne) oma lõime panna Java 2 versioon 1.4 on esimene Java versioon, mis sisaldab korralikku asünkroonset I/O-d ja enam pole nii massiliselt lõimesid vaja VARMO VENE & MEELIS ROOS 16