crc

joined 11 months ago
[โ€“] [email protected] 4 points 11 months ago

I started using FreeBSD in 2002, so it'd have been 4.6 or 4.7. I maintained using FreeBSD on my personal system until switching to macOS in 2009 (Snow Leopard). In between these, I used NetBSD on a couple of older systems and tried DragonFly. Over this time, I used various Linux distributions for my servers.

I switched to using OpenBSD on my personal systems in 2018 and FreeBSD on my servers in 2019. I've been extremely happy with this pairing.

I do most of my programming (in a variety of languages, though mostly C & Forth) under OpenBSD, then do test builds under FreeBSD, NetBSD, and DragonFly. (FreeBSD's support for running Linux binaries is helpful in testing.) FreeBSD's reliability & ZFS make it great for hosting my projects and various private resources.

 

DiscoBSD is a 2.11BSD-based UNIX-like operating system for microcontrollers, with a focus on high portability to memory constrained devices without a memory management unit.

This microcontroller-focused operating system is the continuation of RetroBSD, a 2.11BSD-based OS targeting only the MIPS-based PIC32MX7. DiscoBSD is multi-platform, as it also supports Arm Cortex-M4 STM32F4 devices.

 

LiteBSD is variant of 4.4BSD operating system for microcontrollers. Currently, only Microchip PIC32MZ family is supported.

PIC32MZ is a MIPS32 processor with MMU with paging support, and 512kbytes of on-chip RAM. These resources are enough to run 4.4BSD.


This is similar to RetroBSD, which is derived from 2.11BSD.

 

RetroBSD is a port of 2.11BSD Unix intended for embedded systems with fixed memory mapping. The current target is Microchip PIC32 microcontroller with 128 kbytes of RAM and 512 kbytes of Flash. PIC32 processor has MIPS M4K architecture, executable data memory and flexible RAM partitioning between user and kernel modes.

Main features:

  • Small resource requirements. RetroBSD requires only 128 kbytes of RAM to be up and running user applications.
  • Memory protection. Kernel memory is fully protected from user application using hardware mechanisms.
  • Open functionality. Usually, user application is fixed in Flash memory - but in case of RetroBSD, any number of applications could be placed into SD card, and run as required.
  • Real multitasking. Standard POSIX API is implemented (fork, exec, wait4 etc).
  • Development system on-board. It is possible to have C compiler in the system, and to recompile the user application (or the whole operating system) when needed.