Näide läbi kihtide. Ülesandepüstitus. Kihtideks jagunemine. Serverrakenduse komponendid ja nende vaheline suhtlus.

Similar documents
OPERATSIOONISÜSTEEMIDE EHITUS. Ülevaade. Taust. Võrkude tüübid. Topoloogiad. Side. Kommunikatsiooni protokollid VARMO VENE & MEELIS ROOS 2

Tupikud. Süsteemi mudel. Tupiku tingimused. Tupikute käsitlemise meetodid. Tupikute ennetamine. Tupikute vältimine. Tupikute avastamine

Seiretulemused: soojuslik mugavus ja piirete toimivus

Masinloetavate avaandmete esitamine Lennuameti näitel

oleopator G Maasse paigaldatav õlipüüdur l Klaasplast I klassi õlipüüdur vastavalt standardile EN 858 Tootesertifikaat Eraldusvõime Materjal

ENTERPRISE ESTONIA NORWAY MIS ON SEKTORI BRAND? MILLEKS ESTONIAN PARTNERSHIP PLATFORM?

LOCATIFY. Aarde jaht Veebi juhend

Lisa 1. EESTI VÕISTLUSTANTSU LIIDU treeneritele kutsekvalifikatsiooni omistamise ÕPPEKAVA. TREENER I, II ja TREENER III ASTE

Ravimi kõlblikkusaeg ja säilitustingimused. Laivi Saaremäel

Muuseumide statistika. Kutt Kommel analüütik

Windows Windows Mac OS... 5 ios... 7 Android... 9 Windows 7

ID: Cookbook: browseurl.jbs Time: 03:38:04 Date: 30/04/2018 Version:

Väline kvaliteedi kontroll- milline oleks optimaalne valik? Agnes Ivanov Tartu Ülikooli Kliinikum, Ühendlabor

Kogemused POCT INRanalüsaatorite. Agnes Ivanov Tartu Ülikooli Kliinikum Ühendlabor

Drag racing system HL190 User Manual and installation guide

CLUSTERPRO. TEL CLUSTERPRO.

VIGADE VÄHENDAMISE VÕIMALUSED LAOPROTSESSIDES MEDIQ EESTI OÜ NÄITEL

XC2 Client/Server Installation & Configuration

Mindsensors arvuti kontrolleri kasutamine koolirobootika komplektiga

Ajakiri Meremees on Eesti Mereakadeemia, merendusettevõtete ja -organisatsioonide toel ilmuv ajakiri.

AGW SYSTEMS. Blue Clock W38X

Elektroonilise ajalehe projekti aruanne. Oleg Mürk

ID: Cookbook: browseurl.jbs Time: 15:40:31 Date: 11/04/2018 Version:

VMware Inc., NSX Edge SSL VPN-Plus

Imelised Imelised kassid Imelised kassid Imelised kassid KASSID

ASSA ABLOY Baltic hinnakiri 2016

TALLINNA TEHNIKAÜLIKOOL. Infotehnoloogiateaduskond. Raadio- ja sidetehnika instituut. Telekommunikatsiooni õppetool

VÄIKESTELE JA KESKMISTELE ETTEVÕTETELE

Ajakiri Meremees on Eesti Mereakadeemia ja merendusorganisatsioonide toel ilmuv ajakiri.

LEGO Mindstorms NXT ga ühilduv aeglase kiirenduse sensor

Integrate Riverbed SteelHead. EventTracker v8.x and above

This document is a preview generated by EVS

Kommunikatsiooni- ja kujunduskäsiraamat

Nutikas spetsialiseerumine - kitsaskohtade ja uute võimaluste analüüs. Eesti Arengufond

ONSIGHT FIREWALL CONFIGURATION GUIDE

ONSIGHT FIREWALL CONFIGURATION GUIDE

LAOTEHNOLOOGIAD JA -SÜSTEEMID

LEGO Mindstorms NXT ga ühilduv WiFi sensor

Fencing Fox SmartApp Documentation. 25 avril 2018

This document is a preview generated by EVS

VÄLJAVÕTE Ärisaladus välja jäetud (tähistatud...*) Tallinn nr 8.3-1/14-003

APP NOTES Onsight Connect Cisco Integration. July 2016

lainesurf Käsitöö surfilauad musasoovitused Olümpiatüdruk Ingrid Puusta Keenia ja Tenerife reisikirjad Jääsurf

