Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest).

Samankaltaiset tiedostot
TI10 Joni Hämäläinen & Jan Lampikari

.NET ajoympäristö. Juha Järvensivu 2007

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

13/20: Kierrätys kannattaa koodaamisessakin

Seuraavaksi tarkastellaan muutamia hyviä pilvijärjestelmien arkkitehtuuriratkaisuja (kohdat 1-4).

AIHEET 1. VIRTUALISOINTI 2. WINE 3. VIRTUALISOINTIOHJELMISTOJA. ! Yleistä! Historiaa! Tyypit ja tekniikat! Hyötyjä ja ongelmia

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

WINE API ja Virtualisointiohjelmistot

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

Virtualisointi Kankaanpään kaupungissa. Tietohallintopäällikkö Jukka Ehto

JHS 179 Kokonaisarkkitehtuurin suunnittelu ja kehittäminen Liite 9. Virtualisointi ja pilvipalvelut teknologia-arkkitehtuurin suunnittelussa

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Tinkimätöntä tietoturvaa kaikkiin virtuaaliympäristöihin

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

KYMENLAAKSON AMMATTIKORKEAKOULU. Tietoverkkotekniikka. Wine API sekä virtualisointiohjelmistot. Linux. Lukukausi: Kevät Työ valmistui: 8.4.

Pilvi mitä, miksi ja miten

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus

Linux. 00 Keskeiset piirteet. Unix ja Linux Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen (muokannut M.Mäki-Uuro) Kysymyksiä

OHJELMISTOKEHITYS -suuntautumisvaihtoehto

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

Käyttöjärjestelmät. 1pJÄKÄ1 KÄYTTÖJÄRJESTELMÄN HALLINTA, 12 OSP

Qt kaikkialla?

VMwaren keskitetty työasemaratkaisu

UCOT-Sovellusprojekti. Asennusohje

Virtualisointi VMwarella: Orkestroitua elinkaarta ja kustannustehokkuutta

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A Kandidaatintyö ja seminaari

TIE Ohjelmistojen suunnittelu

Osaa käyttää työvälineohjelmia, tekstinkäsittelyä taulukkolaskentaa ja esitysgrafiikkaa monipuolisesti asiakasviestintään.

Järjestelmäarkkitehtuuri (TK081702)

Integrointi. Ohjelmistotekniikka kevät 2003

Järjestelmäarkkitehtuuri (TK081702) Pilvipalvelut. Pilvipalvelut - lähtökohtia

Mobiililaitteiden ja sovellusten tietoturvallisuus mihin tulee kiinnittää huomiota?

Interfacing Product Data Management System

TIES325 Tietokonejärjestelmä. Jani Kurhinen Jyväskylän yliopisto Tietotekniikan laitos

VALO-ohjelmat ja LTSP kouluissa. Elias Aarnio Innopark, AVO-hanke

Sisällönkuvaukset Projektinhallinta 3 op. Sisältö. 2. Palvelinalustat 3 op

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

TIETOJÄRJESTELMIEN AMMATILLISET ERIKOISTUMISOPINNOT (30 op)

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

4. Lausekielinen ohjelmointi 4.1

Tuomo Ruottinen VIRTUAALIKONEIDEN SUORITUSKYKYTESTAUS

Suoritustavat: Laboratoriotöitä 2.-3.periodi. Luennot 2h, Laboratorityöt 4h, itsenäinen työskentely 124 h. Yhteensä 130 h.

DESCA-sopimuksen ohjelmistomoduuli ja avoimen lähdekoodin ohjelmistot

Päätelaitteen turvallinen käyttö sairaalaympäristössä Markku Korkiakoski

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat

ANVIA PILVI. kotimaisia pilvipalveluita yrityksille 24/7

Tiedostojen jakaminen turvallisesti

CUDA. Moniydinohjelmointi Mikko Honkonen

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari

Ohjelmoinnin perusteet Y Python

Verkkolisensoinnin Lueminut

