ABSTRACT
In this paper, we study device driver architectures on two different operating systems, Fuchsia and Linux. Fuchsia is a relatively new operating system developed by Google and it is based on a microkernel named Zircon, while Linux-based operating system is based on a monolithic kernel. This paper examines technical details of device driver on Fuchsia and Linux operating systems with the focus on different kernel designs. We also quantitatively evaluate the performance of device drivers on both operating systems by measuring I/O throughput in a real device.
- JEDEC Solid State Technology Association. [n. d.]. Embedded Multi-Media Card (eMMC) Electrical Standard (5.1). https://www.jedec.org/standards-documents/docs/jesd84-b51Google Scholar
- Haogang Chen, Yandong Mao, Xi Wang, Dong Zhou, Nickolai Zeldovich, and M Frans Kaashoek. 2011. Linux kernel vulnerabilities: State-of-the-art defenses and open problems. In Proceedings of the Second Asia-Pacific Workshop on Systems. 1--5.Google ScholarDigital Library
- Andy Chou, Bryan Fulton, and Seth Hallem. [n. d.]. Linux Kernel Security Report. Technical Report.Google Scholar
- Vinod Ganapathy, Matthew J Renzelmann, Arini Balakrishnan, Michael M Swift, and Somesh Jha. 2008. The design and implementation of microdrivers. ACM Sigplan Notices 43, 3 (2008), 168--178.Google ScholarDigital Library
- Austin Group. [n. d.]. POSIX standard: dd invocation. https://pubs.opengroup.org/onlinepubs/9699919799/utilities/dd.htmlGoogle Scholar
- Yongzhe Huang, Vikram Narayanan, David Detweiler, Kaiming Huang, Gang Tan, Trent Jaeger, and Anton Burtsev. 2022. {KSplit}: Automating Device Driver Isolation. In 16th USENIX Symposium on Operating Systems Design and Implementation (OSDI 22). 613--631.Google Scholar
- VIM3 Khadas. [n. d.]. https://www.khadas.com/vim3Google Scholar
- Loadable Kernel Modules. [n. d.]. https://source.android.com/docs/core/architecture/kernel/loadable-kernel-modulesGoogle Scholar
- Matthew J Renzelmann and Michael M Swift. 2009. Decaf: Moving Device Drivers to a Modern Language.. In USENIX Annual Technical Conference.Google Scholar
- Fuchsia Git Repository. [n. d.]. https://fuchsia-review.googlesource.com/c/fuchsia/+/667475Google Scholar
- Zircon Kernel Git Repository. [n. d.]. https://fuchsia.googlesource.com/fuchsia/+/HEAD/zirconGoogle Scholar
- Leonid Ryzhyk, Peter Chubb, Ihor Kuz, and Gernot Heiser. 2009. Dingo: Taming device drivers. In Proceedings of the 4th ACM European conference on Computer systems. 275--288.Google ScholarDigital Library
- Michael M Swift, Muthukaruppan Annamalai, Brian N Bershad, and Henry M Levy. 2006. Recovering device drivers. ACM Transactions on Computer Systems (TOCS) 24, 4 (2006), 333--360.Google ScholarDigital Library
- Michael M Swift, Brian N Bershad, and Henry M Levy. 2003. Improving the reliability of commodity operating systems. In Proceedings of the nineteenth ACM symposium on Operating systems principles. 207--222.Google ScholarDigital Library
- Block Device Testing. [n. d.]. https://fuchsia.dev/fuchsia-src/development/testing/block_device_testingGoogle Scholar
Index Terms
- Comparative Study on Fuchsia and Linux Device Driver Architecture
Recommendations
Insights into Transforming a Linux Wireless Device Driver to Run on a Bare Machine
ENASE 2015: Proceedings of the 10th International Conference on Evaluation of Novel Approaches to Software EngineeringDeveloping device drivers is often tedious and error-prone. Drivers for bare machine applications that run without an OS have been previously written by directly using specification documents. Transformation is an alternate approach that attempts to ...
Safe device driver model based on kernel-mode JVM
VTDC '07: Proceedings of the 2nd international workshop on Virtualization technology in distributed computingResearches have shown that device drivers account for most of the OS kernel crashes. In this paper we proposed a safe device driver model for the Linux OS, aiming at gaining an improvement on its reliability. Within this model, we are able to write ...
A tool for converting Linux device drivers into Solaris compatible binaries
Research ArticlesThe Linux operating system is quickly becoming a standard, attracting a wide user community and supporting a broad variety of applications and devices. Other vendors, such as Sun, have provided Linux-compatible system call interfaces to their kernels, ...
Comments