Use cases of FreeBSD in research, engineering and teaching
Department of Computer Science and Technology, University of Cambridge and SRI International
When starting the CHERI project in 2010, University of Cambridge and SRI International decided to choose FreeBSD to develop CheriBSD due to its tightly integrated OS design, clean support for multiple ABIs, integration of the Capsicum security model, plans to integrate LLVM as the default toolchain, and the permissive BSD license.
CheriBSD has been a successful project in prototyping new security primitives on multiple CHERI-extended architectures, developing ABIs to support different run-time environments and delivering an end product to research and engineering institutions. FreeBSD’s clean, well engineered and extensive software baseline has been key to accomplishing such research objectives.
Since 2015, the Computer Lab has taught the Advanced Operating Systems course (L41) to undergraduate and graduate students. In the course, students explore the FreeBSD kernel design and implementation using DTrace and hardware performance counters on Raspberry Pi 4 (initially BeagleBone Black) boards. Tracing and hardware performance monitoring features in FreeBSD allow to deeply introspect the kernel and help students understand workload behaviours that occur in real-world scenarios.
As a result of the course, many students decided to pursue their research or engineering careers in the operating systems area either at the University of Cambridge or in industry at companies including Google, Microsoft, and others.
Engineering
Teaching
https://cheri-cpu.org/
Research
We collaborate closely with the FreeBSD Project that has been welcome to accept our changes to the FreeBSD source code. We have contributed back improvements to MIPS and Armv8-A support, a port of FreeBSD to RISC-V, device drivers to better support Xilinx and Intel FPGA boards used to implement prototype CPUs, cross-build support for the base system, third-party software ports and packages.
As of today, CheriBSD is a fully functioning memory-safe operating system with DRM and GPU support, used by dozens of companies, academic and government institutions. We provide ~9,000 memory-safe third-party C/C++ software packages that users can install using a package manager. The packages are built using FreeBSD ports, a collection of ~32,000 third-party software adaptations to FreeBSD.
Figure 1. High-performance Arm Morello chip able to run a full CHERI software stack, Arm, 2022
Figure 3. 50x Raspberry Pi 4 boards running FreeBSD for students participating in L41, Cambridge, 2021
Read more on CHERI and our work at:
Figure 2. Memory-safe Morello desktop environment (CheriBSD, KDE Plasma, Wayland), Cambridge, 2023
https://cheribsd.org/
FreeBSD is a UNIX-like operating system that was founded in 1993 and has been one of the longest continuously-developed open source projects. Attracted by its mature and clean design and implementation, it has been used as a base OS for prototypes developed at research labs, products built by companies, such as NetApp, Netflix, Sony and Juniper Networks, as well as teaching materials at universities.