Sisältöä. Milloin? Vuorotus. Kiinteä ja vaihteleva prioriteetti. Kertaus. Käyttöjärjestelmät. Syksy 2006 / Luento

Samankaltaiset tiedostot
Käyttöjärjestelmät LUENTO 23. Kertaus

Sisältöä. Milloin? Vuorotus. Kiinteä ja vaihteleva prioriteetti. Käyttöjärjestelmät, Luento 24. Kertaus. Syksy 2007, Tiina Niklander 24-1

Sisältöä. Kertaus. Vuorotus I/O Tiedostojärjestelmä Hajautettu prosessi Tietoturva. Käyttöjärjestelmät, Luento 24. Syksy 2007, Tiina Niklander 24-1

Distribution issues, global state, clusters, CORBA, etc. Distributed objects

Sisältö SIIRRÄNTÄ. I/O-laitteiden luokittelua. Yleistä siirrännästä. Siirrännän perustekniikat. Siirtonopeuksia (teoreettisia) Kuva 11.

Stallings, Luku I/O-laitteiden luokittelua, siirtonopeuksia Siirrännän perustekniikat Siirrännän kehittyminen

Osio 3: Siirräntä ja tiedostojärjestelmä

NTÄ. Luento 8: SIIRRÄNT. Osio 3: Siirräntä ja tiedostojärjestelmä. ltö. Yleistä siirrännästä. Siirtonopeuksia (teoreettisia) Kuva 11.1.

Stallings, Luku

Ch [Stal 05] Ch , [Tane 01] Ch 20.7 [DDC 04] Ch [Stal05]

Sisältöä. Linux. Tiedostojen yhteiskäyttö. TIEDOSTOJEN HALLINTA Käytännön esimerkit. LINUX Tiedostojärjestelmät. Käyttöjärjestelmät

RJESTELMÄ OSA 2 Stallings, Luku PALVELUPYYNNÖT. KJ-I I S2005 / Tiina Niklander, kalvot Auvo HäkkinenH

TIEDOSTOJEN HALLINTA Käytännön esimerkit

TIEDOSTOJEN HALLINTA. II:ssa?

u saantimenetelmät u kirjanpito vapaista lohkoista (taltiolla!) u hierarkkinen hakemistorakenne: kirjanpito tdstoista u tdstojen käyttö

Booting. Booting, multimedia systems. Exam issues. Key problem: How do you initiate a system using only itself?

D B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää

Käyttöjärjestelmät II

TIEDOSTOJÄRJESTELMÄ. Sisältöä. Stallings, Luku Peruskäsitteistöä, tehtäviä ja tavoitteita Järjestelmän rakenne Tiedostojen organisointi

Sisältöä TIEDOSTOJÄRJESTELMÄ. Perustermit. Peruskäsitteistöä. Perustermit. KJ:n tiedostojärjestelmä. Käyttöjärjestelmät, Luento 16

Sisältöä. TIEDOSTOJEN HALLINTA Käytännön esimerkit. Ch [Stal 05] Ch , [Tane 01] Ch 20.7 [DDC 04] Linux.

TIEDOSTOJÄRJESTELMÄ. Sisältöä. Stallings, Luku Peruskäsitteistöä, tehtäviä ja tavoitteita Järjestelmän rakenne Tiedostojen organisointi

Sisältöä TIEDOSTOJÄRJESTELMÄ. Perustermit. Peruskäsitteistöä. Perustermit. KJ:n tiedostojärjestelmä. Käyttöjärjestelmät

Käyttöjärjestelmät II

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.

LUENTO 9. u kannattaa minimoida siirrot. u huonoja, eivät huomioi hakuvarren nykyistä positiota. (Fig 11.6 [Stal05])

Yleiskuva. Käyttöjärjestelmät II. Tietokonejärjestelm. rjestelmä. KJ ja laitteistopiirteet. KJ ja laitteistopiirteitä.

RJESTELMÄ Stallings, Luku KJ-I I S2005 / Tiina Niklander, kalvot Auvo HäkkinenH

Levy I/O Linux ja W2000 levy I/O

u saantimenetelmät Kenttä (field) u bittien / tavujen muodostama looginen kokonaisuus u yksi arvo, jolla tyyppi ja pituus Tietue (record)

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Security. Ch 16 [Stal 05] Perinteinen, symmetrinen salaus. Käyttöjärjestelmät, Luento 21. Sama avain molemmilla! Syksy 2007, Tiina Niklander 21-1

KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen Stallings, Luku

Käyttöjärjestelmät TIEDOSTOJÄRJESTELMÄ. Stallings, Luku KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 8-1

Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle,

Seuraavaksi KJ-II:ssa [Stal 05] [Tane 01] [DDS 04] Linux

Security server v6 installation requirements

Jakso 8 Ohjelman suoritus järjestelmässä

Stallings, Luvut Appendix B

Sisältöä luento 19. Stallings, Luvut Appendix B. Hajautettu olio. Parametrien välitys. Sidonta asiakkaan ja olion välillä

Sisältö. Levy I/O Linux ja W2000 levy I/O. Ch [Stal 05] Ch 20.8 [DDC 04] RAID Lohkopuskurit (disk cache) Esimerkit: Linux, W2K

Jakso 8 Ohjelman suoritus järjestelmässä

Prosessi (4) Suorituksessa olevan ohjelman esitysmuoto järjestelmässä. Jakso 8 Ohjelman suoritus järjestelmässä. Prosessin elinkaari (9)

Luento 9 Järjestelmän ulkoinen muisti

Security server v6 installation requirements

Moniprosessorijärjestelmä

VUOROTTAMINEN: SMP ja Reaaliaikajärjestelmät Linux, W2000

Luento 9 Järjestelmän ulkoinen muisti

VUOROTTAMINEN YKSI CPU

Luento 9 Järjestelmän ulkoinen muisti

Käyttöjärjestelmät: prosessit

Stallings, Luvut Appendix B

HELIA 1 (16) Outi Virkki Tietokantasuunnittelu

TK Palvelinympäristö

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

Sisältöä luento 19. Stallings, Luvut Appendix B. Hajautettu olio. Parametrien välitys. Sidonta asiakkaan ja olion välillä

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

Backup Exec 3600 Appliance

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti. Ohjelman muistiosoitteet (3) Virtuaalimuisti (3) Virtuaalimuistin toteutus.

Luento 9 Järjestelmän ulkoinen muisti

Sovellusarkkitehtuurit

Moniprosessorijärjestelmä

Luento 3. Timo Savola. 7. huhtikuuta 2006

Tietoturvan Perusteet Yksittäisen tietokoneen turva

Luento 9 Järjestelmän ulkoinen muisti

Muistihierarkia Kiintolevyt I/O:n toteutus

D B. Levytiedostojen käsittely. Levytiedostojen käsittely

Luento 9 Järjestelmän ulkoinen muisti

6. Luento: Skedulointi eli Vuoronnus. Tommi Mikkonen,

7.4 Variability management

HELIA 1 (15) Outi Virkki Tiedonhallinta

Osio 3: Prosessit, siirräntä ja tiedostojärjestelmä

Luento 9 Järjestelmän ulkoinen muisti

Stallings, Luku 4.1. KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 4-1. KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-1

u vapaakäyntisyys (reentrancy) u Yhteinen koodialue u kullakin oma data-alue, pino, PCB u osoitteet suhteellisia prosessin alun suhteen

Jakso 8 Ohjelman toteutus järjestelmässä

VUOROTTAMINEN SMP JA REAALIAIKAJÄRJESTELMÄT Linux, W2000

Kernel (Fig 4.10 [Stal 05]) Operating Systems Examples and Process Management

Luento 8 Ohjelman toteutus järjestelmässä

Luento 8 Ohjelman toteutus järjestelmässä. Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit

2 Konekieli, aliohjelmat, keskeytykset

D B. Tiedostojen käsittely

Luento 9 Järjestelmän ulkoinen muisti

Jakso 8 Ohjelman toteutus järjestelmässä. Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit

Jakso 8 Ohjelman toteutus järjestelmässä

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti. Ohjelman muistiosoitteet (3) Virtuaalimuisti (3) Virtuaalimuistin toteutus (2)

Luento 3: PROSESSIT JA NIIDEN HALLINTA

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

OSA II: Hajautettu ympäristö. Sisältö, osa II. Ei yhteistä muistia. Sanomanvälitys. Etäproseduurikutsu. Rendezvous. Rio 2004 / Auvo Häkkinen

