💾 Archived View for gem.librehacker.com › gemlog › starlog › 20231023-0.gmi captured on 2024-03-21 at 15:21:53. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-11-04)

-=-=-=-=-=-=-

Small Operating Systems Part 2 (publ. 2023-10-23)

I was surprised there was nobody with any thoughts to share about small operating systems. Well, I learned a little more on my own. Wikipedia has a decent list of "floppy-disk based operating systems", though most of the entries are for old brands of CP/M or DOS that are only history now.

https://en.wikipedia.org/wiki/Category:Floppy_disk-based_operating_systems

As far as free software projects go, there are two main projects. I had a spare 32-bit PC available with a floppy drive, so I tried both.

FreeDOS

FreeDOS is a project, still active, which developed a DOS compatible with MS-DOS, but made up of free-software, and containg many useful operating system tools for which MS-DOS was lacking. So, it can run your old DOS games and programs, but it also provides a more practical operating system environment than MS-DOS, including more tools for developing programs (compilers and such like).

FreeDOS

As far as floppy-based distribution, the full operating system suite requires six 1.44 MB floppy disks, though you can boot into the operating system using just the first disk, the boot disk, without installing anything to a hard drive. This gives access to all the basic file system commands, but does not include much by way of other software, for which you will need to use the other disks. This was a little bit of a disappointment, as by comparison MS-DOS 6.22 includes many things on the boot disk, such as a text editor and a QBASIC IDE. But there is nothing stopping you from swapping in the other disks when you need to.

Another great thing about it is the boot disk includes a full-featured FORMAT command, which you can use to do full formatting of floppy disks. I was having a lot of trouble with the floppy disks I was using, some of which were very old disks, and some of which were manufactured in the last few years, and they had a lot of issues with I/O errors when I tried to copy data onto them at the block level. These problems all went away if I did a full (non-quick) formatting of the drive. I think this has something to do with the way that the disk drives read the disk sector markers, which are lined up when you do the formatting. At first I was doing this with an old W2K computer, but then I figured out how to do it with FreeDOS:

FORMAT /U /F:1440 A:

It then asks you to insert the disk you want to format.

KolibriOS

Kolibri is an impressive project which provides a full operating system, and a desktop environment, as well as a large suite of graphical, audio, and networking tools, all fitting on a single 1.44 MB floppy. This includes a bunch of 2D and 3D graphics demo programs, a dozen or so simple games, a variety of file managers, text editors, and development tools. I didn't have a networking cable hooked up, but I saw an IRC client and some other networking programs, and apparently there is also a working Web browser.

KolibriOS

The core of the OS is written in assembly, and I found a built-in help system which appeared to provide documentation for the kernel functions and libraries.

This small yet large OS is inspiring, as far as what can be done with a small amount of memory and storage space. I was thinking also it would be great if someone coded a Forth system on top of it.