PhD Thesis

< back to PhD thesis

« Externalisation of device drivers from embedded processors to devices ».

Author: T. Baumela
Advisor: N. Abouchi
These de Doctorat Université Grenoble Alpes
Speciality: Micro et Nano Electronique
Defense: February 24 2021


Recent studies on operating systems show that bugs in devices drivers lead to 70% of system crashes. This situation is caused by several factors. Device drivers are parts of the kernel, running in high privileged modes, and give services to the kernel and user applications. It means a bug in such drivers often lead to a complete crash of the system when it happens. In micro-kernel, bugs are less critical as they executes in user mode, but consequences on the system can still be critical. Writing a device driver requires a very detailed understanding of the operating system and the driven hardware device. These two expertise aren't generally mastered by one developer. Finally, testing a driver is delicate because of the indeterminism of the software and hardware events interleaving (caused also by the existence of hardware devices that were not present during the test). Assuming that every hardware device a little bit sophisticated has at least one processor, the main objective of the thesis is to raise the abstraction of the hardware/software interface of devices. Today, drivers show their devices as a bank of registers with very precise and complex semantic, depending on the product version, evolving at a very fast rate (new versions of chips can be on the market every three months), and that requires a precise configuration to make the device works properly.