LUENTO 8. u erillisten koneiden ryväs (cluster) u hajautettu järjestelmä (distributed system) u erilliset I/O-prosessorit

Luento 9 Järjestelmän ulkoinen muisti

Käyttöjärjestelmät. Tietokoneen rakenne. Stallings, Luku 1. KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 1-1

Järjestelmän ulkoinen muisti I/O

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti. Muistihierarkia Kiintolevyt Muut pyörivät levyt I/O:n toteutus

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone

SALAKIRJOITUKSEN VAIKUTUS SUORITUSKYKYYN UBUNTU käyttöjärjestelmässä -projekti

The administrative process of a cluster. Santtu Rantanen Valvoja: Prof. Jorma Jormakka

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti

Transkriptio:

LUENTO 23 Sisältöä Kertaus Koealue: (Koe to 14.12 klo 9.00 A111) -Kirjan luvut 9-16 (ei 13) + Appendix B.4 -Luennot 11-23, harjoitukset 7-12 -Opintopiiritehtävä 3 Vuorotus I/O Tiedostojärjestelmä Hajautettu prosessi Tietoturva Vuorotus Milloin? Long-term otetaanko uusi prosessi systeemiin? suoritettavaksi? mahtuuko muistiin? riittääkö swap-tila? Medium-term milloin (heittovaihdettu) muistiin? prosessi muistiin? vapaata muistia? moniajoaste? Short-term mille prosessille annetaan suorittimelle? CPU? I/O minkä prosessin I/O pyyntö I/O-laitteelle? palvellaan ensin? Vuorotuksen jonomalli Kiinteä ja vaihteleva prioriteetti Reaaliaikaprosessit KJ-prosessit Tavalliset user-prosessit high pri 0 1 2 3 63 64 65 66 127 128 129 130 131 192 low pri missile avoidance process flight surface control kiinteä navigation pri load control swapper cleaner kiinteä pri odottanut kauan RR jonossa calculator (128-140) vaihteleva pri käyttänyt paljon CPU-aikaa (esim. koko aikaviipale) Syksy 2006 / Luento 23 23-1

Algoritmit First-Come-First-Served Round Robin Virtual Round Robin Shortest Process Next Shortest Remaining Time Highest Response Ratio Next Multilevel Feedback Fair Share Scheduling FCFS RR VRR SPN SRT HRRN feedback FSS EDF Earliest Deadline First Kaksi jaksollista (periodic) työtä: Fig 10.5 [Stal05] Saapumisajat A 20 ms, B 50 ms välein Suoritusajat A 10 ms, B 25 ms Vuorottaminen 10 ms:n välein Valm. takaraja A 20 ms, B 50 ms saapumisesta Rate Monotonic Scheduling Vain jaksollisille (periodisille) töille Sama työ tasaisella tahdilla käyttöaste yhden työn osalta on U = C/T Jakson loppu = Hard deadline Pienin jakso (T) = suurin prioriteetti Rate: määrä yksikköä kohden, taajuus (Fig 10.7 [Stal05]) Ajoitettavuuden arviointi käyttöasteen avulla RMS: Selvästi U i = C 1 /T 1 + C 2 /T 2 +.. + C n /T n <= 1 Riittävä ehto sille, että työt voidaan ajoittaa RMSalgoritmilla on C 1 /T 1 + C 2 /T 2 +.. + C n /T n <= n(2 1/n - 1) Arvon n kasvaessa, RMS:lle yläraja lähenee Tbl 10.4 [Stal05] ln2 ~ 0.693 eli rajatapaus U i < 0.693 EDF: tehokkaampi, sille riittää (riittävä ja välttävä ehto) U i = C 1 /T 1 + C 2 /T 2 +.. + C n /T n <= 1 Prioriteetin kääntyminen (Priority inversion) Prioriteetin kääntymisen välttäminen Keskeytymättömät kriittiset alueet Luovat tarpeetonta odotusta. Käyttökelpoisia vain lyhyille kriittisille alueille. Sisääntuloprotokollia kriittiselle alueelle Prioriteetin perintä (Priority Inheritance Protocol). Prioriteetin kattomenetelmä (Priority Ceiling Protocol). Syksy 2006 / Luento 23 23-2

