Spelling suggestions: "subject:"operativsystem."" "subject:"operativsystems.""
21 |
Real-Time Linux Testbench on Raspberry Pi 3 using XenomaiJohansson, Gustav January 2018 (has links)
Test benches are commonly used to simulate events to an embedded system for validation purposes. Microcontrollers can be used for making test benches and can be programmed with a bare-metal style, i.e. without an Operating System (OS), for simple cases. If the test bench would be too complex for a microcontroller, then a Real-Time Operating System (RTOS) could be used instead of a more complex hardware. A RTOS has limited functionalities to guarantee high predictability. A General-Purpose Operating System (GPOS) has a vast number of functionalities but has low predictability. The literature study looks therefore into approaches to improve the real-time predictability of Linux. The result of the literature study finds an approach called Xenomai Cobalt to be the optimal solution, considering the target usecase and project resources. The Xenomai Cobalt approach was evaluated on a Raspberry Pi (RPi) 3 using its General-Purpose Input/Output (GPIO) pins and a latency test. An application was written using Xenomai's Application Programming Interface (API). The application used the GPIO pins to read from a function generator and to write to an oscilloscope. The measurements from the oscilloscope were then compared to the measurements done by the application. The result showed the measured dierences between the RPi 3 and the oscilloscope. The result of the measurements showed that reading varied 66:20 μs, and writing varied 56:20 μs. The latency test was executed with a stress test and the worst measured latency was 82 μs. The resulting measured dierences were too high for the project requirements. However, the majority of the measurements were much smaller than the worstcases with 23:52 μs for reading and 34:05 μs for writing. This means the system could be used better as a rm real-time system instead of a hard real-time system. / Testbänkar används ofta för att simulera händelser till ett inbyggt system för validering. Till simpla testbänkar kan mikrokontroller användas. För mer avancerade testbänkar kan RTOS användas på mer komplex hårdvara. RTOS har begränsad funktionalitet för att garantera en hög förutsägbarhet. GPOS har stora mängder funktionaliteter men har istället en låg förutsägbarhet.Litteraturstudien undersökte därför möjligheterna till att få Linux att hantera realtid. Resultatet av litteraturstudien fann ett tillvägagångssätt vid namn Xenomai Cobalt att vara den optimala lösningen för att få Linux till Real-Time Linux.Xenomai Cobalt utvärderades på en RPi 3 med hjälp av dess GPIO-pinnar och ett fördröjningstest. En applikation skrevs med Xenomai’s API. Applikationen använde GPIO-pinnarna till att läsa från en funktionsgenerator och till att skriva till ett oskilloskop. Mätningarna från oskilloskopet jämfördes sen med applikationens mätningar.Resultatet visade mätskillnaderna mellan RPi 3 och oskilloskopet med systemet i viloläge. Resultatet av mätningarna visade att läsningen varierade med 66.20 µs och skrivandet med 56.20 µs. Fördröjningstestet utfördes medstresstestning och visade den värsta uppmätta fördröjningen, resultatet blev82 µs.De resulterande mätskillnaderna blev dock för höga för projektets krav. Majoriteten av mätningarna var mycket mindre än de värsta fallen med 23.52 µs för läsning och 34.05 µs för skrivning. Detta innebar att systemet kan användas med bättre precision som ett fast realtidssystem istället för ett hårt realtidssystem.
|
22 |
Message Classification Based Continuous Data Transmission for an E-health Embedded SystemSun, Jiuwu January 2019 (has links)
This thesis aims to develop an e-health embedded system with a real-time operating system (RTOS), which allows users to monitor their body condition, including heart rate and breath, through Bluetooth Low Energy (BLE). Meanwhile, the device is also able to provide guidance for breathing by simulating breathing according to given parameters. In practice, the system samples the heart rate every two milliseconds. To ensure reliability and validity, results are expected to be sent in realtime. However, numerous data cannot be transmitted directly without being processed. Otherwise, the system will crash, and hard faults will occur. A general idea to solve this problem is to classify messages into two categories based on the priority. One is urgent, and the other is unimportant. Two solutions are proposed, one using a unidirectional linked list, and the second using queues. Based on an ARM micro-controller, the e-health embedded system is designed and implemented successfully. The evaluation results show that the solution using a linked list is suitable for the system, while the solution using queues is unable to solve the problem. With the help of the message classification, the urgent messages can be timely transmitted with continuous data. / Avhandlingen syftar till att utveckla ett e-hälso-inbyggt system med ett realtidsoperativsystem (RTOS), som gör det möjligt för användare att övervaka sitt kroppstillstånd, inklusive hjärtfrekvens och andetag, genom Bluetooth Low Energy (BLE). Samtidigt kan enheten också ge vägledning för andning genom att simulera andning enligt givna parametrar. I praktiken samplar systemet hjärtfrekvensen varannan millisekund. För att säkerställa tillförlitlighet och giltighet bör resultaten skickas i realtid. Annars kraschar systemet och allvarliga fel uppstår. En allmän idé för att lösa detta problem är att klassificera meddelanden i två kategorier baserade på prioritering, en är brådskande och den andra är obetydlig. Två lösningar föreslås, en med hjälp av riktad länkad lista och en annan implementerad med hjälp av köer. Resultatmässigt, baserat på en ARM-mikrokontroller, är det inbyggda e-hälsosystemet framgångsrikt designat och konfigurerat. Lösningen med en länkad lista är lämplig för systemet, medan lösningen som implementeras med köer fortfarande inte kan lösa problemet. Med hjälp av meddelandeklassificeringen är de brådskande meddelandena inte ens försenade med kontinuerlig data.
|
23 |
Memory Management Error Detection in Parallel Software using a Simulated Hardware PlatformSinha, Udayan Prabir January 2017 (has links)
Memory management errors in concurrent software running on multi-core architectures can be difficult and costly to detect and repair. Examples of errors are usage of uninitialized memory, memory leaks, and data corruptions due to unintended overwrites of data that are not owned by the writing entity. If memory management errors could be detected at an early stage, for example when using a simulator before the software has been delivered and integrated in a product, significant savings could be achieved. This thesis investigates and develops methods for detection of usage of uninitialized memory in software that runs on a virtual hardware platform. The virtual hardware platform has models of Ericsson Radio Base Station hardware for baseband processing and digital radio processing. It is a bit-accurate representation of the underlying hardware, with models of processors and peripheral units, and it is used at Ericsson for software development and integration. There are tools available, such as Memcheck (Valgrind), and MemorySanitizer and AddressSanitizer (Clang), for memory management error detection. The features of such tools have been investigated, and memory management error detection algorithms were developed for a given processor’s instruction set. The error detection algorithms were implemented in a virtual platform, and issues and design considerations reflecting the application-specific instruction set architecture of the processor, were taken into account. A prototype implementation of memory error presentation with error locations mapped to the source code of the running program, and presentation of stack traces, was done, using functionality from a debugger. An experiment, using a purpose-built test program, was used to evaluate the error detection capability of the algorithms in the virtual platform, and for comparison with the error detection capability of Memcheck. The virtual platform implementation detects all known errors, except one, in the program and reports them to the user in an appropriate manner. There are false positives reported, mainly due to the limited awareness about the operating system used on the simulated processor / Minneshanteringsfel i parallell mjukvara som exekverar på flerkärniga arkitekturer kan vara svåra att detektera, samt kostsamma att åtgärda. Exempel på fel kan vara användning av ej initialiserat minne, minnesläckage, samt att data blir överskrivna av en process som inte är ägare till de data som skrivs över. Om minneshanteringsfel kan detekteras i ett tidigt skede, t ex genom att använda en simulator, som körs innan mjukvaran har levererats och integrerats i en produkt, skulle man kunna erhålla signifikanta kostnadsbesparingar. Detta examensarbete undersöker och utvecklar metoder för detektion av ej initialiserat minne i mjukvara som körs på en virtuell plattform. Den virtuella plattformen innehåller modeller av delar av den digitala hårdvara, för basband och radio, som finns i en Ericsson radiobasstation. Modellerna är bit-exakta representationer av motsvarande hårdvarublock, och innefattar processorer och periferienheter. Den virtuella plattformen används av Ericsson för utveckling och integration av mjukvara. Det finns verktyg, exempelvis Memcheck (Valgrind), samt MemorySanitizer och AddressSanitizer (Clang), som kan användas för att detektera minneshanteringsfel. Egenskaper hos sådana verktyg har undersökts, och algoritmer för detektion av minneshanteringsfel har utvecklats, för en specifik processor och dess instruktioner. Algoritmerna har implementerats i en virtuell plattform, och kravställningar och design-överväganden som speglar den tillämpnings-specifika instruktionsrepertoaren för den valda processorn, har behandlats. En prototyp-implementation av presentation av minneshanteringsfel, där källkodsraderna samt anropsstacken för de platser där fel har hittats pekas ut, har utvecklats, med användning av en debugger. Ett experiment, som använder sig av ett för ändamålet utvecklat program, har använts för att utvärdera feldetektions-förmågan för de algoritmer som implementerats i den virtuella plattformen, samt för att jämföra med feldetektions-förmågan hos Memcheck. De algoritmer som implementerats i den virtuella plattformen kan, för det program som används, detektera alla kända fel, förutom ett. Algoritmerna rapporterar också falska felindikeringar. Dessa rapporter är huvudsakligen ett resultat av att den aktuella implementationen har begränsad kunskap om det operativsystem som används på den simulerade processorn.
|
24 |
An analysis of 5G orchestration : Defining the role of software orchestrators in 5G networks, and building a method to compare implementations of 5G orchestrators / En analys av 5G orkestrering : Hur orkestreringsprogramvaror används i 5G nätverk, och ett sätt att jämföra varianter av orkestreringsprogramvaror.Lex-Hammarskjöld, Justin January 2021 (has links)
Software orchestrators like Kubernetes are growing in popularity with computer engineers for deploying and running complex software systems. Interestingly, there are now new technical standards being proposed for the telecom industry to begin utilizing software orchestration for the software that runs inside cellular networks. The telecom industry is currently transitioning from 4G to 5G technology. One of the central pieces of this development work is implementing a software orchestrator for 5G networks. This raises some questions about how and why the telecom industry will use software orchestration in their cellular networks. Software orchestration is a complex technology and it is challenging to develop an implementation of a software orchestrator. Some important questions that this thesis addresses are: What do network operators need from this technology? Furthermore, telecom vendors, like Ericsson and Huawei, have developed their own versions of a 5G software orchestrator, which orchestrator should the network operators choose? Furthermore, we investigate what 5G is, why the telecom industry is developing software orchestrators for the 5G roll-out, and importantly, we determine the design requirements that the telecom industry has for these "5G orchestration systems". We interpret and break down technical whitepapers from the industry, and we build a picture of the IT stack of upcoming 5G networks. In our research, we find that software orchestration is being used to deploy and maintain complex software stacks such as software-defined networking (SDN) system that is central to 5G networks. We uncover some of the specializations needed in a software orchestrator for the telecom industry, such as modularity, high-availability, and specialized system integration. With this information, we make feature and design recommendations for 5G orchestrators, and we compile a list of criteria that network operators can use to assess and compare different 5G orchestrators. / Orkestreringsprogramvaror som Kubernetes växer i popularitet med IT ingenjörer för att installera och köra komplexa mjukvarasystem. På grund av pågående transitionen från 4G till 5G, används orkestreringsprogramvaror nu också i mobilnäten. I den här uppsatsen undersöks vad är 5G, varför telekombranschen använder orkestreringsprogramvaror för nya 5G nätverk, och vad krav har telekombranschen på denna "5G orkestreringsprogramvaror". Denna undersökning utförs genom en litteraturstudie. Genom den här undersökningen, det visar sig att orkestreringsprogramvaror används för att installera och köra komplexa mjukvarasystem som är centralt till 5G nätverk. Specialiseringskrav för orkestreringsprogramvaror i telekombranschen upptäcks, som modularitet, hög tillgänglighet, och specialiserad API-hookar. Rekommendationer görs för 5G orkestreringsprogramvarors funktioner, och en lista sammanställas av kriterier som telekomoperatör kan använda för att bedöma och jämföra 5G orkestreringsprogramvaror.
|
Page generated in 0.0629 seconds