Last active
October 26, 2017 22:24
-
-
Save devnexen/f3eb1d06bcd62ecf7801ed69f4af09e7 to your computer and use it in GitHub Desktop.
What is OpenBSD ?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| OpenBSD is originally a fork of NetBSD from 1995. | |
| Theo de Raadt who is the founder, was before a NetBSD developer until he eventually resigned due to strong disagreements with the rest of the Core Team. | |
| 1/ What makes OpenBSD different from other main *BSD ? | |
| - OpenBSD focuses more on security, striving through the releases to defeat most of incoming attacks and security threats, | |
| rather than pure performances and portability. | |
| - "Softwares will never be perfect" is the main motto from Theo himself, hence it is always an ongoing work. Most of security features are enabled by default, some cannot be possibly disabled (e.g. ASLR). | |
| - Similarly, apart of security, new features are rather applied in the longer term. | |
| - A release every 6 month, a release officially supported for 1 year (security fixes/errata backported). | |
| - Releases versions for everyone, or -current branch or snapshots for people who wants to test early enough new features/drivers/whatever or for OpenBSD contributors, bearing in mind that snapshots can be broken time to time. | |
| 2/ What OpenBSD does not have (yet) / OpenBSD drawbacks ? | |
| - No modern filesystem available. | |
| - Performances are generally behind FreeBSD, apart of the Network Stack, filesystem (eventhough with softdeps things improve), multi core (because the Giant Lock). | |
| - At large much less softwares than FreeBSD available in ports (about 27598 vs 9737) eventhough most of popular ones are present, multimedia included. | |
| 3/ 6.2 release | |
| - Network stack performance significant improvements due to kernel lock removal. | |
| - In similar manner the memory management performs better under Multi Thread Context. | |
| - Support of Intel Skylake, Kabylake chipsets. | |
| - Introduction of KARL, Kernel Address Randomized Link which randomizes order of object files of the kernel so each kernel is "unique". | |
| - Migration from gcc to clang (4.0) in arch64. | |
| - Significant amount of improvements for vmm, kind of "bhyve" counterpart (more infos here https://www.openbsd.org/papers/asiabsdcon2017-vmm-slides.pdf). | |
| - More details in https://www.openbsd.org/62.html | |
| 4/ Which features will be introduced in the future ? | |
| - Dtrace support (CTF format from Solaris support has been implemented already, ctf* tools as well and support from ddb). | |
| - Getting rid of the Giant Lock more widely (only the Network stack is free from it). | |
| - clang >= 5.0 with lldb. | |
| - pledge will be separated into two functions pledge which will retain the first argument and pledgepath for folder/file "trust" matter. | |
| 5/ What would happen eventually ? | |
| - At some point there will be a need for a modern filesystem, discussions about it pop up regularly, might be not ZFS but possibly Hammer2 when really ready could be ported. | |
| - Giant Lock removal in the long run ? stars to be an issue for multicore programming. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment