160 likes | 486 Vues
MASINI VIRTUALE. VMM. POSTOLACHE DANIEL-RELU MASTER IISC. CUPRINS. INTRODUCERE MICROKERNELUL REPREZENTAREA UNEI MASINI VIRTUALE RESURSELE MASINII VIRTUALE PROTECTIA RESURSELOR BIBLIOGRAFIE. INTRODUCERE.
E N D
MASINI VIRTUALE VMM POSTOLACHE DANIEL-RELU MASTER IISC
CUPRINS • INTRODUCERE • MICROKERNELUL • REPREZENTAREA UNEI MASINI VIRTUALE • RESURSELE MASINII VIRTUALE • PROTECTIA RESURSELOR • BIBLIOGRAFIE
INTRODUCERE - suntcapabile de a asigurarefolosireacompleta a nivelelor software, permitandrezolvareaunorvarietati de probleme : • Exploatarea de noicaracteristici hardware • Reutilizareadriverelor de dispozitiv • Securitateacrescuta - asigura un grad mare de flexibilitate - bazaunuiastfel de sistemestemicrokernelul - microkernelulreprezintacantitatea minima de software cepoateasiguramecanismelenecesarepentruimplementareaunuisistem de operare - functioneazapeprincipiulrefolosiriisi al izolariicomponentelor
Microkernelul • 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
Reprezentareauneimasinivirtuale 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
Resurselemasiniivirtuale • Memoriafizica • pentru a virtualizamemoriafizica se folosestememoriavirtuala, aceastapermitandcontrolulcompletasupraaccesuluimemorieifizice a masiniivirtuale • intr-un microkernel L4 spatiulmemorieivirtualeestereprezentat de un spatiu de adrese - > acestavafipopulatfolosindmesaje L4 de mapare, mapandsiasigurandparti ale propriuluispatiu de adresecatrespatiulmasiniivirtuale
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
Protectiaresurselor • 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
Bibliografie • 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