La tesi affronta una discussione tecnica sull'analisi comparativa tra i linguaggi di programmazione C e Rust nel contesto dello sviluppo di driver per sistemi operativi. Attraverso l'implementazione di un programma generatore di pacchetti Ethernet IP e ICMP a basso livello, la tesi si concentra sull'analisi dell'uso della memoria e confronta le prestazioni dei due linguaggi. I risultati indicano che il linguaggio C, privo di alcuni costrutti di controllo presenti in Rust, presenta un vantaggio significativo in termini di istruzioni macchina e tempi di esecuzione, evidenziando il trade-off tra efficienza e sicurezza nella programmazione di basso livello. La discussione sottolinea la rilevanza di considerazioni pratiche nella scelta del linguaggio per lo sviluppo di driver di sistema operativo.

Programmazione di driver di rete: Rust vs. Linguaggio C

LEONI, TOMMASO
2022/2023

Abstract

La tesi affronta una discussione tecnica sull'analisi comparativa tra i linguaggi di programmazione C e Rust nel contesto dello sviluppo di driver per sistemi operativi. Attraverso l'implementazione di un programma generatore di pacchetti Ethernet IP e ICMP a basso livello, la tesi si concentra sull'analisi dell'uso della memoria e confronta le prestazioni dei due linguaggi. I risultati indicano che il linguaggio C, privo di alcuni costrutti di controllo presenti in Rust, presenta un vantaggio significativo in termini di istruzioni macchina e tempi di esecuzione, evidenziando il trade-off tra efficienza e sicurezza nella programmazione di basso livello. La discussione sottolinea la rilevanza di considerazioni pratiche nella scelta del linguaggio per lo sviluppo di driver di sistema operativo.
2022
Programming network drivers: Rust vs. C language
Programmazione
Performance
Rete
File in questo prodotto:
File Dimensione Formato  
Leoni_Tommaso.pdf

accesso aperto

Dimensione 738.58 kB
Formato Adobe PDF
738.58 kB Adobe PDF Visualizza/Apri

The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12608/57088