Palvelupyynnöt I/O Laiteriippumaton taso - tdstojärjestelmä - puskurointi Laiteriippuva taso - laiteajurit - jonotus, järjestys - keskeytyskäsittely Laitteisto - siirto, DMA - keskeytys Kuva 11.4 Laiteajurit Erityyppisille laitteille omat ajurinsa Etsi ajuri laitenumeron perusteella laitekuvaajalistasta siirtoa käynnistettäessä siirron päättyessä (keskeytys!) Laitekuvaaja laitteen tunnistus, device id tilatietoa, kenelle laite varattu mitä ajuria käyttää mitä ajurin funktiota (handler) kutsuttava missäkin tilanteessa open(), read(), write(), close(), keskeytys jono pyynnöistä parametreineen mm. linkki pyynnön tehneen prosessin PCB:hen Siirrännän puskurointi Tarve Prosessi odottaa Blocked-tilassa siirron valmistumista Alue, jonne siirretään oltava silti muistissa Lohkoperustainen Levyt, nauhat kirjanpito vapaasta / varatusta tilasta lohkoittain siirto laitteen ja muistin välillä lohko kerrallaan hajakäsittely mahdollista (nauha?) Tavuperustainen pääteyhteys, kirjoitin, hiiri, tiedonsiirtolinja,... tiedon käsittely tavu kerrallaan vain peräkkäiskäsittely Levyhaku Laitteen vapautumisen odotus ohjain käsittelee yhden pyynnön kerrallaan Siirtokanavan odotus jos useita levyjä samassa väylässä Hakuvarren siirto-aika (seek time) hakuvarsi oikealle uralle Pyörähdysviive (rotational delay/latency) odota, että oikea sektori pyörähtää kohdalle Siirtoaika (transfer time) yhden lohkon kirjoittamiseen/lukemiseen kuluva aika? (Fig 11.6 [Stal05]) Näihin voi vaikuttaa saantiaika (access time) Tähän ei voi vaikuttaa Algoritmeja Hakuvarren siirtoaika pisin kannattaa minimoida siirrot Random? FIFO? PRI? LIFO? huonoja, eivät huomioi hakuvarren nykyistä positiota Ota huomioon hakuvarren sijainti SSTF SCAN C-SCAN N-step-SCAN ja FSCAN Syksy 2006 / Luento 23 23-3

Levyn vuorotusalgoritmeja RAID - Redundant Array of Independent Disks RAID 0 (ei redundanssia, ei toisintoja) RAID 1 (mirror, kahdennettu) RAID 2 (Hamming) RAID 3 (pariteettibitti) RAID 4 (pariteettilohko) RAID 5 (hajautettu pariteettilohko) RAID 6 (2 haj. pariteettilohkoa) Lohkopuskurit, levypuskurit Lohkopuskurit Ch 11.7 [Stal 05] KJ:n data-alueella oleva puskuri muistiinluettuja levylohkoja varten Paikallisuusperiaate Ennaltanouto / viivästetty kirjoitus Poistoalgoritmit LRU: Least Recently Used LFU: Least Frequently Used Most Recently Used MRU FIFO (Frequency Based Replacement) Most Recently Used MRU Three Sections Most Recently Used MRU Three Sections parannus: jaa jono kolmeen osaan poistot aina viimeisestä osasta etuosasta pudonneelle jää aikaa vanheta tulos: parempi algoritmi kuin LRU tai LFU Tiedostojärjestelmä Fig 11.9 (b) [Stal 05] Syksy 2006 / Luento 23 23-4

Hakemisto: Hierarkinen puurakenne Juurihsto, kotihakemistot, alihakemistot Myös prosessit voivat luoda alihakemistoja Juurihstolla kiinteä paikka levyllä Koko tdsto yhdelle alueelle Hstoalkiossa vain ens. lohkon numero sekä tdston koko (pituus) Koon muuttaminen vaikeaa arvioitava varausta tehtäessä saatetaan joutua kopioimaan uudelle alueelle Lohkojen ketjutus Varaus lohko kerrallaan vasta tarvittaessa Hstoalkiossa viite tdston ensimm. lohkonumeroon sekä tdston koko Fig 12.9 [Stal05] Lohkohakemisto Erillinen hakemisto tdstolle varatuista lohkoista Usein erillään omassa lohkossa hstoalkiossa vain hstolohkon numero Vapaan tilan hallinta Tan01 6-21 UNIX Tan01 6-38 Lohkolista Bittikartta Syksy 2006 / Luento 23 23-5

