155 research outputs found

    A review on Reliability, Security and Memory Management of Numerous Operating Systems

    Get PDF
    With the improvement of technology and the growing needs of computer systems, it is needed to ensure that operating systems are able to provide the required functionalities. To provide these functionality operating systems are designed to maintain some design factors such as scalability, security, reliability, performance, memory management, energy efficiency. However, none of these factors can be achieved directly without facing any challenges. This research studied several design issues that are connected to each other in terms of providing an effective result. Therefore, this review article tried to reveal the major issues, which are independently more complex to solve at once. Finally, this research provides a guideline to overcome the challenges for future researchers by studying many research articles based on these design issues

    Advancing Operating Systems via Aspect-Oriented Programming

    Get PDF
    Operating system kernels are among the most complex pieces of software in existence to- day. Maintaining the kernel code and developing new functionality is increasingly compli- cated, since the amount of required features has risen significantly, leading to side ef fects that can be introduced inadvertedly by changing a piece of code that belongs to a completely dif ferent context. Software developers try to modularize their code base into separate functional units. Some of the functionality or “concerns” required in a kernel, however, does not fit into the given modularization structure; this code may then be spread over the code base and its implementation tangled with code implementing dif ferent concerns. These so-called “crosscutting concerns” are especially dif ficult to handle since a change in a crosscutting concern implies that all relevant locations spread throughout the code base have to be modified. Aspect-Oriented Software Development (AOSD) is an approach to handle crosscutting concerns by factoring them out into separate modules. The “advice” code contained in these modules is woven into the original code base according to a pointcut description, a set of interaction points (joinpoints) with the code base. To be used in operating systems, AOSD requires tool support for the prevalent procedu- ral programming style as well as support for weaving aspects. Many interactions in kernel code are dynamic, so in order to implement non-static behavior and improve performance, a dynamic weaver that deploys and undeploys aspects at system runtime is required. This thesis presents an extension of the “C” programming language to support AOSD. Based on this, two dynamic weaving toolkits – TOSKANA and TOSKANA-VM – are presented to permit dynamic aspect weaving in the monolithic NetBSD kernel as well as in a virtual- machine and microkernel-based Linux kernel running on top of L4. Based on TOSKANA, applications for this dynamic aspect technology are discussed and evaluated. The thesis closes with a view on an aspect-oriented kernel structure that maintains coherency and handles crosscutting concerns using dynamic aspects while enhancing de- velopment methods through the use of domain-specific programming languages

    Applying patterns to build a lightweight middleware for embedded systems

    Full text link

    LibrettOS: A Dynamically Adaptable Multiserver-Library OS

    Full text link
    We present LibrettOS, an OS design that fuses two paradigms to simultaneously address issues of isolation, performance, compatibility, failure recoverability, and run-time upgrades. LibrettOS acts as a microkernel OS that runs servers in an isolated manner. LibrettOS can also act as a library OS when, for better performance, selected applications are granted exclusive access to virtual hardware resources such as storage and networking. Furthermore, applications can switch between the two OS modes with no interruption at run-time. LibrettOS has a uniquely distinguishing advantage in that, the two paradigms seamlessly coexist in the same OS, enabling users to simultaneously exploit their respective strengths (i.e., greater isolation, high performance). Systems code, such as device drivers, network stacks, and file systems remain identical in the two modes, enabling dynamic mode switching and reducing development and maintenance costs. To illustrate these design principles, we implemented a prototype of LibrettOS using rump kernels, allowing us to reuse existent, hardened NetBSD device drivers and a large ecosystem of POSIX/BSD-compatible applications. We use hardware (VM) virtualization to strongly isolate different rump kernel instances from each other. Because the original rumprun unikernel targeted a much simpler model for uniprocessor systems, we redesigned it to support multicore systems. Unlike kernel-bypass libraries such as DPDK, applications need not be modified to benefit from direct hardware access. LibrettOS also supports indirect access through a network server that we have developed. Applications remain uninterrupted even when network components fail or need to be upgraded. Finally, to efficiently use hardware resources, applications can dynamically switch between the indirect and direct modes based on their I/O load at run-time. [full abstract is in the paper]Comment: 16th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE '20), March 17, 2020, Lausanne, Switzerlan

    Off, un nuevo enfoque en la construcción de Sistemas Operativos Distribuidos

    Full text link
    La extensión alcanzada por las redes de ordenadores ha provocado la aparición y extensión de Sistemas Operativos Distribuidos (SSOODD) [158], como alternativa de futuro a los Sistemas Operativos centralizados. El enfoque más común para la construcción de Sistemas Operativos Distribuidos [158] consiste en la realización de servicios distribuidos sobre un μkernel centralizado encargado de operar en cada uno de los nodos de la red (μkernel servicios distribuidos). Esta estrategia entorpece la distribución del sistema y conduce a sistemas no adaptables debido a que los μkernels empleados suministran abstracciones alejadas del hardware. Por otro lado, los Sistemas Operativos Distribuidos todavía no han alcanzando niveles de transparencia, flexibilidad, adaptabilidad y aprovechamiento de recursos comparables a los existentes en Sistemas Centralizados [160]. Conviene pues explorar otras alternativas, en la construcción de dichos sistemas, que permitan paliar esta situación. Esta tesis propone un enfoque radicalmente diferente en la construcción de Sistemas Operativos Distribuidos: distribuir el sistema justo desde el nivel inferior haciendo uso de un μkernel distribuido soportando abstracciones próximas al hardware. Nuestro enfoque podría resumirse con la frase Construyamos Sistemas Operativos basados en un μkernel distribuido en lugar de construir Sistemas Operativos Distribuidos basados en un μkernel. Afirmamos que con el enfoque propuesto (μkernel distribuido adaptable servicios) se podrían conseguir importantes ventajas [148] con respecto al enfoque habitual (μkernel servicios distribuidos): más transparencia, mejor aprovechamiento de los recursos, sistemas m´as flexibles y mayores cotas de adaptabilidad; sistemas más eficientes, fiables y escalables

    Distributed data structure for factored operating systems

    Get PDF
    Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2012.Cataloged from PDF version of thesis.Includes bibliographical references (p. 151-158).Future computer architectures will likely exhibit increased parallelism through the addition of more processor cores. Architectural trends such as exponentially increasing parallelism and the possible lack of scalable shared memory motivate the reevaluation of operating system design. This thesis work takes place in the context of Factored Operating Systems which leverage distributed system ideas to increase the scalability of multicore processor operating systems. fos, a Factored Operating System, explores a new design point for operating systems where traditional low-level operating system services are fine-grain parallelized while internally only using explicit message passing for communication. fos factors an operating system first by system service and then further parallelizes inside of the system service by splitting the service into a fleet of server processes which communicate via messaging. Constructing parallel low-level operating system services which only internally use messaging is challenging because shared resources must be partitioned across servers and the services must provide scalable performance when met with uneven demand. To ease the construction of parallel fos system services, this thesis develops the dPool distributed data structure. The dPool data structure provides concurrent access to an unordered collection of elements by server processes within a fos fleet. Internal to a single dPool instance, all communication between different portions of a dPool is done via messaging. This thesis uses the dPool data structure within the parallel fos Physical Memory Allocation fleet and demonstrates that it is possible to use a dPool to manage shared state in a factored operating system's physical page allocator. This thesis begins by presenting the design of the prototype fos operating system. In the context of fos system service fleets, this thesis describes the dPool data structure, its design, different implementations, and interfaces. The dPool data structure is shown to achieve scalability across even and uneven micro-benchmark workloads. This thesis shows that common parallel and distributed programming techniques apply to the creation of dPool and that background threads within a dPool can increase performance. Finally, this thesis evaluates different dPool implementations and demonstrates that intelligently pushing elements between dPool parts can increase scalability.by David Wentzlaff.Ph.D

    Managing Mobility for Distributed Smart Cities Services

    Full text link
    The IoT refers to the idea of internetworking physical devices, vehicles, buildings, and any other item embedded with the appropriate electronics, software, sensors, actuators, and network connectivity to allows them to interchange data and to provide highly effective new services. In this thesis we focus on the communications issues of the IoT in relation to mobility and we provide different solutions to alleviate the impact of these potential problems and to guarantee the information delivery in mobile scenarios. Our reference context is a Smart City where various mobile devices collaboratively participate, periodically sending information from their sensors. We assume that these services are located in platforms based in cloud infrastructures where the information is protected through the use of virtualisation ensuring their security and privacy. This thesis is structured into seven chapters. We first detail our objectives and identify the current problems we intend to address. Next, we provide a thorough review of the state of the art of all the areas involved in our work, highlighting how we improved the existing solutions with our research. The overall approach of the solutions we propose in this thesis use prototypes that encompasses and integrates different technologies and standards in a small infrastructure, using real devices in real scenarios with two of the most commonly used networks around the world: WiFi and 802.15.4 to efficiently solve the problems we originally identified. We focussed on protocols based on a producer/consumer paradigm, namely AMQP and particularly MQTT. We observed the behaviour of these protocols using in lab experiments and in external environments, using a mesh wireless network as the backbone network. Various issues raised by mobility were taken into consideration, and thus, we repeated the tests with different messages sizes and different inter-message periodicity, in order to model different possible applications. We also present a model for dimensioning the number of sources for mobile nodes and calculating the number of buffers required in the mobile node as a function of the number of sources and the size of the messages. We included a mechanism for avoiding data loss based on intermediate buffering adapted to the MQTT protocol that, in conjunction with the use of an alternative to the Network Manager in certain contexts, improves the connection establishment for wireless mobile clients. We also performed a detailed study of the jitter behaviour of a mobile node when transmitting messages with this proposal while moving through a real outdoor scenario. To emulate simple IoT networks we used the Cooja simulator to study and determine the effects on the probability of delivering messages when both publishers and subscribers were added to different scenarios. Finally we present an approach that combines the MQTT protocol with DTN which we specifically designed for constrained environments and guarantees that important information will never be lost. The advantage of our proposed solutions is that they make an IoT system more resilient to changes in the point of attachment of the mobile devices in an IoT network without requiring IoT application & service developers to explicitly consider this issue. Moreover, our solutions do not require additional support from the network through protocols such as MobileIP or LISP. We close the thesis by providing some conclusions, and identifying future lines of work which we unable to address here.Internet de las cosas (IoT) se refiere a la idea de interconectar sensores, actuadores, dispositivos físicos, vehículos, edificios y cualquier elemento dotado de la electrónica, así como del software y de la conectividad de red que los hace capaces de intercambiar datos para proporcionar servicios altamente efectivos. En esta tesis nos centramos en temas relacionados con la comunicación de sistemas IoT, específicamente en situaciones de movilidad y en los problemas que esto conlleva. Con este fin ofrecemos diferentes soluciones que alivian su impacto y garantizan la entrega de información en estas situaciones. El contexto de referencia es una ciudad inteligente donde varios dispositivos móviles participan de forma colaborativa enviando periódicamente información desde sus sensores hacia servicios ubicados en plataformas en la nube (cloud computing) donde mediante el uso de virtualización, la información está protegida garantizando su seguridad y privacidad. Las soluciones propuestas en esta tesis se enfocan en probar sobre una pequeña infraestructura un prototipo que abarca e integra diferentes tecnologías y estándares para resolver eficientemente los problemas previamente identificados. Hemos enfocado nuestro esfuerzo en el uso de dispositivos sobre escenarios reales con dos de las redes más extendidas en todo el mundo: WiFi y enlaces 802.15.4. Nos enfocamos en protocolos que ofrecen el paradigma productor/consumidor como el protocolo avanzado de colas de mensajes (AMQP) y particularmente el protocolo de transporte de mensajes telemétricos (MQTT), observamos su comportamiento a través de experimentos en laboratorio y en pruebas al aire libre, repitiendo las pruebas con diferentes tamaños de mensajes y diferente periodicidad entre mensajes. Para modelar las diferentes posibles aplicaciones de la propuesta, se tomaron en consideración varias cuestiones planteadas por la movilidad, resultando en un modelo para dimensionar eficientemente el número de fuentes para un nodo móvil y para calcular el tamaño requerido del buffer, en función del número de fuentes y del tamaño de los mensajes. Proponemos un mecanismo adaptado al protocolo MQTT que evita la pérdida de datos en clientes móviles, basado en un buffer intermedio entre la producción y publicación de mensajes que, en conjunto con el uso de una alternativa al gestor de conexiones inalámbricas "Network Manager", en ciertos contextos mejora el establecimiento de las conexiones. Para la evaluación de esta propuesta se presenta un estudio detallado de un nodo móvil que se mueve en un escenario real al aire libre, donde estudiamos el comportamiento del jitter y la transmisión de mensajes. Además, hemos utilizado emuladores de redes IoT para estudiar y determinar los efectos sobre la probabilidad de entrega de mensajes, cuando se agregan tanto publicadores como suscriptores a diferentes escenarios. Finalmente, se presenta una solución totalmente orientada a entornos con dispositivos de recursos limitados que combina los protocolos MQTT con redes tolerantes a retardos (DTN) para garantizar la entrega de información. La ventaja de las soluciones que proponemos reside en el hecho de que los sistemas IoT se vuelven resilientes a la movilidad y a los cambios de punto de acceso, permitiendo así que los desarrolladores creen fácilmente aplicaciones y servicios IoT evitando considerar estos problema. Otra ventaja de nuestras soluciones es que no necesitan soporte adicional de la red como sucede con protocolos como MobileIP o el protocolo que separa el identificador del localizador (LISP). Se destaca cómo hemos mejorado las soluciones existentes hasta el momento de la escritura de esta disertación, y se identifican futuras líneas de actuación que no han sido contempladas.Internet de les coses (IoT) es refereix a la idea d'interconnectar sensors, actuadors, dispositius físics, vehicles, edificis i qualsevol element dotat de l'electrònica, així com del programari i de la connectivitat de xarxa que els fa capaces d'intercanviar dades per proporcionar serveis altament efectius. En aquesta tesi ens centrem en temes relacionats amb la comunicació de sistemes IoT, específicament en situacions de mobilitat i en els problemes que això comporta. A aquest efecte oferim diferents solucions que alleugeren el seu impacte i garanteixen el lliurament d'informació en aquestes situacions. El context de referència és una ciutat intel·ligent on diversos dispositius mòbils participen de forma col·laborativa enviant periòdicament informació des dels seus sensors cap a serveis situats en plataformes en el núvol (cloud computing) on mitjançant l'ús de virtualització, la informació està protegida garantint la seva seguretat i privadesa. Les solucions proposades en aquesta tesi s'enfoquen a provar sobre una xicoteta infraestructura un prototip que abasta i integra diferents tecnologies i estàndards per a resoldre eficientment els problemes prèviament identificats. Hem enfocat el nostre esforç en l'ús de dispositius sobre escenaris reals amb dos de les xarxes més esteses a tot el món: WiFi i enllaços 802.15.4. Ens enfoquem en protocols que ofereixen el paradigma productor/consumidor com el protocol avançat de cues de missatges (AMQP) i particularment el protocol de transport de missatges telemètrics (MQTT), observem el seu comportament a través d'experiments en laboratori i en proves a l'aire lliure, repetint les proves amb diferents grandàries de missatges i diferent periodicitat entre missatges. Per a modelar les diferents possibles aplicacions de la proposta, es van prendre en consideració diverses qüestions plantejades per la mobilitat, resultant en un model per a dimensionar eficientment el nombre de fonts per a un node mòbil i per a calcular la grandària requerida del buffer, en funció del nombre de fonts i de la grandària dels missatges. Proposem un mecanisme adaptat al protocol MQTT que evita la pèrdua de dades per a clients mòbils, basat en un buffer intermedi entre la producció i publicació de missatges que en conjunt amb l'ús d'una alternativa al gestor de connexions sense fils "Network Manager'', en certs contextos millora l'establiment de les connexions. Per a l'avaluació d'aquesta proposta es presenta un estudi detallat d'un node mòbil que es mou en un escenari real a l'aire lliure, on estudiem el comportament del jitter i la transmissió de missatges. A més, hem utilitzat emuladors de xarxes IoT per a estudiar i determinar els efectes sobre la probabilitat de lliurament de missatges, quan s'agreguen tant publicadors com subscriptors a diferents escenaris. Finalment, es presenta una solució totalment orientada a entorns amb dispositius de recursos limitats que combina els protocols MQTT amb xarxes tolerants a retards (DTN) per a garantir el lliurament d'informació. L'avantatge de les solucions que proposem resideix en el fet que els sistemes IoT es tornen resilients a la mobilitat i als canvis de punt d'accés, permetent així que els desenvolupadors creuen fàcilment aplicacions i serveis IoT evitant considerar aquests problema. Un altre avantatge de les nostres solucions és que no necessiten suport addicional de la xarxa com succeeix amb protocols com MobileIP o el protocol que separa l'identificador del localitzador (LISP). Es destaca com hem millorat les solucions existents fins al moment de l'escriptura d'aquesta dissertació, i s'identifican futures línies d'actuació que no han sigut contemplades.Luzuriaga Quichimbo, JE. (2017). Managing Mobility for Distributed Smart Cities Services [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/84744TESI
    corecore