L models. Tekninen määrittely. Ryhmä Rajoitteiset

työssäoppimispaikan työtehtävissä toimiminen ammattiosaamisen näytön suorittaminen näyttösuunnitelman mukaan. Ammattitaidon osoittamistavat

ohjelman arkkitehtuurista.

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään

TIE PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli

Solidity älysopimus ohjelmointi. Sopimus suuntautunut ohjelmointi

Tässä toinen lainaus, jossa kuvataan pilven idea:

ZENworks Application Virtualization 11

TEHTÄVÄ 5: Microsoft Virtual PC asennus ja hallinta

JOTKUT IHMISET ONNISTUVAT ELÄMÄSSÄÄN, KOSKA KOHTALO ON NIIN MÄÄRÄNNYT; MUTTA USEIMMAT IHMISET ONNISTUVAT, KOSKA HE OVAT ITSE NIIN PÄÄTTÄNEET.

Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi.

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

4. Lausekielinen ohjelmointi 4.1

Enfo Oyj. Virtualisointi. Case: Eduskunta. Juha-Pekka Leskinen, EDUSKUNTA - Tietohallintotoimisto Markus Sjöman, Enfo Oyj - Zourcing

Ongelma(t): Miten jollakin korkeamman tason ohjelmointikielellä esitetty algoritmi saadaan suoritettua mikro-ohjelmoitavalla tietokoneella ja siinä

Asennuslevyn tekeminen. UBUNTU asentaminen. Asentaminen. Asennusprosessi. Järjestelmävaatimukset. Ennen asentamista tulee hankkia asennuslevy

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Ohjelmoinnin perusteet Y Python

WEIKKA. Asennus opas. Hannu-Matti Lemettinen HML Productions

11/20: Konepelti auki

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen

T harjoitustyö, kevät 2012

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

MatTaFi projektin HAKA-pilotti

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Vasteaika. Vasteaikaa koskeva ohje ei ole juuri muuttunut Robert B. Millerin vuonna 1968 pitämästä esityksestä:

Tehtävä 2: Tietoliikenneprotokolla

Virtualisoinnilla käytettävyyttä ja joustavuutta liiketoimintakriittisille sovelluksille

5. HelloWorld-ohjelma 5.1

ARVIOINTISUUNNITELMA Sivu 1/6

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

Tietokoneet ja verkot. Kilpailupäivä 1, keskiviikko Kilpailijan numero. Server 2003 Administrator. XP pro Järjestelmänvalvojan

VMware virtualisointiohjelmiston asennus ja käyttöönotto

Ohjelmointi 1. Kumppanit

Käyttöjärjestelmät: prosessit

ANVIA VARMUUSKOPIOINTI 2.3

Oppimistavoitteet kurssilla Tietokoneen toiminta

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta

S11-09 Control System for an. Autonomous Household Robot Platform

Uusi vuosikymmen: vanhat haasteet, uudet välineet. Pekka Järvinen teknologiajohtaja Enfo

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Transkriptio:

1

Virtualisoinnin avulla voidaan purkaa suora linkki suoritettavan sovelluksen (tai käyttöjärjestelmän tms.) ja sitä suorittavan laitteiston välillä. Näin saavutetaan joustavuutta laitteiston käytössä. Voidaan esimerkiksi suorittaa useampaa käyttöjärjestelmää samaan aikaan yhdessä tietokoneessa. Virtuaalisointitekniikat ovat erittäin tärkeitä pilvipalveluiden (erityisesti IaaS) toteutuksessa. IaaS-tarjoajat eivät anna käyttäjilleen pääsyä suoraan laitteistoonsa, vaan jonkinlaiseen virtuaaliympäristöön. Tästä on useita hyötyjä, joihin tutustutaan tarkemmin myöhemmillä kalvoilla. 2

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest). Isäntä pitää sisällään fyysisen laitteiston sekä yleensä myös sen päällä ajettavan käyttöjärjestelmän. Virtualisointikerros tarjoaa virtuaaliympäristön vieraan (guest) käyttöön. Se tarjoaa rajapinnan, johon tulevat kutsut se välittää isännälle muunnettuaan ne isännän ymmärtämään muotoon. Virtualisointikerros voi tarjota myös muita ominaisuuksia liittyen mm. turvallisuuteen. Vieras (guest) on sovellus, käyttöjärjestelmä tms. jota ajetaan virtuaalikerroksen päällä. Sen sijaan, että se kommunikoisi suoraan isännän kanssa (kuten normaalitilanteessa ilman virtualisointia), kommunikoi se virtualisointikerroksen kanssa. Vieraan ei tosin tarvitse tietää olevansa ajossa virtuaaliympäristössä. 3