FIRST Tech Challenge Scorekeeper Manual Part II: Scoring System Guide (For Non-League Event Types)

ID: Cookbook: browseurl.jbs Time: 19:33:28 Date: 25/04/2018 Version:

KOLMANDA SEKTORI RESSURSID JÄRVAMAAL

ÜLEVAADE RAHAPESU ANDMEBÜROO TEGEVUSEST AASTAL

Vali riba pealt: View > Backgrounds ning lülita taustapilt WBBackground välja nii, et näeksid mudelit selgemalt.

ID: Cookbook: browseurl.jbs Time: 18:33:33 Date: 06/04/2018 Version:

BAROMETER PRESSURE STANDARD PRESSURE CONTROLLER

Tõnis Vilu ÖKOKRIITILISE ANALÜÜSI VÕIMALUSTEST UKU MASINGU LOODUSTEKSTI MÄLESTUSI TAIMEDEST NÄITEL. Magistritöö

Bernhard Thomas September EnCal 3000 prochain Energy in Gas with ROI

2018 UEFA SUPER CUP TICKETING TERMS AND CONDITIONS

SteelHead SaaS User s Guide

FIRST Tech Challenge Scorekeeper Manual Part II: Scoring System Guide (For League Meet & League Tournament Events)

P500/700/900 Part Number. P510/710/910 Part Number N/A N/A SBB0K65455 N/A N/A N/A SBB0K65456 N/A N/A N/A SBB0K65457 N/A N/A N/A SBB0K65521 N/A

securing networks with silicon

Tartu Ülikool Loodus- ja tehnoloogiateaduskond Tehnoloogiainsituut

Diagrammid ja nende kasutamine Excel 2016 näitel

ID: Sample Name: html Cookbook: defaultwindowshtmlcookbook.jbs Time: 15:11:10 Date: 11/04/2018 Version: 22.0.

Control panel GEA Omni. Communication Guide _5

Eesti lõbusõidulaevade konkurentsieelised

This document is a preview generated by EVS

ID: Cookbook: browseurl.jbs Time: 22:08:00 Date: 05/07/2018 Version:

ID: Cookbook: browseurl.jbs Time: 17:57:53 Date: 27/04/2018 Version:

Tallinna Ülikool Digitehnoloogiate Instituut. Diagrammid ja nende kasutamine Excel 2016 näitel Seminaritöö

Eesti keeleseisund Sisukord

LEGO MINDSTORMS Education NXT v1.1 lühitutvustus

LEGO Mindstorms NXT juhtimine mobiilsete seadmetega

DOMEENINIMEDE ÕIGUSLIKU REGULATSIOONI EBAPIISAVUS JA SELLEST TULENEV «CYBERSQUATTING» JA PIISAVA ÕIGUSTE KAITSE PUUDUMINE

Ajakirjanduse ja poliitika roll ning suhted poliitilises skandaalis Silvergate i näitel

Now every device for small & medium businesses, at zero upfront

Ain Kaalep tutvustas Jaan Kaplinskit Uku Masingule aastate

ID: Cookbook: browseurl.jbs Time: 21:49:21 Date: 20/04/2018 Version:

Sõnavõtt Detroidi Haridusseltsi KODU 85. aastapäeval, 8. oktoobril 2011.a.

Configuring Bidirectional Forwarding Detection for BGP

HPE ArubaOS-Switch Software Feature Support Matrix K/KA/KB/RA/WB/WC/YC/YA-YB Switches (minimum firwmare versions)

Application Instruction Manual

This document is a preview generated by EVS

KARATE JA ENESEKAITSE

ID: Sample Name: sentenza berwind.pdf Cookbook: defaultwindowspdfcookbook.jbs Time: 21:41:19 Date: 11/04/2018 Version: 22.0.

TALLINNA TEHNIKAÜLIKOOL. Informaatikainstituut. Infosüsteemide õppetool ERP JUURUTUSPROJEKTI ANALÜÜS

ID: Cookbook: browseurl.jbs Time: 16:38:13 Date: 14/04/2018 Version:

Euroopa Komisjon. Kirjuta. selgelt. Tõlge 1

Session Objectives. At the end of the session, the participants should: Understand advantages of BFD implementation on S9700

ID: Cookbook: browseurl.jbs Time: 20:25:07 Date: 07/05/2018 Version:

