Analysing the Impact of Driver Frameworks in Control Applications

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

School of Electrical Engineering | Master's thesis

Department

Mcode

Language

en

Pages

50

Series

Abstract

Embedded devices are crucial computing devices in today's society. In industrial applications embedded devices are essential for control and monitoring purposes. Many embedded systems run operating systems, often variations of the Linux operating system, to facilitate software development and maintenance. The operating system needs to interface with the underlying hardware and expose it to the software applications that run on the embedded device. This is accomplished with device driver software. Several driver development software frameworks have been developed to assist with achieving this. In this thesis, the Userspace IO framework is evaluated for use in Wärtsilä's UNIC engine control systems. The Userspace IO framework allows for developing device drivers that run in user space instead of kernelspace, promising stability without performance degradation. The Userspace IO framework is used to replicate the behaviour of an existing Wärtsilä device driver. The development process is evaluated and the performance of the driver utilizing the Userspace IO framework is compared to the existing device driver. The userspace IO framework allows for flexible driver development, as all tools used in the development of user space applications are available. However, replicating kernel-specific functionality is challenging. Additionally, well-designed drivers utilising the Userspace IO framework do not show performance degradation.

Inbäddade enheter är avgörande datorsystem i dagens samhälle. Inom industriella tillämpningar är inbyggda enheter oumbärliga för styrnings- och övervakningsändamål. Många inbyggda system använder operativsystem, ofta varianter av Linux-operativsystemet, för att underlätta mjukvaruutveckling och underhåll. Operativsystemet måste interagera med den underliggande hårdvaran och exponera den för mjukvaruapplikationerna som körs på den inbyggda enheten. Detta uppnås med hjälp av drivrutinsprogramvara. Flera ramverk för utveckling av drivrutiner har utvecklats för att underlätta detta. I denna avhandling utvärderas Userspace IO-ramverket för användning i Wärtsiläs UNIC-motorstyrsystem. Userspace IO-ramverket möjliggör utveckling av drivrutiner som körs i användarutrymmet istället för kärnutrymmet, Userspace IO-ramverket lovar stabilitet utan prestandaförsämring. Userspace IO-ramverket används för att replikera beteendet hos en befintlig Wärtsilä-drivrutin. Utvecklingsprocessen utvärderas och prestandan hos drivrutinen som använder Userspace IO-ramverket jämförs med den befintliga drivrutinen. Userspace IO-ramverket möjliggör flexibel drivrutinsutveckling, eftersom alla verktyg som används vid utveckling av applikationer i användarutrymmet är tillgängliga. Dock är det utmanande att replikera kärnspecifik funktionalitet. Välutformade drivrutiner som använder Userspace IO-ramverket uppvisar dock ingen prestandaförsämring.

Description

Supervisor

Li, Zhengmao

Thesis advisor

Koskiahde, Timo

Other note

Citation