UNIX Tan01 6-39 LINUX Tiedostojärjestelmät Tiedostojen yhteiskäyttö LINUX Virtual File System [Tane 01] Linux tiedostojärjestelmät ext2fs (second extended file system) Linuxia varten kehitetty tiedostojärjestelmä esikuvana BSD Fast File System (FFS) lohkoryhmät tehokkuus, luotettavuus /proc erikoistiedostot, luodaan 'lennosta' esim. ytimen parametrien kysely/asettaminen KJ-palvelut piilotettu tiedostojärjestelmän käytöksi käytön valvonta tiedostojärjestelmän suojauksen avulla ext3fs journaling file system, log-structured file system (LFS) Red Hat Linux issa [Tane01] Syksy 2006 / Luento 23 23-6

Linux ext2fs levy Lohkoryhmät (block groups) yhtenäisesti levyltä allokoitu alue datalohkot ja i-nodet fyysisesti lähellä toisiaan säästä hakuvarren siirroissa Kaikki lohkot samankokoisia (1 KB) Kaikki i-nodet 128B (tavallinen UNIX 64B) ext2fs superlohko (superblock) 1 lohko Kuvaa koko ext2fs-partition rakenteen Kopio jokaisen lohkoryhmän alussa luotettavuus, virheestä toipuminen Ydin operoi vain lohkoryhmän 0 superblokilla ja ryhmäkuvaajilla muille käyttöä, jos superblock 0 'rikki' /sbin/e2fsck kopioi aika-ajoin muualle ext2fs superlohko (superblock) 1 lohko Kuvaa koko ext2fs-partition rakenteen Kopio jokaisen lohkoryhmän alussa luotettavuus, virheestä toipuminen blocksize 0 1 0 Number of i-nodes 8 Number of reserved blocks 16 Number of free i-nodes 24 Block size 32 Blocks per group 40 i-nodes per group 48 Time of last write 56 Ext2signat. 64 Time of last test 72 Operating system 80 RESUID 2 Status 3 RESGID 4 Status Error behav. Pad word Pad words 5 Number of blocks Number of free blocks First data block Fragment size 6 Fragments per group Time of mounting Max test interval Max. mnt cnt Pad word File system revision 7 ext2fs i-node Access Control List 0 Mode 8 Access time 16 Time of modification 24 Gid 32 File attributes 40 0 88 One-stage indirect block 96 Three-stage indirect block 104 File ACL 112 Fragment address 1 2 3 4 5 6 Uid Link counter 120 Reserved (OS-dependent) File size No. of blocks 12 direct blocks Time of creation Time of deletion Reserved (OS-dependent) Two-stage indirect block File version Directory ACL Reserved (OS-dependent) 7 Kirjaava tiedostojärjestelmä Kirjataan kaikki muutokset (journalointi?) Pitää tiedostojärjestelmän eheänä Kirjataan Vain metatieto muutoksista journal Sekä metatieto että itse data loki Tarve: Tiedostojärjestelmän tarkistus (check) kestää liian kauan, jos epänormaali kaatuminen Valtaosa levyoperaatioista on kirjoituksia, lukuoperaatiot tehdään puskureista Useimmat kirjoitukset pieniä päivityksiä levyn hakuvarsi liikkuu paljon, vähän dataa siirtyy Perusidea Ongelma tavallisen tiedostojärjestelmän uuden tiedoston X luomisessa: kirjoita hakemiston i-node, hakemisto, tiedoston i-node ja lopulta tiedosto virta poikki (tms vika) kesken kaiken? Oooops. Ratkaisu: tapahtumaloki, joka takaa tiedostojärjestelmän eheyden - vrt tietokantojen loki Esim: Microsoft NTFS, Red Hat Linux ext3fs Syksy 2006 / Luento 23 23-7