ET ELi noortegarantii: esimesed sammud on tehtud, kuid ees ootavad rakendamisega seotud riskid. Eriaruanne EUROOPA KONTROLLIKODA

KUTSE. Eesti lahtised Meistrivõistlused 2018 Estonian Open Championships 2018 MN13 MN MN40, MN50; MN60 Harrastajad detsember 2017 Haanja

Programmeerimine toimub ikoonide abil. Programm moodustub omavahel juhtmega ühendatud, üksteise järele asetatud ikoonidest. Vaata joonis 1.

ID: Cookbook: urldownload.jbs Time: 15:58:06 Date: 04/06/2018 Version:

ID: Cookbook: browseurl.jbs Time: 01:54:38 Date: 10/05/2018 Version:

EESTI REISIKORRALDUSETTEVÕTETE SUHTELINE MAKSEJÕULISUS JA TEGEVUSE TÕHUSUS AASTATEL

Kakskümmend tuhat Ijööd vee all

PUUR- JA LÕHKETÖÖDE TEHNILISTE PARAMEETRITE JUHTIMISE VÕIMALUSTE ANALÜÜS PÕLEVKIVI ALLMAAKAEVANDAMISEL ESTONIA KAEVANDUSE TINGIMUSTEL

Moving an exchangepoint - What happened?

1.1. The regatta will be governed by the rules as Võistlusreeglite (PVR) alusel.

Ds Game Manuals Pokemon Black And White 2 Full Version

Lam Rainbow and TCP Product Status Checklist. System Type: Poly Etcher System Model: 4420 D.O.M.:

This document is a preview generated by EVS

This document is a preview generated by EVS

Transcription:

Näide läbi kihtide Ülesandepüstitus Kihtideks jagunemine Serverrakenduse komponendid ja nende vaheline suhtlus Paralleeltöötlus Soklid protsesside vahel ja üle võrgu Võrk, DMA, zerocopy andmeülekanne Kliendi poolne võrk Brauser, protsessideks ja lõimedeks jagnemine Graafikaliidesed MEELIS ROOS 1

Ülesandepüstitus Vaatame, mis toimub ühe veebilehe serveerimisel ja vaatamisel Kliendil on veebibrauser Serveris on rakendusserver, selles rakendus, mis suhtleb andmebaasiga Osa veebilehest genereeritakse dünaamiliselt, osa ressursse serveeritakse staatilistest failidest Klient ja server kasutavad oma OS ressursse Võrgustackid tekitavad ühendused läbi eri kihtide kahe masina rakenduste vahel MEELIS ROOS 2

Kihtideks jagunemine Võrgu mõttes on kõik kihid läbitud rakenduskihis on HTTP, pakkimine, seansid, HTML/XML/JSON esituseks Opsüsteemi teenustest kasutatakse kah enamust protsesside ajajaotus, protsesside vaheline side, mäluhaldus, salvestussüsteemid, failisüsteemid, võrguseadmete I/O MEELIS ROOS 3

Serverrakenduse komponendid Protsessid: Veebiserver Rakendusserver Rakendus ise Andmebaasiserver Operatsioonisüsteemi teenused: Võrgustack Salvestussüsteem Failisüsteem Ajajaotus Mäluhaldus IPC MEELIS ROOS 4

Paralleeltöötlus Tahame toetada korraga paljude klientide päringuid võimalikult väikese latentsiga Erinevates moodulites ja kihtides on vaja paralleelsust Iga protsessi võib olla mitu instantsi, või võib iga protsess olla mitmelõimeline Ühtlasi saame ära kasutada mitut protsessorit Kuhu on mõtet võtta olekumasin paljude soklitega, kuhu lõimed, kuhu protesssid? Kuidas käib andmevoogude sünkroniseerimine kõigi nende vahel? MEELIS ROOS 5

Soklid Suhtluseks serverrakenduse protsesside vahel (kus täpsemalt?) Suhtluseks klientide ja serveri vahel Palju paralleelseid kliente Ühel kliendil mitu päringut Ühel kliendil potentsiaalselt mitu ühendust korraga Osa päringuid saab staatiliselt serveerida, tahaks efektiivsust (sendfile() ja analoogid) Osade päringute puhul ei pääse sisu töötlusest Soklite jagamine protsesside vahel MEELIS ROOS 6