4

Virtualisoinnilla on monia hyviä puolia. Ensinnäkin sillä saadaan aikaan turvallinen ajoympäristö, jossa virtualisointikerros voi hallita sitä, mitä vieras saa tehdä. Koska kaikki käskyt kulkevat virtualisointikerroksen läpi, voi se esim. rajoittaa tiedostojärjestelmän tai verkon käyttöä. Toisekseen virtualisoinnilla saadaan paremmin hyödynnettyä resursseja. Yhdessä fyysisessä tietokoneessa voi olla ajossa useampia käyttöjärjestelmiä samaan aikaan. Tai päinvastoin: useampi fyysinen kone voi toteuttaa virtuaaliympäristön, joka näkyy yhtenä suurena tietokoneena. Näin, jos IaaS-tarjoaja haluaa tarjota ympäristöä, jossa on 2 suoritinydintä, 4 gigatavua muistia, 1 Mbit/s verkkoyhteys ja 100 GB levytilaa, ei tarjoajan tarvitse hankkia tietokonetta täsmälleen näillä spekseillä vaan voi luoda tätä vastaavan virtuaaliympäristön. Virtualisoinnissa on myös se hyvä puoli, että vierassovelluksia voidaan siirrellä fyysiseltä laitteelta toiselle ilman että vieras välttämättä huomaa mitään. Jos vieras on vaikkapa web-palvelin, jonne ei ole tullut yhtään pyyntöä pitkään aikaan, voidaan se laittaa nukkumaan jolloin resursseja voidaan käyttää muuhun tarkoitukseen. Tarvittaessa vieras voidaan käynnistää myöhemmin vaikkapa eri 5

isäntäkoneella täsmälleen samasta tilasta kuin missä se oli aiemmin. 5

6

7

8

9

10

Instruction Set Architecture (ISA) on laitteiston ja ohjelmiston välinen rajapinta. 11

Instruction Set Architecture (ISA) on laitteiston ja ohjelmiston välinen rajapinta. ABI (Application Binary Interface) ja API (Application Programming Interface) ovat käyttöjärjestelmän sovelluksille tarjoamia rajapintoja. 12

13

Virtualisoinnissa ei tarvitse välttämättä emuloida laitteistoa, myös korkeamman tason virtualisointitekniikoita on olemassa. Yksi tällainen on ohjelmointikielitason virtualisointi, jota jotkut ohjelmointikielet (mm. Java ja Python) hyödyntävät. Sen sijaan, että lähdekoodi käännettäisiin suoraan natiiveiksi konekäskyiksi, käännetäänkin se tavukoodiksi (bytecode), jonka suorittamiseen tarvitaan korkean tason virtuaalikone (HLVM). Tavukoodi sisältää käskyjä, jotka HLVM:n on kohtuullisen suoraviivaista muuntaa ajonaikaisesti (tai ns. JIT-käännöksellä) natiiveiksi konekäskyiksi. PaaS-tarjoajat käyttävät usein tämän tason virtualisointia. PaaS:n käyttäjä voi kirjoittaa ohjelman esimerkiksi Pythonilla ja lähettää tavukoodin PaaS-tarjoajan ajettavaksi. PaaS-tarjoajalla on oma virtuaalikoneensa tavukoodin ajamiseen. 14

15

16