NTFS: Piirteitä Kaatumisista ja levyvirheistä toipuminen LFS lokitiedoston avulla Käyttöoikeudet pääsylistat (security descriptor) Sallii suuret levyt ja tiedostot FAT32 ssa vain 2 32 lohkoa, suuri allokointitaulu Tiedosto-oliot ovat (arvo, attribuutti) -pareja Mahdollisuus indeksointiin tiedoston käsittelyn nopeuttamiseksi Lohko, cluster yksi tai useampi peräkkäinen sektori (esim. 512 B - 4 KB) 32 GB levyllä 128 sektoria/lohko ( lohko 64-512 KB) varauksen ja kirjanpidon perusyksikkö Partitio, volume fyysinen levyn looginen osa, jolla oma tiedostojärjestelmä NTFS-partitio (Fig. 12.17 [Stal 05]) Boottilohko partition ja tiedostojärj. rakenne, boottitietue ja -koodi MFT:n sijainti MFT tietoa tiedostoista, hakemistoista (folders) ja vapaasta tilasta System Files (~ 1MB) kopio MFT:n alkuosasta virheistätoipumisloki, bittikartta vapaat/varatut lohkot, attribuuttien kuvaustaulu File Area - tiedostojen lohkoille NTFS MFT (Master File Table) Hakemiston MFT-tietue (Fig. 11-38 [Tane01]) 1 KB:n kokoisia MFT-tietueita jokainen kuvaa yhden taltiolla olevan tiedoston myös hakemisto on tiedosto vaihtelevanmittainen osa käytössä (attribuutti, arvo) pareja (ei paikkasidonnainen!) data attribuutti, 'arvo' = lohkojen sijainti 16 ensimmäistä tietuetta varattu ns. metadatalle 16 $-alkuista tiedostoa Jos pieni tiedosto, tietue sisältää myös datan Jos iso tiedosto, data erillisellä tallealueella MFT-tietuessa lohkonumeroita kuvaus voi jatkua useampaan MFT-tietueseen pieni hakemisto Pienissä hakemistoissa MFT-tietueet peräkkäisjärjestyksessä Isoissa hakemistoissa MFT-tietueessa B-puun (B-tree) indeksirakenne nimen etsintä ei ole peräkkäishakua Asiakas-palvelija luokitteluja Hajautettu prosessi 1-29 Alternative client-server organizations. Syksy 2006 / Luento 23 23-8

Prosessien välinen viestintä: sanomat Sanomien välitys on prosessien tapa kommunikoida toisten prosessien kanssa Sekä samassa että eri koneissa olevien prosessien välillä Sanomanvälityksen ominaisuuksia Luotettavuus Luotettava takaa viestien kulun Epäluotettava ei takaa, mutta yksikertainen toteuttaa Synkronointi Asynkroninen lähettäjä voi jatkaa heti Synkroninen lähettäjä jää odottamaan Sanomien pysyvyys Pysyvä viestintä (Persistent communication) viesti odottaa järjestelmässä vastaanottajaa Välitön viestintä (Transient communication) lähettäjän ja vastaanottajan olta samanaikaan paikalla Sidonta Miten? Koska? Prosessien välinen viestintä: aliohjelmakutsut RPC Aliohjelmakutsuilla (API) prosessit tyypillisesti haluavat jotain palvelua tehtäväksi Samassa koneessa: funktiokutsuna Eri koneissa: Remote procedure calls RPC: Asiakkaan ja palvelijan toteutuksen vaiheet DCE:n malli client invokes a method Hajautettuja olioita (Distributed objects) client machine client proxy client OS same interface same method server machine server server OS object state method interface skeleton network marshalled invocation Syksy 2006 / Luento 23 23-9