Võrk HTTP kasutab transpordikihist TCP protokolli teeme töökindla toru iga HTTP ühenduse jaoks Port 80, kuulav sokkel serveris (tõenäoliselt jagatud mitme protsessi poolt või on mitmelõimelises protsessis) DNS nimelahendus serveri nimele IP-de leidmiseks (UDP port 53 nimeserveril) Klientidel igal oma IP, iga TCP ühenduse kliendipoolne port on juhuslik All on IP (IPv4, IPv6) ruudime paketthaaval Füüsiliseks kihiks on tavaliselt Ethernet või WiFi, mõnedes vahepealsetes segmentides vahel muu (DSL) Kliendi poolel vastupidi liides, IP, TCP, rakendus MEELIS ROOS 7

DMA, kopeerimise vältimine Salvestisüsteemidega suhtlemiseks on kastusel DMA, et andmeülekanne toimuks taustal ja CPU saaks muuga tegelda Ketta taga ootav protsess või lõim blokeerub Katkestustega juhitud vookontroll käskude järjekorrale Võrguliidestega suhtluseks on samuti DMA anname aga järjekorra saatmiseks ette ja võrguliides annab vastu teise järjekorra lugemiseks Katkestustel põhinev vookontroll DMA optimeerime scatter-gather DMA, kontrollsummade arvutamine, segmenteerimine Zero-copy arhitektuur las kettakontroller loeb andmed DMA-ga mällu ja võrgukaart saadab samast mälualast DMA-ga kliendile, ilma et peaks mälus ringi kopeerima MEELIS ROOS 8

Kliendi komponendid Brauser Töölauaga seotud protsessid (aknahaldurid, desktopirakendused, compsition manager) Operatsioonisüsteemi komponendid: Võrgustack Mäluhaldus Ajajaotus Failisüsteemid, salvestisüsteemid Turve ja liivakastid Graafiline kasutajaliides Sisendseadmed MEELIS ROOS 9

Brauser Eeskätt graafilise kasutajaliidesega Kasutab sisendseadmeid (hiired, multitouch, klaviatuurid) Paljude kaartidega Vajab liivakaste pluginatele ja veebilehtede üksteise eest isoleerimiseks Tahab kiiruse huvides teha lehtede ja ressursside eellaadimist (mälutarve!) MEELIS ROOS 10

Protsessid ja lõimed Brauser tahtis vanasti 1 protsessi Siis paljulõimelist protsessi igal kaardil oma lõim (suur protsess palju mäluga) Tänapäeval igal kaardil oma protsess Eraldi protsessid GUI ja iga veebilehe konteksti+skriptide jaoks (isoleerimine) Eraldi protsessid pluginate jaoks IE + Windows: OS jagab sama kasutaja protsessid mitme turvataseme peale, enamus IE koodist käib madalama turvatasemega ning ei saa ligi ei failidele ega desktopile MEELIS ROOS 11

Graafikaliidesed Esimene põlvkond lihtsalt rastergraafika kaadripuhvriga (framebuffer) Rastergraafika tasemel kiirendusoperatsioonid line, box, fill, blit,... Vektorgraafika (3D 2D) Video (lahti)pakkimise kiirenduskomponendid DMA+IRQ järjekord MEELIS ROOS 12

Graafika-APId MSDOS puudub Macintosh, Amiga "toolbox" ROM is, opsüsteem laiendas seda Windows GDI, hiljem GDI+; lisaks DirectX UNIX X11, hiljem lisaks OpenGL, nüüd Linuxis ka Wayland X11 asemel OpenGL all MacOS X Quartz (terve pere), Quartz Extreme (sisemiselt vektor) Windows Vista Windows Presentation Foundation ehk Avalon (sisemiselt vektor) MEELIS ROOS 13

Brauser ja graafika Tüüpiliselt 2D kiirendus rastergraafikaga Tänapäeval ka 3D kiirendus (WebGL kaudu ka Javascriptile kättesaadav) Lisaks videomängimise kiirendus MEELIS ROOS 14

Sisendseadmed Opsüsteem liidestab eri seadmeid ja tunneb spetsiifilisi protokolle Rakendused näevad standardiseeritud sündmusi KeyUp, KeyPress, KeyDown MouseMove (abs + rel), MouseDown, MouseUp, Click, DoubleClick,... Multitouch sündmused Aknahaldur või töölauakeskkond suunab sündmused ümber konkreetsele aknale, mille peal need on, või fookuse järgi MEELIS ROOS 15