Visopsys: OS maintained by a single developer since 1997
(visopsys.org)472 points by kome a day ago
472 points by kome a day ago
I can't tell if OP just really enjoyed the experience or if he is the actual author of the OS.
> liked the project and the name that I chose it for my hackernews account 14 years ago
Some people name themselves `__xXx_ultimatEWeapon420_xXx__` and some people name themselves after a random toy operating system.
Surprisingly only one small previous thread:
Visopsys - https://news.ycombinator.com/item?id=18147201 - Oct 2018 (6 comments)
This is very very cool, and unlike a lot of other "hobby" OSes actually looks usable as a daily driver if your needs are basic (kids, elderly, older/cheaper hardware, etc).
While for nerds computers have become these monstrously powerful things that can do everything under the sun, there's definitely still plenty of people who just want a computer to write down notes, keep a calendar, use the calculator... eg the things home computers were originally made to do.
What youre describing is called iOS on a large iPad. Everyone from 4 year olds to my 77 year old computer illiterate Dad can figure it out.
This doesn't look very usable at all by someone who isn't basically a computer nerd.
True in theory, but in practice due to our economy being based on growth at all costs, iOS doesn’t really fit the bill anymore.
Nowadays even iOS will randomly change its UI and send you “notifications” or “suggestions” (modern euphemism for “ads”) to subscribe to Apple TV* or iCloud.
I was forced to buy a new iPhone recently (my 16 was stolen), and had iOS 26 foisted on me.
My god, is it bad (for me, I'm sure some like it). The ugly glass UX, the weird floating controls, the always on display, blah blah. It's not innovative at all, it's like they just had to redo everything simply to make it seem "new".
> Nowadays even iOS will randomly change its UI
You and I have very different ideas of “random” I think.
iOS is tremendously more complex than it used to be. Still relatively easy to use but it has definitely lost the simplicity edge.
> What youre describing is called iOS on a large iPad.
iPad was my gateway drug into Apple when I got it as a gift for my aunt and saw how easy and intuitive it was to use, and also to develop for.
Then after Jobs' whip fell from his cold hands they went into the realm of "mystery meat" menus and arcane gestures where swiping from seemingly every different angle of the screen edge does something different. Swipe from the top-right corner to get the Control Center, but swipe from the center-top to see the Notifications?? Yeah not gonna bother training an elder on that. I can't dare get my mom a modern iPhone now where she has to swipe up to unlock: it has be an iPhone SE, the last iPhones with a Home button.
I am the filthiest of nerds but I still can't get myself to remember how the heck iPad multitasking works. Apparently they can't either, they changed it again in 26 and now I can't easily get Notes etc. by swiping in from the side when watching a video etc. and I haven't bothered to look up how to do that now.
In any case all this only shows that attempting a one-size-fits-all UI can't really go all the way. iPhones/iPad have had a respectable run, they were lucky to have an OS Usability tyrant in charge, but maybe it's time to accept that UIs need an option for Simple vs Expert or something.
> the realm of "mystery meat" menus and arcane gestures where swiping from seemingly every different angle of the screen edge does something different. Swipe from the top-right corner to get the Control Center, but swipe from the center-top to see the Notifications?
Ha, I'm a heavy long term iOS and MacOS user, and I still haven't learned what all the swipes and clicks in random places actually do exactly.
I just I know sometimes click by accident at the very bottom right of my display on MacOS and it swishes all the windows to the right (why? I have no idea?!), clicking again brings them back luckily.
On iOS I resonate with your comments about the swiping from different places to get different things. The only gesture I can ever remember is swiping from top right to get the quick system menu to turn wifi on/off etc. I can never figure out how to clear my notifications or why they're sometimes displayed and sometimes aren't. And the other swipes and menus are completely beyond me.
I'm a 40 year old life long software developer.
"iOS on a large iPad" has some good affordances but is definitely NOT some kind of panacea for elderly or computer illiterate users!
> swishing right
It could be
1. you clicked the desktop which causes the desktop to be revealed. Clicking the desktop again restores things.
2. You have hot corners configured to reveal the desktop.
3. Stage manager.
Just my guesses. Maybe they will help.
I agree with you. I see this as a passion project, and I think it's really cool.
I couldn't tell you how many operating systems fit those requirements, hobby or not.
I would love to see that happen, but its not going to.
It is the people with basic needs who need to stick to the mainstream stuff because they can get support and it does what they expect. People need bank and other complex websites to work. They want to watch online video. Kids will need educational apps.
Also do not make assumptions about elderly people. Not long ago I met a woman (guess in her 70s?) who used to write embedded software for nuclear reactors. I have known many people or similar or greater age who need quite complex stuff.
Its the geeks who can manage with the non-mainstream stuff.
> and unlike a lot of other "hobby" OSes actually looks usable as a daily driver if your needs are basic (kids, elderly, older/cheaper hardware, etc).
While building a non-Linux OS is very impressive, however this is not useful as a daily driver at all.
If the OS doesn't even have basic browsers such as Chrome or Firefox, it can't be remotely used as a daily driver to anyone who isn't a computer enthusiast.
I wonder if Visopsys, Windows 3.11 and others could work as a daily driver running in qemu, started from a Linux initrd that has just a browser and qemu. "Opening" the browser in Visopsys actually switches to the browser running on the host, and Alt-Tab switches back to Visopsys.
Interesting. Never heard of this system before. It's apparently a monolithic kernel, developed almost exclusively by originally Canadian programmer Andy McLaughlin since 1997. The system has a graphical user interface, preemptive multitasking, and virtual memory. It is implemented in C and IA-32 assembly language. Here is a 2012 interview with the author: https://www.pingdom.com/blog/visopsys-operating-system/.
Ahh this OS is small enough that a university professor used it as the basis for his class assignments: write a device driver for it, or a pipe implementation, if I recall correctly. I thought it was pretty genius at the time, and it was certainly quite a challenge for the students too.
it took me a while to find. here is the source code: https://sourceforge.net/projects/visopsys/files/visopsys-0.9...
Thanks for digging it out. It is still quite large code base. 274052 lines.
Michael MJD did a video on this recently :)
Amazing! I find it extremely fascinating that somebody is able to create entire operating system. Not a easy task!
It would also depend upon what you are trying to accomplish. You have simple filesystems and complex filesystems. You have simple video drivers, and you have complex video drivers. Simplicity gets the job done, but complexity may offer better reliability or performance or features.
Then there is the question of what one means by an operating system. While I'm sure that most people would agree that much of the software shipped with Windows, Mac OS, or the typical Linux distribution isn't part of an operating system proper, few would agree upon where the boundary lies.
as others have pointed out "just" is doin big overtime here. but also x86_64 saps the fun out by forcing you into archaic irrelevant details IMMEDIATELY. but really, it's a good filter
making toy os for a nice small board on a nice architecture like riscv is night and day more enjoyable. not that modern boards that have more device tree overlays than senses are a good starting point either.
a more modern mmix that builds further up, or nand2tetris, xv6 or any other riscv project going all the way to a user mode ui would be really cool
> just lots of detail.
"Just" is understating it.
It's the kind of project that takes 20 years to accomplish on your own, and everything seems doable from moment to moment because you have to work very slowly, and the stepwise changes aren't hard.
Just get the thing to boot. Just boot into extended mode. Just get graphics running. Just get a userspace. Just implement cooperative multitasking. Every step is "just", but when you take a step back the complexity is enormous, and it becomes hard to explain to anyone how it works in its entirety.
Although it seems easy to the author because that's just how his brain works now -- by then end of it, you and the OS are one and the same, where your brain is essentially a map of the codebase and nothing more, because nothing else can fit.
take a look at AtheOS it's successor SyllableOS. created by a single developer, another single developer took it over (syllable) and it shortly became an open source project before it went defunct again. But it made impressive gains in the 3 years of initial development.
i miss those days of everyone and their mom creating an OS for giggles
SkyOS ? I actually paid to be on the Beta program and then suddenly out of the blue the developer pulled the plug on the project completely. Not sure what happened but there were rumours that the code may have "borrowed" from other operating systems but I am not sure.
In all probability, yes. I'm not sure how much easier it would be to develop though. Back then, most (if not all) of the operating system was developed in assembly language while there was far more to consider when it came down to performance and memory usage (which is often in conflict with each other). CP/M was also notorious for running on hardware that was incompatible with each other, relying upon the BIOS to smooth out those irregularities. While that may simplify the development in some respects, such as the hardware vendor developing hardware drivers, it complicates development in other respects, since CP/M development could not make assumptions about the underlying hardware.
Ever heard of TempleOS?
It’s the only OS endorsed by God.
I always found semantic versioning a little too verbose. Particularly when deciding when to release major versions. OSX was on version 10 for many years but of course released a new "major" version every year.
Semantic versioning is just something everyone does in software development, but is is really that necessary?
Semantic versioning is for APIs, not for functionality. So it's for developers consuming that API (whether a library, or a service).
For releases in production, use a calendar version. v2025-11-02 is a clear release tag. Add preciseness as required. There should be a SBOM/Manifest (Bill Of Materials) of the versioned major components and configuration for that overall release.
For users, it depends on the type of user and what they expect. Their focus is on functionality. So when there's a new feature, bump the number.
It's a bit like the car model. It can be random extension letters like "-X", or "6Si".
Versioning is a tool to communicate changes and backwards compatibility to the users. SemVer makes sense in a lot of cases, but it neither covers everything (eg. compare with Debian/Ubuntu packaging versions), nor is it always needed (think of REST API versions which usually only go with major versions, and commonly multiple major versions from the same codebase).
Speaking of these, does anyone recall the AtheneOS distribution/OS. There’s an archive.org copy of the desktop environment version of it, but I recall there was a really fast version with only 2D graphics and it was a full distribution.
Can anyone validate whether this is real? I tried contacting the guy who wrote it but the Companies House address for his company (Rocklyte) bounced the letter.
Huh, SyllableOS might well be it. I thought for sure it was a different version of Athene that I was running but now looking at the screenshots they have a weird familiarity to them so maybe it was just around the same time that I tried both and the memory of two decades has blurred. Thank you!
It mentions preemptive multitasking as one of its features. Are there any operating systems that still use cooperative multitasking?
> Are there any operating systems that still use cooperative multitasking?
RISC OS uses cooperative multitasking: http://www.riscos.info/index.php/Preemptive_multitasking
There is Wirth and Gutknecht's Oberon System. It's still available but is older than Visopsys -- it was created around 1990, then updated in 2013. I think it's now considered an historical artifact.
I think it's worth mentioning on a hobby OS, just because it's a decent bit more work to do preemptive multitasking. It's a badge of honor to have successfully implemented it.
Many RTOS support it, eg FreeRTOS’s co-routines: https://www.freertos.org/Documentation/02-Kernel/02-Kernel-f...
Android literally has a desktop Window manager now:
https://www.androidauthority.com/working-android-16-desktop-...
It’s amazing how one person kept this project alive since 1997, that’s real passion and love for coding!
I'm surprised there aren't more hand-crafted OSs popping up on HN. Agentic AI can give you the basics of an OS in 15 minutes. It gets confused when debugging assembly code, but it can give you a good framework and walk you though the remainder of the steps.
I threw myself at it for weeks and couldn't even get a blinking LED to run on the bare metal on a RPi.
The biggest problem on today's OS is I/O driver. Specifically USB driver.
I am intrigued. Go ahead and show us ONE 15 minute agentic ai os that runs on metal.
The parent commenter should get an Altair Z80 emulator with CP/M 2.2 and begin writting stuff in assembly.
Even a simple Tetris would be a daunting task.
He could even try high level languages such as T3X, which is very Pascal-like to my eyes in order to be familiar with CP/M 2.2 and after some months I would switch to Z80 assembly in order to write stuff for CP/M.
These AI's would be clueless about T3X OFC, or almost, because of the nasty scrappers. Still, it would be an ideal exercise to avoid the AI completely. You learn by the book. Literally.
Around 1997 I learned the concept of RTFM! Obviously my father already taught me to look in the DOS and WordPerfect manuals to learn about features and commands one might use. Great learnings.
Oh and:
oh i get it, geo blocked. had to fire up tor out of spite just to have a look
Depending on how you mean it, that exists variously in at least yocto, gentoo, or ALFS. Although I should point out this (visopsys) isn't Linux distro
NixOS is what you are describing: https://nixos.org
I took an OS in college in 2006 and the big project that my prof required us to do was to make modification of visopsys. The software was primitive at that time but still had UI interface.
I emailed the author to ask some questions in my project. The author had connection with my prof and informed my prof about this. My prof told me that I was not allowed to ask the author regarding this project. So I had to figured out on my own.
It was fun to play around with and learnt how things work at deep OS level. It was a good memory for me :)
And you guys notice anything about my username? :)