Väliohjelmistotasot sovellusalueen palveluja: lennon navigointialgoritmeja, potilastietokantamalleja yleispalveluja: ilmoitukset, turvallisuus, transaktiot, kuormantasaus, tietovirrat, vikasietoisuus objektien ja komponenttien välinen kommunikointi (RMI, CORBA) yhtenäinen näkemys käyttöjärjestelmä- ja kommunikointipalveluihin DII Interface Repository Client ORB CORE IDL STUBS CORBA yleiskuva OBJ REF IDL Compiler operation() out args + return ORB INTERFACE in args Implementation Repository IDL SKEL Object (Servant) DSI Object Adapter GIOP/IIOP/ESIOPS CACM 45, 6 pp 45 CORBA shields applications from heterogeneous platform dependencies e.g., languages, operating systems, networking protocols, hardware Clustering Method Passive Standby Active Secondary: - Separate Servers - Servers Connected to Disks - Servers Share Disks Klusterit: luokittelua Description A secondary server takes over in case of primary server failure. The secondary server is also used for processing tasks. Separate servers have their own disks. Data is continuously copied from primary to secondary server. Servers are cabled to the same disks, but each server owns its disks. If one server fails, its disks are taken over by the other server. Multiple servers simultaneously share access to disks. Benefits Easy to implement. Reduced cost because secondary servers can be used for processing. High availability. Reduced network and server overhead due to elimination of copying operations. Low network and server overhead. Reduced risk of downtime caused by disk failure. Limitations High cost because the secondary server is unavailable for other processing tasks. Increased complexity. High network and server overhead due to copying operations. Usually requires disk mirroring or RAID technology to compensate for risk of disk failure. Requires lock manager software. Usually used with disk mirroring or RAID technology. Cluster Computer Architecture Prosessin siirto Siirtopolitiikkoja Suoritus keskeytetään siirron ajaksi Siirretään uuteen paikkaan riittävästi tietoa nykyisestä tilasta. Suoritus jatkuu uudessa paikassa Prosessi 3 (solmu S) Prosessiksi 4 (solmu D) Eager (all): Siirrä kaikki (muistialueet+muut) Precopy: Prosessia vielä suoritetaan, kun muistialueita jo kopioidaan Eager (dirty): Siirrä vain se osa muistiavaruutta, joka on keskusmuistissa ja jota on muutettu Copy-on-reference: Siirrä sivua vain viittattaessa Flushing: Kopioi prosessin muuttuneet sivut levylle Syksy 2006 / Luento 23 23-10

Perinteinen, symmetrinen salaus Sama avain molemmilla! Tietoturva salainen avain salareitti salainen avain salakirjoitetun tekstin siirto selväkieli salakirjoitus salakirjoituksen purku selväkieli (Fig 16.14 [Stal 05]) Julkisen avaimen salakirjoitusmenetelmä Salaus kaksi eri avainta Tunnistus julkisen avaimen menetelmällä kaksi eri avainta julkinen avain julkisen avaimen julkistus salainen avain salainen avain julkisen avaimen julkistus julkinen avain salakirjoitetun tekstin siirto salakirjoitetun tekstin siirto selväkieli salakirjoitus salakirjoituksen purku selväkieli selväkieli salakirjoitus selväkieli salakirjoituksen purku (Fig 16.15 (a) [Stal 05]) (Fig 16.15 (b) [Stal 05]) Passiiviset hyökkäykset (kuuntelu, nuuskinta) Luottamuksellisuus rikkoontuu, eheys ei rikkoudu Tietoliikenneyhteydet, -verkko salakuuntelu, tarkkailu, vuotaminen julkisuuteen (release of contents) puhelut, sähköposti, tiedostojensiirto salaus, salakirjoitus silti analysoitavissa (traffic analysis) Fig 16.3 [Stal 05] Aktiiviset hyökkäykset Tiedon eheys rikkoontuu Tietoliikenneyhteydet, -verkko lähettäjä teeskentelee olevansa joku muu (masquerade) virheellinen toisto (replay) viivyttäminen, muuttaminen, uudelleenjärjestely (modification of msg contents) käytön esto (DoS = denial of service) ylikuormitus, yhteyksien sabotointi yritetään havaita ja toipua nopeasti Syksy 2006 / Luento 23 23-11

Luokittelua Miten sisään yritetään? (takaovi) (aikapommi) (valloittaja) (Fig 16.8 [Stal 05]) Arvaa / kokeile salasanoja standarditunnuksia + oletussalasana / ei salasanaa järjestelmällisesti lyhyitä salasanoja käytä apuna järjestelmän sanastoa tai jotain muuta valmista "top100"-listaa käytä käyttäjään liittyviä tietoja puh., nimet, seinällä olevat sanat,... Käytä Troijan hevosta hyötyohjelma, joka myös kokoaa käyttäjätietoa Salakuuntele verkkoa tunnus/salasana voi olla selväkielisenä Virustorjunta Aiemmin kokeessa kysyttyä Vuorotus Yhden prosessorin: Multilevel feedback, Fair share, Moniprosessori: kimppavuorotus Reaaliaikajärj.: Rate monotonic I/O ja tiedostonhallinta Puskurointi, lohkopuskurien allokointi Levyhakuja: SCAN, FIFO, SSTF Ext2fs, NTFS, tiedostojen suojaus Tietoturva Hajautuksesta: Klusterit RPC, CORBA -- END -- Käyttöjärjestelmät Syksy 2006 / Luento 23 23-12