Post on 06-Jan-2016
description
VMM
POSTOLACHE DANIEL-RELUMASTER IISC
INTRODUCERE MICROKERNELUL REPREZENTAREA UNEI MASINI VIRTUALE RESURSELE MASINII VIRTUALE PROTECTIA RESURSELOR BIBLIOGRAFIE
- sunt capabile de a asigura refolosirea completa a nivelelor software, permitand rezolvarea unor varietati de probleme :Exploatarea de noi caracteristici hardwareReutilizarea driverelor de dispozitivSecuritatea crescuta- asigura un grad mare de flexibilitate- baza unui astfel de sistem este microkernelul- microkernelul reprezinta cantitatea minima de software ce poate asigura mecanismele necesare pentru implementarea unui sistem de operare- functioneaza pe principiul refolosirii si al izolarii componentelor
Manageriaza resursele sistemului si expune interfetele uniform astfel incat aplicatiile la nivel de utilizator ce ruleaza pe masina virtuala sa poata interactiona cu kernelul sistemului
VMM( VIRTUAL MACHINE MONITOR) reprezinta o componenta ce ruleaza pe hardware-ul fizic - > ofera mecanisme puternice de izolare a resurselor
- > insarcinat cu partajarea componentei hardware
- > permite multiplexarea mai multor masini virtuale peste un singur set de resurse
fizice VMM are abilitatea de a suporta executia aplicatiilor “out of the box” Similaritati ahitecturale intre microkernel si VMM Ultimele cercetari isi propun dezvoltarea functionalitatii VMM peste microkernel IPC( Inter-Process Communication) –mecanismul ce permite unor procese
separate sa comunice intre ele doua tipuri de mecanisme IPC sincron
asincron
Microkernelul L4 reprezinta a doua generatie de kerneluri, ce isi propunea sa identifice si sa
imbunatateasca problemele ce tineau de designul si implementarea IPC si de asemenea sa imbunatateasca indicii de performanta ale acestui mecanism
asigura o securitate si o izolare a componentelor mult imbunatatita, si care nu depinde de platforma pe care ruleaza
Asigura cele 4 mecanisme de baza : spatiile de adrese, firele de executie, planificarea si comunicarea inter-procese sincrona
Evenimentele generate de catre hardware precum exceptiile si intreruperile sunt convertite in mesaje IPC generate de kernel
Cand are loc o intrerupere hardware, kernelul sintetizeaza mesajul intr-un fir de executie care este inregistrat ca fiind manipulatorul acelei intreruperi
Reprezentarea unei masini virtuale presupune indeplinirea urmatoarelor trei cerinte:
“oaspetele” masinii virtuale necesita o duplicare eficienta si de incredere a sistemului masinii fizice
VMM necesita un control complet al masinii virtuale, in special a resurselor fizice alocate si a executiei acestora
Microkernelul are nevoie de o reprezentare a resurselor masinii virtuale pentru a impune anumite constrangeri asupra sistemului precum izolarea si integritatea
Memoria fizica- pentru a virtualiza memoria fizica se foloseste memoria virtuala, aceasta
permitand controlul complet asupra accesului memoriei fizice a masinii virtuale
- intr-un microkernel L4 spatiul memoriei virtuale este reprezentat de un spatiu de adrese - > acesta va fi populat folosind mesaje L4 de mapare, mapand si asigurand parti ale propriului spatiu de adrese catre spatiul masinii virtuale
Memoria virtuala- exista situatii in care sistemul de operare din cadrul masinii virtuale
doreste crearea proprie a memoriei virtuale- pentru a mentine “iluzia” de acces catre memoria virtuala, sistemul de
masina virtuala trebuie sa transforme adresa virtuala a sistemului oaspete intr-o adresa fizica a sistemului gazda
- shadow page-table – tabel ce permite translatarea directa a adreselor virtuale ale guest-ului in adrese fizice ale sistemului gazda
- generarea acestui tabel implica toate cele trei componente majore arhitecturale -> microkernelul aplica izolarea si independenta diferitelor spatii de adrese ce contin aplicatiile masinii virtuale
-> VMM necesita control deplin asupra resurselor fizice ocupate de catre masina virtuala
-> sistemul de operare oaspete trebuie sa asigura crearea spatiilor virtuale arbitrare de adrese in propria memorie fizica
Sistemele de operare moderne sunt dependente puternic de mecanismele software ce ajuta la protectia resurselor fata de utilizatori
Mecanismele hardware sunt ieftine si eficiente in protejarea interfetelor, insa accesul catre setul bogat de resurse precum fisiere, socketuri sau fire de executie este protejat aproape intotdeauna, prin verificari software
Mecanismele hardware sunt deseori rigide, implicite, imprecise si nu au acelasi grad de optimizare ca si cele software
Mecanisme conditionale – permit un control detaliat al accesului prin intermediul unor declaratii de tip “if” incorporatein codul sursa
Definirea domeniul de date – structuri de date per proces ce impiedica implicit setul de resurse pe care un proces le poate accesa
Spatiile de adrese – suport detaliat pentru a controla detaliat folosirea memoriei fizice
Protectia memoriei – suport detaliat pentru un control explicit al citirii, scrierii, si executiei accesului catre adrese existente
Sebastian Biemuller, Hardware-Supported Virtualization for the L4 Microkernel, pag. 17-25, Septembrie 2006
Steven Hand, Andrew Warfield, Keir Fraser, Evangelos Kotsovinos, Dan Magenheimer, Are Virtual Machines Monitors Microkernels Done Right?, 2005
Brian Bershad, Stefan Savage, Przemyslaw Pardyak, David Becker, Marc Fiuczynsky, Protection is a Software Issue, Dept. of Computer Science and Engineering, University of Washington, 2002
Xiaoqi Lu, Scott Smith, A Secure Microkernel Virtual Machine, Department of Computer Science, The Johns Hopkins University, 2005
http://en.wikipedia.org/wiki/L4_microkernel_family http://en.wikipedia.org/wiki/Microkernel