FreeBSD and the Research Community
FreeBSD has a rich history in the academic community. It was derived from the 4.4-Lite version of the Berkeley Software Distribution developed by the Computer Systems Research Group at the University of California at Berkeley between the mid 1970s and 1990s. Over the last 30 years, the FreeBSD operating system has continued to provide those in academia a stable base on which to undertake research, and a path to industrial adoption via widely used products that are based on, or incorporate, FreeBSD.
What Makes FreeBSD Excel as a Research Platform?
Good Tooling and Modern Compilers
The Project places an emphasis on good tooling such as DTrace support and modern compilers such as using LLVM as the default compiler for the full OS and kernel, and the LLDB debugger.
Consistent Development and Release Processes
By following consistent development and release processes, researchers can be assured they can rely on their system to work as expected in between minor releases, reducing the number of variables as experiments are updated.
Friendly Open-Source License
The structure of the BSD license allows researchers to incorporate parts of the operating system into their own work, and then integrate that work both into continuing research or directly into products for industry without fear of being forced to give their work away.
Strong Commitment to Measurement
The FreeBSD Project’s strong emphasis on measurement began with the original CSRG team, and remains current into the latest releases of the system.
Wide Variety of Architectures Supported
FreeBSD supports the following:
- 32 and 64 bit variants of ARM, x86, MIPS and PowerPC
- 64 bit RISC-V and Sparc64
- Cloud platforms such as EC2 and Azure
- VM images
- Community: friendly and professional, many active committers/users for 10+ and 20+ yrs
- Mentoring: built into the Project’s culture and processes
- Documentation: FreeBSD Handbook, FAQ, Developers’ Handbook, Porters’ Handbook, Documentation Project Primer, man pages
- Support: The associated, non-profit FreeBSD Foundation provides legal and monetary support for the Project and its contributors
Access to a Multitude of Products Already Using FreeBSD
FreeBSD is widely used in commercial products, with a clear technology-transition path through upstreaming. Products such as Apple iOS, Sony Playstation3, Netapp OnTap, and EMC Isilon also take advantage of FreeBSD’s superior technology platform, thereby allowing researchers to have a direct impact on already existing products.
Current and Completed Research
Current efforts on FreeBSD extend the system in several areas, including file systems, networking and security, including the following:
DIFFUSE – Lawrence Stewart, Grenville Armitage, Swinburne University of Technology
CAIA has developed a number of systems which utilize machine learning(ML) techniques to classify network traffic based on flow statistics.
Nigel Williams, Grenville Armitage Swinburne University of Technology
Multipath TCP for FreeBSD
Maffione, V., Rizzo, L., Lettieri, G. “Flexible Virtual Networking Using Netmap Passthrough.” IEEE Lanman 2016.
Honda, M., Huici, F., Lettieri, G., and Rizzo, L. “mSwitch: A Highly-Scalable, Modular Software Switch”; SOSR 15, ACM Press (2015)
Spinellis, D., Louridas, P., Kechagia, M. “The Evolution of C Programming Practices: A Study of the Unix Operating System 1973–2015”; 2016 IEEE/ACM 38th IEEE International Conference on Software Engineering
Watson, Robert N. M.; Anderson, Jonathan; Laurie, Ben; and Kennaway, Kris. “Capsicum: Practical Capabilities for UNIX”; USENIX Security ’10: Proceedings of the 19th USENIX Conference on Security. USENIX Association. (August 2010)
Criswell, John; Dautenhahn, Nathan; and Adve, Vikram. “Virtual Ghost”; ASPLOS 2014. ACM Press. (2014)
Rizzo, Luigi. “Netmap: A Novel Framework for Fast Packet i/o”; 2012 USENIX Annual Technical Conference. USENIX Association. (2012)
McKusick, M. K.; Joy, W. N.; and Leffler, S. J. “A Fast File System for UNIX”; ACM Transactions on Computing Systems. (1984)
Still Not Convinced?
Don’t forget FreeBSD is
An open source community that eagerly adapts, adopts, and helps promote research approaches and technologies, while providing the opportunity to network with others who share your interest in a technology, and gain real-world experience.
While the platform is all about the technology, the sub-text is all about community.
The great technical platform coupled with wide spread commercial use, and a welcoming community, make FreeBSD an excellent choice for your research project. Join us!