CommunityNews
Fuzix: A Unix-ish operating system for small machines by Alan Cox
FUZIX
FUZIX is a fusion of various elements from the assorted UZI forks and
branches beaten together into some kind of semi-coherent platform and then
extended from V7 to somewhere in the SYS3 to SYS5.x world with bits of POSIX
thrown in for good measure. Various learnings and tricks from ELKS and from
OMU also got blended inPre-built images
Some pre-built filesystems are now available on www.fuzix.org, and other
images should follow in time.What does FUZIX have over UZI
- Support for multiple processes in banked memory (as per UZI180) but
with Minix style chmem and efficient use of bank allocations.- Support for multiple processes via hard disk or non mappable RAM
drive switching (as per UZI, UZIX).- Support for “real” swapping combined with banked memory.
- Proper sane off_t and lseek
- Normal dev_t
- 30 character filenames
- Proper sane time_t
- System 5 signals
- Posix termios (does all the original UZI tty did but much can be added)
- Blocking on carrier for terminals
- Optimisations to avoid bogus uarea copying compared to UZI180
- More modern system call API: 3 argument open, mkdir, rmdir, rename,
chroot (with correct … semantics), fchdir, fchmod, fchown, fstat,
fcntl, setpgrp, sighold and friends, waitpid, setpgrp, nice
O_NDELAY, O_CLOEXEC, F_SETFL, F_DUPFD etc- Address validation checks on all syscall copies
- Builds with a modern ANSI C compiler (SDCC)
- Kernel boots to userspace on 6303, 6502, 65C816, 68000, 6803, 6809, 8080, 8085, MSP430 (bitrotted) and Z80/Z180
- Core code can be built for 6303, 6502, 65C816, 68000, 6803, 6809, 8080, 8085, 8086, MSP430, pdp11, rabbit r2k/r3k and Z80/Z180 so should be far more portable
- Core architecture designed to support building and maintaining
multiple target machines without forking each one- Helpers to make many bits of implementation wrappers to core code
- Lots more bugs right now
What does UZI have over FUZIX
- Can run in 64K of RAM (32K kernel/32K user). FUZIX would need
banked ROM or similar to pull this off. If you have banked
ROM then our kernel footprint in RAM is about 8K plus userspace
plus any framebuffers and similar overhead. On a 6809 it’s just
about possible to run in a straight 64KWhat do the UZI branches have that FUZIX has not yet integrated
- Symbolic links (UZIX)
- Various clever fusions of syscalls that may save a few bytes
(UZIX)- setprio (UZIX)
- Rather crude loadable drivers (UZIX)
- Use of __naked and __asm for Z80 specific bits to avoid more
.S files than are needed (UMZIX)Plus OMU has a really clever function passing trick for open/creat and
friends, while UMZIX has a neat unified “make anything” function.What Key Features Are Missing Still
- ptrace, most of ulimit
- root reserved disk blocks
- banked executables
- TCP/IP (in progress)
- select/poll() (in progress)
- Support for > 32MB filesystems (but first figure out how to fsck
a giant fs on a slow 8bit micro!)- Smarter scheduler
- Optimisations for disk block/inode allocator (2.11BSD)
Tool Issues
- 6809 gcc and cc65 don’t have long long 64bit (for sane time_t)
- SDCC can generate ROMmable binaries but not banked ones (hack fixes done)
- None of the above have an O88 style common sequence compressor
- CC65 can’t handle larger objects on stack, and lacks float support
- We need a ‘proper’ 65C816 C compiler
- ACK 8080 lacks floating point support
This thread was posted by one of our members via one of our automated news source trackers.
Popular General Dev topics
skiftOS is a simple, handmade operating system for the x86 platform, aiming for clean and pretty APIs while keeping the spirit of UNIX.
s...
New
It has some interesting features:
It’s entirely wireless (the left half speaks Bluetooth to the right half, and the right half speaks B...
New
Flipper Zero is a portable multi-tool for pentesters and geeks in a toy-like body. It loves hacking digital stuff, such as radio protocol...
New
GitHub - livekit/livekit: Scalable, high-performance WebRTC SFU. SDKs in JavaScript, React, React Native, Flutter, Swift, Kotlin, Unity/C...
New
LG 28-inch 16:18 DualUp Monitor with Ergo Stand and USB Type-C™ (28MQ780-B) | LG USA.
Shop LG 28MQ780-B on the official LG.com website ...
New
…or, “why make programming even harder?”
Learning functional programming is an opportunity to discover a new way to represent programs, t...
New
Whatever happened to Elm, anyway?.
I see this question pop up quite frequently in lots of different arenas - folks are curious as to wha...
New
There are countless articles why developers should not focus on Frameworks too much and instead learn to understand the underlying langua...
New
Rendering Action Mailer emails with Phlex components and layouts: Clean, Composable, and Completely Ruby - Blog post by Camillo Visini
New
Ah, the eternal question, straight from the mailbag.
New
Other popular topics
Andy and Dave wrote this influential, classic book to help their clients create better software and rediscover the joy of coding. Almost ...
New
Just done a fresh install of macOS Big Sur and on installing Erlang I am getting:
asdf install erlang 23.1.2
Configure failed.
checking ...
New
In case anyone else is wondering why Ruby 3 doesn’t show when you do asdf list-all ruby :man_facepalming: do this first:
asdf plugin-upd...
New
The V Programming Language
Simple language for building maintainable programs
V is already mentioned couple of times in the forum, but I...
New
Hi folks,
I don’t know if I saw this here but, here’s a new programming language, called Roc
Reminds me a bit of Elm and thus Haskell. ...
New
This is going to be a long an frequently posted thread.
While talking to a friend of mine who has taken data structure and algorithm cou...
New
Author Spotlight
Mike Riley
@mriley
This month, we turn the spotlight on Mike Riley, author of Portable Python Projects. Mike’s book ...
New
Big O Notation can make your code faster by orders of magnitude. Get the hands-on info you need to master data structures and algorithms ...
New
Lint your docs like code: turn any style guide into enforceable rules with Vale and publish clear, consistent content every time.
...
New
There’s a GitHub repo at forrestchang/andrej-karpathy-skills that’s sitting at 97.8k stars. It’s a single CLAUDE.md file with four behavi...
New
Categories:
Sub Categories:
- All
- In The News
- Dev Chat (207)
- Questions (36)
- Resources (122)
- Blogs/Talks (28)
- Jobs (3)
- Events (15)
- Code Editors (59)
- Hardware (60)
- Reviews (5)
- Sales (16)
- Design & UX (5)
- Marketing & SEO (2)
- Industry & Culture (14)
- Ethics & Privacy (19)
- Business (4)
- Learning Methods (7)
- Content Creators (7)
- DevOps & Hosting (12)
Popular Portals
- /elixir
- /rust
- /wasm
- /ruby
- /erlang
- /phoenix
- /keyboards
- /python
- /js
- /rails
- /security
- /go
- /swift
- /vim
- /java
- /clojure
- /emacs
- /haskell
- /typescript
- /svelte
- /onivim
- /kotlin
- /c-plus-plus
- /crystal
- /tailwind
- /react
- /gleam
- /ocaml
- /elm
- /vscode
- /flutter
- /html
- /ash
- /deepseek
- /zig
- /opensuse
- /centos
- /php
- /scala
- /react-native
- /lisp
- /sublime-text
- /textmate
- /nixos
- /debian
- /agda
- /deno
- /django
- /kubuntu
- /arch-linux
- /nodejs
- /spring
- /ubuntu
- /revery
- /manjaro
- /lua
- /julia
- /diversity
- /quarkus
- /markdown









