8 research outputs found

    Using Unix-Like Operating Systems Virtualization Technologies in Training the Bachelors of Computer Science

    Get PDF
    Попри широке використання технологій віртуалізації в галузі освіти, лишається недослідженою проблема індивідуального добору засобів віртуалізації для навчання окремих дисциплін, у тому числі для навчання операційних систем бакалаврів інформатики. Під час дослідження процесу навчання операційних систем майбутніх бакалаврів інформатики було виявлено такі проблеми, пов'язані з використанням технологій віртуалізації, як апаратні і програмні збої; низька швидкість роботи віртуалізованої операційної системи; відсутність адаптованих інструкцій; прив'язаність лабораторних занять до певних аудиторій; неоднаковість умов, у яких здійснюється самостійна робота студентів з віртуалізованою операційною системою. Порівняння балів майбутніх бакалаврів інформатики, одержаних під час проходження курсу з операційних систем, що передбачав вивчення операційних систем Linux і Windows, а також основ теорії операційних систем, показало, що рівень навчальних досягнень, пов'язаних з Linux, був загалом нижчим за рівень навчальних досягнень з дисципліни. Опитування вітчизняних викладачів курсу з операційних систем продемонструвало наявність низки відмінностей щодо особливостей проведення курсу, зокрема неоднаковість досвіду роботи викладачів з технологіями віртуалізації, різноманітність технологій віртуалізації, застосовуваних для навчання студентів, оцінювання важливості факторів добору засобів віртуалізації. У статті запропоновано методику застосування технологій віртуалізації unix-подібних операційних систем у підготовці бакалаврів інформатики, яка спирається на варіативний підхід до використання таких технологій. Підхід передбачає поєднання кількох засобів віртуалізації у межах одного курсу з операційних систем задля відповідності індивідуальним особливостям проведення курсу, індивідуальним потребам студентів і забезпечення стійкості у разі програмних і апаратних збоїв. Описано дидактичну модель, що лежить в основі пропонованої методики, подано результати експериментальної перевірки ефективності методики.Despite the widespread use of virtualization technologies in education the problem of individual selection of virtualization tools for teaching certain courses, including teaching operating systems to Bachelors of Computer Science, remains scarcely studied. Research of operating systems teaching process to Bachelors of Computer Science found a range of issues in using virtualization technologies. These are as listed: hardware and software failures; low performance of virtualized operating systems; lack of adapted instructions; dependence on specific computer laboratories; unequal conditions of independent work with virtualized operating systems. Comparison of Bachelors of Computer Science scores in Operating Systems course which included studying Linux and Windows operating systems and also Fundamentals of Operating Systems Theory, resulted in general lower level of learning outcomes in Linux compared to the ones of the entire academic subject. A survey of Ukrainian teachers of Operating Systems course shows a number of differences in teaching process. It includes differences in teachers’ experience of using virtualization technologies, variety of virtualization technologies applied during the course, factors estimation for selecting virtualization tools. The article proposes the methodology of using unix-like operating systems virtualization technologies in professional training of Bachelors of Computer Science based on the variable approach to using mentioned technologies. The approach involves combining several virtualization tools in the frames of one course of Operating Systems to meet specific features of teaching the course as well as individual students’ needs and ensures hardware and software fault tolerance. Didactic model underlying the proposed methodology is described in the article. Experimental results on methodology effectiveness are provided

    RISC-V-suoritinarkkitehtuurin virtualisointi

    Get PDF
    Virtualisointi on yksi modernien tietojärjestelmien kulmakivistä. Sen merkittävimpiä käyttökohteita ovat palvelinympäristöt sekä sulautetut järjestelmät. Esimerkiksi pilvipalveluiden toiminta perustuu fyysisten resurssien jakamiseen useiden käyttäjien kesken, mikä tehdään käytännössä virtualisointia hyödyntäen. Sulautetuissa järjestelmissä virtualisoinnin merkittävin etu on sen tarjoama eristys. Virtualisoinnin avulla useat osajärjestelmät voivat toimia samalla laitteistolla pitäen ne silti eristettyinä toisistaan. RISC-V on uusi Berkeleyn yliopistossa kehitetty suoritinarkkitehtuuri. Se erottuu muista suoritinarkkitehtuureista erityisesti sen vapaudella ja avoimuudella. Kuka tahansa voi vapaasti suunnitella, valmistaa ja myydä RISC-V-prosessoreita ilman lisenssimaksuja. RISC-V on huomattavasti uudempi suoritinarkkitehtuuri, kuin sen suurimmat kilpailijat, mutta sen suosiolle on ennustettu suurta kasvua tulevaisuudessa. Vapauden ja avoimuuden lisäksi RISC-V:n valtteja ovat sen tekniset ominaisuudet, kuten laaja virtualisoitavuus, joka on ollut yksi arkkitehtuurin suunnittelutavoitteista alusta alkaen. Tässä tutkielmassa selvitetään, miten virtualisointi on otettu huomioon RISC-V-suoritinarkkitehtuurin suunnittelussa. Ensimmäisenä tutkielman kirjallisuustutkimusosassa selvitetään, miten virtualisointi toimii käytännössä. Kirjallisuuslähteistä löydettiin yhtenäinen joukko tunnettuja virtualisointitekniikoita, joiden käyttökelpoisuus tutkitaan seuraavaksi RISC-V-suoritinarkkitehtuurilla. Tutkielman tulokset osoittavat, että virtualisointimahdollisuudet on otettu RISC-V-suoritinarkkitehtuurin suunnittelussa perusteellisesti huomioon. Arkkitehtuurista on tunnistettavissa monia suunnittelupäätöksiä, jotka on tehty virtualisointia silmällä pitäen. Seurauksena RISC-V soveltuu kaikkien tunnetuimpien virtualisointitekniikoiden käyttämiseen. Johtopäätöksinä todetaan, että RISC-V:n ennustetun suosion kasvun syyt ovat selkeästi nähtävissä. Virtualisoitavuus yhdistettynä vapauden, avoimuuden ja muiden teknisten ominaisuuksien kanssa tekevät RISC-V:stä hyvin soveltuvan suoritinarkkitehtuurin moniin käyttökohteisii

    A virtualisation framework for embedded systems

    Get PDF

    Remote fidelity of Container-Based Network Emulators

    Get PDF
    This thesis examines if Container-Based Network Emulators (CBNEs) are able to instantiate emulated nodes that provide sufficient realism to be used in information security experiments. The realism measure used is based on the information available from the point of view of a remote attacker. During the evaluation of a Container-Based Network Emulator (CBNE) as a platform to replicate production networks for information security experiments, it was observed that nmap fingerprinting returned Operating System (OS) family and version results inconsistent with that of the host Operating System (OS). CBNEs utilise Linux namespaces, the technology used for containerisation, to instantiate \emulated" hosts for experimental networks. Linux containers partition resources of the host OS to create lightweight virtual machines that share a single OS kernel. As all emulated hosts share the same kernel in a CBNE network, there is a reasonable expectation that the fingerprints of the host OS and emulated hosts should be the same. Based on how CBNEs instantiate emulated networks and that fingerprinting returned inconsistent results, it was hypothesised that the technologies used to construct CBNEs are capable of influencing fingerprints generated by utilities such as nmap. It was predicted that hosts emulated using different CBNEs would show deviations in remotely generated fingerprints when compared to fingerprints generated for the host OS. An experimental network consisting of two emulated hosts and a Layer 2 switch was instantiated on multiple CBNEs using the same host OS. Active and passive fingerprinting was conducted between the emulated hosts to generate fingerprints and OS family and version matches. Passive fingerprinting failed to produce OS family and version matches as the fingerprint databases for these utilities are no longer maintained. For active fingerprinting the OS family results were consistent between tested systems and the host OS, though OS version results reported was inconsistent. A comparison of the generated fingerprints revealed that for certain CBNEs fingerprint features related to network stack optimisations of the host OS deviated from other CBNEs and the host OS. The hypothesis that CBNEs can influence remotely generated fingerprints was partially confirmed. One CBNE system modified Linux kernel networking options, causing a deviation from fingerprints generated for other tested systems and the host OS. The hypothesis was also partially rejected as the technologies used by CBNEs do not influence the remote fidelity of emulated hosts.Thesis (MSc) -- Faculty of Science, Computer Science, 202

    Experimental evaluation of a CPU Live Migration on ARM based Bare metal Instances

    Get PDF
    The advent of 5G and the adoption of digitalization in all areas of industry has resulted in the exponential growth of the Internet of Things (IoTs) devices, increasing the flow of data that travels back and forth to a centralized Cloud data centre for storage, processing, and analysis. This in turn puts pressure on the intermediate edge and core network infrastructure as traditional Cloud Computing is not ready to support this massive amount and diversity of devices and data. This need for faster processing, low latency and higher network consistency makes a case for Edge Computing solutions. However, applying Edge Computing as a solution to overcome the network performance limitations that exist on an “IoT to Cloud” architecture while continuing to use Virtualization technology for system utilization is a bit of an oxymoron. Virtualization increases performance overheads, while sharing network resources among users and applications creates further bandwidth limitations and latency since communications are still served through the same physical network interfaces. The demand for network and system consistency, finer security and privacy has led to the deployment of Bare metal instances. Bare metal instances are nothing more than traditional servers that lack the virtualization layer offering native performance to the user. Furthermore, the rise of the ARM processors and the introduction of cheap low power architectures targeted to the Edge introduce a compelling new candidate platform especially on Bare metal instances. Live migration is a valuable tool for increasing applications and users’ mobility, service availability offering workload balancing and fault tolerance. However, live migration is tied to the existence of a virtualization layer therefore implementing a live migration process on Bare metal instances is very challenging. To the best of our knowledge, there is no existing proposal for a Bare metal live migration scheme on ARM based systems. Therefore, this thesis presents a novel design, implementation, and evaluation of an ARM based live migration scheme for Bare metal instances suitable for modern EdgeComputing Micro Data Centres. Our experimental evaluation confirms the effectiveness of our novel design as well as highlighting the importance on identifying the number of registers that describe and are critical for the reconstruction of the CPU state at the destination

    SimuBoost: Scalable Parallelization of Functional System Simulation

    Get PDF
    Für das Sammeln detaillierter Laufzeitinformationen, wie Speicherzugriffsmustern, wird in der Betriebssystem- und Sicherheitsforschung häufig auf die funktionale Systemsimulation zurückgegriffen. Der Simulator führt dabei die zu untersuchende Arbeitslast in einer virtuellen Maschine (VM) aus, indem er schrittweise Instruktionen interpretiert oder derart übersetzt, sodass diese auf dem Zustand der VM arbeiten. Dieser Prozess ermöglicht es, eine umfangreiche Instrumentierung durchzuführen und so an Informationen zum Laufzeitverhalten zu gelangen, die auf einer physischen Maschine nicht zugänglich sind. Obwohl die funktionale Systemsimulation als mächtiges Werkzeug gilt, stellt die durch die Interpretation oder Übersetzung resultierende immense Ausführungsverlangsamung eine substanzielle Einschränkung des Verfahrens dar. Im Vergleich zu einer nativen Ausführung messen wir für QEMU eine 30-fache Verlangsamung, wobei die Aufzeichnung von Speicherzugriffen diesen Faktor verdoppelt. Mit Simulatoren, die umfangreichere Instrumentierungsmöglichkeiten mitbringen als QEMU, kann die Verlangsamung um eine Größenordnung höher ausfallen. Dies macht die funktionale Simulation für lang laufende, vernetzte oder interaktive Arbeitslasten uninteressant. Darüber hinaus erzeugt die Verlangsamung ein unrealistisches Zeitverhalten, sobald Aktivitäten außerhalb der VM (z. B. Ein-/Ausgabe) involviert sind. In dieser Arbeit stellen wir SimuBoost vor, eine Methode zur drastischen Beschleunigung funktionaler Systemsimulation. SimuBoost führt die zu untersuchende Arbeitslast zunächst in einer schnellen hardwaregestützten virtuellen Maschine aus. Dies ermöglicht volle Interaktivität mit Benutzern und Netzwerkgeräten. Während der Ausführung erstellt SimuBoost periodisch Abbilder der VM (engl. Checkpoints). Diese dienen als Ausgangspunkt für eine parallele Simulation, bei der jedes Intervall unabhängig simuliert und analysiert wird. Eine heterogene deterministische Wiederholung (engl. heterogeneous deterministic Replay) garantiert, dass in dieser Phase die vorherige hardwaregestützte Ausführung jedes Intervalls exakt reproduziert wird, einschließlich Interaktionen und realistischem Zeitverhalten. Unser Prototyp ist in der Lage, die Laufzeit einer funktionalen Systemsimulation deutlich zu reduzieren. Während mit herkömmlichen Verfahren für die Simulation des Bauprozesses eines modernen Linux über 5 Stunden benötigt werden, schließt SimuBoost die Simulation in nur 15 Minuten ab. Dies sind lediglich 16% mehr Zeit, als der Bau in einer schnellen hardwaregestützten VM in Anspruch nimmt. SimuBoost ist imstande, diese Geschwindigkeit auch bei voller Instrumentierung zur Aufzeichnung von Speicherzugriffen beizubehalten. Die vorliegende Arbeit ist das erste Projekt, welches das Konzept der Partitionierung und Parallelisierung der Ausführungszeit auf die interaktive Systemvirtualisierung in einer Weise anwendet, die eine sofortige parallele funktionale Simulation gestattet. Wir ergänzen die praktische Umsetzung mit einem mathematischen Modell zur formalen Beschreibung der Beschleunigungseigenschaften. Dies erlaubt es, für ein gegebenes Szenario die voraussichtliche parallele Simulationszeit zu prognostizieren und gibt eine Orientierung zur Wahl der optimalen Intervalllänge. Im Gegensatz zu bisherigen Arbeiten legt SimuBoost einen starken Fokus auf die Skalierbarkeit über die Grenzen eines einzelnen physischen Systems hinaus. Ein zentraler Schlüssel hierzu ist der Einsatz moderner Checkpointing-Technologien. Im Rahmen dieser Arbeit präsentieren wir zwei neuartige Methoden zur effizienten und effektiven Kompression von periodischen Systemabbildern
    corecore