Υλοποίηση και αξιολόγηση ενός Linux device driver γραμμένου σε Rust
Στην παρούσα διπλωματική αξιολογούνται οι δυνατότητες της Rust στην ανάπτυξη Linux kernel modules. Η Rust επελέγη λόγω του υψηλού επιπέδου ασφάλειας μνήμης που προσφέρει. Για την αξιολόγηση δημιουργείται σε Rust ένας Linux driver για τη HW γεννήτρια τυχαίων αριθμών των SoC Broadcom BCM2835/6/7 ο οπο...
Main Author: | |
---|---|
Other Authors: | |
Language: | Greek |
Published: |
2022
|
Subjects: | |
Online Access: | https://hdl.handle.net/10889/23617 |
id |
nemertes-10889-23617 |
---|---|
record_format |
dspace |
spelling |
nemertes-10889-236172022-11-03T04:35:29Z Υλοποίηση και αξιολόγηση ενός Linux device driver γραμμένου σε Rust Implementation and evaluation of a Linux device driver written in Rust Μαραγκός, Νικόλαος Maragkos, Nikolaos Λειτουργικά συστήματα Operating systems Linux Driver Rust Στην παρούσα διπλωματική αξιολογούνται οι δυνατότητες της Rust στην ανάπτυξη Linux kernel modules. Η Rust επελέγη λόγω του υψηλού επιπέδου ασφάλειας μνήμης που προσφέρει. Για την αξιολόγηση δημιουργείται σε Rust ένας Linux driver για τη HW γεννήτρια τυχαίων αριθμών των SoC Broadcom BCM2835/6/7 ο οποίος στη συνέχεια υποβάλλεται σε μία σειρά ελέγχων ώστε να συγκριθούν τα αποτελέσματά του με αυτά του αντίστοιχου C driver του Linux kernel. Στόχος είναι να αξιολογηθεί το κέρδος σε memory safety που παρέχει η Rust ως αντιστάθμισμα για την όποια υστέρηση φέρει ενδεχομένως σε αποδοτικότητα, εάν δηλαδή η Rust δημιουργεί κάποια συνθήκη ικανή να αποτρέψει τη χρήση της. Συμπεραίνεται πως ο driver της εργασίας είναι εξίσου αποδοτικός με τον C driver. Ως εκ τούτου λόγω του memory safety, η Rust μπορεί να θεωρηθεί απολύτως εύλογη επιλογή για την συγγραφή μελλοντικών drivers και λοιπών kernel modules. In this thesis are evaluated the capabilities of Rust in developing Linux kernel modules. Rust was chosen due to its offered level of memory safety. For the evaluation, a Linux driver for the HW random number generator of Broadcom BCM2835/6/7 SoCs is developed in Rust, which is subsequently submitted to a series of tests so as to compare its results to the results of the corresponding C driver of the Linux kernel. The aim is to evaluate the trade-off between any contingent performance loss and the memory safety that Rust offers, i.e. whether Rust creates any condition that could prevent its usage in the kernel. It’s concluded that the implemented driver is as performant as its C counterpart. Therefore, due to the offered memory safety, Rust can be considered a tenable choice for writing future drivers and miscellaneous kernel modules. 2022-11-02T09:32:52Z 2022-11-02T09:32:52Z 2022-11-02 https://hdl.handle.net/10889/23617 el Attribution-NonCommercial-ShareAlike 3.0 United States http://creativecommons.org/licenses/by-nc-sa/3.0/us/ application/pdf |
institution |
UPatras |
collection |
Nemertes |
language |
Greek |
topic |
Λειτουργικά συστήματα Operating systems Linux Driver Rust |
spellingShingle |
Λειτουργικά συστήματα Operating systems Linux Driver Rust Μαραγκός, Νικόλαος Υλοποίηση και αξιολόγηση ενός Linux device driver γραμμένου σε Rust |
description |
Στην παρούσα διπλωματική αξιολογούνται οι δυνατότητες της Rust στην ανάπτυξη Linux kernel modules. Η Rust επελέγη λόγω του υψηλού επιπέδου ασφάλειας μνήμης που προσφέρει.
Για την αξιολόγηση δημιουργείται σε Rust ένας Linux driver για τη HW γεννήτρια τυχαίων αριθμών των SoC Broadcom BCM2835/6/7 ο οποίος στη συνέχεια υποβάλλεται σε μία σειρά ελέγχων ώστε να συγκριθούν τα αποτελέσματά του με αυτά του αντίστοιχου C driver του Linux kernel.
Στόχος είναι να αξιολογηθεί το κέρδος σε memory safety που παρέχει η Rust ως αντιστάθμισμα για την όποια υστέρηση φέρει ενδεχομένως σε αποδοτικότητα, εάν δηλαδή η Rust δημιουργεί κάποια συνθήκη ικανή να αποτρέψει τη χρήση της.
Συμπεραίνεται πως ο driver της εργασίας είναι εξίσου αποδοτικός με τον C driver. Ως εκ τούτου λόγω του memory safety, η Rust μπορεί να θεωρηθεί απολύτως εύλογη επιλογή για την συγγραφή μελλοντικών drivers και λοιπών kernel modules. |
author2 |
Maragkos, Nikolaos |
author_facet |
Maragkos, Nikolaos Μαραγκός, Νικόλαος |
author |
Μαραγκός, Νικόλαος |
author_sort |
Μαραγκός, Νικόλαος |
title |
Υλοποίηση και αξιολόγηση ενός Linux device driver γραμμένου σε Rust |
title_short |
Υλοποίηση και αξιολόγηση ενός Linux device driver γραμμένου σε Rust |
title_full |
Υλοποίηση και αξιολόγηση ενός Linux device driver γραμμένου σε Rust |
title_fullStr |
Υλοποίηση και αξιολόγηση ενός Linux device driver γραμμένου σε Rust |
title_full_unstemmed |
Υλοποίηση και αξιολόγηση ενός Linux device driver γραμμένου σε Rust |
title_sort |
υλοποίηση και αξιολόγηση ενός linux device driver γραμμένου σε rust |
publishDate |
2022 |
url |
https://hdl.handle.net/10889/23617 |
work_keys_str_mv |
AT marankosnikolaos ylopoiēsēkaiaxiologēsēenoslinuxdevicedrivergrammenouserust AT marankosnikolaos implementationandevaluationofalinuxdevicedriverwritteninrust |
_version_ |
1771297196685131776 |